2

我有 2 套或更多<UL>套,只想将第一个 UL<a>设置为粗体。其实这是一个有多个子菜单的菜单,我只想把父链接加粗。

我知道可以通过添加更多的 ID 或类来完成,但这不是一个选项,只想尝试 css 方法。

<ul class="menu">
    <li class="collapsed first">
        <a title="Mechanical products" href="1">Mechanical Products</a>
    </li>
  <li class="collapsed">
    <a title="Chemicals" href="2">Chemicals</a>
  </li>
  <li class="expanded active-trail">
    <a title="Instrumentation" href="3">Instrumentation</a>
    <ul class="menu">
        <li class="leaf first">
            <a title="Control valves FISHER" href="4">Control Valves</a>
        </li>
      <li class="expanded active-trail">
        <a class="active" title="Corrosion Monitoring System" href="5">Corrosion Monitoring</a>
        <ul class="menu">
            <li class="leaf first">
                <a title="Access Fitting Assemblies" href="6">Fitting Assemblies</a>
            </li>
          <li class="leaf last">
            <a title="Coupon Holders, Coupons &amp; Probes" href="7">Holders,Coupons</a>
          </li>
        </ul>
      </li>
    </ul>
  </li>
    <li class="collapsed">
        <a title="Mechanical products2" href="8">Mechanical Products2</a>
    </li>
</ul>

在这个例子中,只有“机械产品”、“化学品”、“仪器”和“机械产品2”应该加粗。

4

4 回答 4

5

使用第一个子选择器:>

.menu > li {
    font-weight: bold;
}

并不是说如果您需要支持 IE6,则必须手动执行,因为 IE6 不支持>选择器:

.menu li a {
    font-weight: bold;
}
.menu li ul li a {
    font-weight: normal;
}
于 2012-11-13T06:32:48.993 回答
1

它可能会这样做......

ul.menu li a
{
    font-weight:bold;
}

ul.menu li ul li a
{
    font-weight:normal;
}
于 2012-11-13T06:33:28.867 回答
1

您必须使用子选择器并通过给它一些类来使顶层<ul>唯一:

ul.top-level > li > a {
   font-weight: bold;
}​

演示:http: //jsfiddle.net/kJJw9/

于 2012-11-13T06:35:26.623 回答
0

ul.menu li.collapsed a{font-weight:bold;}

于 2012-11-13T06:33:51.103 回答