我真的很喜欢这个场景,到目前为止只处理过基本的东西。我已经到处寻找了2天,但没有一个解决方案有效。或者我太愚蠢了,不能很好地执行它们......无论哪种方式,我都处于精神错乱的边缘。
我基本上有一个下拉菜单和一些非常拥挤的CSS,所以我不会在这里发布它们。这是jsfiddle http://jsfiddle.net/5k72c/
<ul>
<li><a href="#">ÜRÜNLER</a>
<div class="sub1">
<ul class="subA">
<li><a href="#">Tırmanış Malzemeleri</a></li>
<li><a href="#">Kamp Malzemeleri</a></li>
<li><a href="#">Çadır</a></li>
<li><a href="#">Uyku Tulumu</a></li>
</ul>
<ul class="subB">
<li><a href="#">Üst Giyim</a></li>
<li><a href="#">Alt Giyim</a></li>
<li><a href="#">Erkek</a></li>
<li><a href="#">Kadın</a></li>
</ul>
</div>
</li>
</ul>
我已经尝试过:之前和之后但没有任何改变。我也申请了“&gt;”仅将继承应用于直接子元素,但仅部分工作。如果没有给“a”或其他标签赋予通用风格,我怎么能完全破坏继承?
我基本上想要的是,我的下拉菜单是完全不同的东西。像这里http://lafuma.com/en/您看到实际菜单和子下拉菜单是如何不同的?我知道这是基本的,但只是让我失望。
请原谅写作的混乱。我的神经失灵了,英语不是我的母语。
非常感谢任何帮助。
答案 0 :(得分:0)
我将以答案的形式继续这一点,因为评论时间太短
所以我必须为每一个ul和li提供课程或ID
不,当然不是。很少需要用“ids和类来解决所有问题”而使一个人的HTML代码“膨胀” - 如果只是选择了一些选择器的话。
让我们看一下your fiddle中的第一个子菜单链接,即文本Tırmanış Malzemeleri
的链接。使用f.e.检查根据我的建议,我们会看到Firebug,例如,带有选择器color: #999999
的规则中的.subA li a
会显示为“划掉”并带有一条直线。这是因为带有选择器#headwrap > ul li a
的规则定义了不同的color
值 - 并且该选择器具有更高的特异性。
#headwrap > ul li a
具有0,1,0,3
的特异性,而.subA li a
具有0,0,1,2
- 因此第一个“获胜”,因此其颜色值为{{1}用于#FF8000
元素。
如何解决这个问题?
好吧,要么通过限制当前获胜的规则选择器的“覆盖范围”,比如
a
- 这只会匹配#headwrap > ul > li > a
的{{1}}个子元素,这些元素是a
的子级li
的子级,请参阅此处:http://jsfiddle.net/5k72c/1/(我在那里删除了一些原始样式,以便更好地进行概述。)
或者通过将其他选择器的特异性提高到更高的水平(或者至少相同,如果它在第一个之后)。 (在这方面,您的示例有点次优,因为ul
元素没有显示,只有#headwrap
才会显示 - 所以让我们假设有问题的选择器是ul.subA
,{{ 3}} - 适用于链接ul.subB
,仍以橙色显示。
现在,让我们将选择器.subB li a
更改为f.e. Üst Giyim
- 使其具有更高的特定性,并且链接不再是橙色,但在规则中指定为灰色:http://jsfiddle.net/5k72c/2/(是的,字体大小和其他属性不同好吧,但是那些是我现有样式表中的副作用,我没有清理;但是这个例子应该足以显示我在那里谈论的基本知识。)