0

我有以下 jsfiddle 设置:

http://jsfiddle.net/jMrsC/1/

当移动到文件夹 2 > 文件夹 2.1 时,我在页面上有一个下拉菜单,如果您仔细查看不透明度(这很棘手,您可能需要一个好的监视器才能看到差异),会打开第二级子菜单第二个子菜单和第一个子菜单是有区别的。在 css 中,我有以下代码,它应用了不透明度:

.ddsmoothmenu ul li ul li{
  display: list-item;
  float: none;
  background: #111;
  opacity: 0.92;
}

对我来说,不透明度似乎已应用于第二个子菜单两次,并使其比第一个子菜单更透明。

请任何人帮忙,我希望第一级子菜单和第二级子菜单具有相同的不透明度。

谢谢

- - - - - - - - - - - - 更新 - - - - - - - - - - -

抱歉,我之前可能不清楚,我想对所有级别的子菜单应用一致的不透明度,而不仅仅是删除它。

谢谢

4

3 回答 3

2

问题是不透明度也适用于元素的子元素。因此,每次创建子菜单时,每次都会获得父级不透明度的 0.92。

正如 spiel 建议的那样,简单地从该行中删除不透明度可能适用于您的情况。

但是,如果您想从第 2 级开始定位子菜单,并从那里保持一致,请尝试以下操作:

按照 spiel 的建议从当前类中删除不透明度

第一的:

.ddsmoothmenu ul li ul li{
display: list-item;
float: none;
background: #111;
#opacity: 0.92; <--remove
}

然后(确保这是在您上面的代码之后)

.ddsmoothmenu ul li {
opacity: 0.50
}

==== 编辑 =====

不知道这是什么礼仪,所以我只是要进行编辑。虽然我的建议可行,但下面 VenomVendor 给出的解决方案更干净、更好。.ddsmoothmenu>ul>li>ul>li不要像我之前建议的那样做,.ddsmoothmenu ul li而是使用。

于 2013-03-22T10:00:14.827 回答
1

http://jsfiddle.net/jMrsC/5/删除ul li ul li并更新它以更新ul li

/*Sub level menu list items (alters style from Top level List Items)*/
.ddsmoothmenu ul li ul li{
 display: list-item;
 float: none;
 background: #111;
 }

.ddsmoothmenu ul li{
 opacity: .5;   /* value changed to see the difference */
 }
 .ddsmoothmenu ul li ul li{
  opacity: 1;  /* this means this class is not required, since default opacity is 1 */
 }
于 2013-03-22T10:15:05.257 回答
0

简单地消除该类中的不透明度

.ddsmoothmenu ul li ul li{
  display: list-item;
  float: none;
  background: #111;
  #opacity: 0.92;
}

在你的小提琴中工作得很好。

子菜单将其读取为使用其上方级别的 0.92 不透明度。

于 2013-03-22T09:53:05.507 回答