0

在我的情况下,我简化了一个嵌套列表并封闭了 div,我无法更改它,它是由 drupal 菜单创建的。

我想克隆一个硬编码网站的菜单(编辑删除链接)

我将如何在子菜单中“嵌入”框( ul li ul li items ),是否可以仅在块显示的列表中?我需要他们的 z-index 吗?还是漂浮?在列表项上浮动甚至可能吗?

一般来说,我理解级联的事情,但在编写 css 时仍然很努力,几乎没有重复。一些缩短的技巧会很好。

我现在的主要问题是为什么最后一个条目(标记)的样式被覆盖。文件中的顺序是否起作用?

#block-system-main-menu .content {
    font-size: 17px;
    font-weight: bold;
}

#block-system-main-menu div ul li {
    width: 207px;
    margin: 4px 0px;
}

#block-system-main-menu div ul li {
    display: block;
    height: 38px;
    background: url(/sites/all/themes/schott/menuitembg.gif);
}

#block-system-main-menu div ul li .active-trail {
    display: block;
    height: 60px;
    background: url(/sites/all/themes/schott/menuitembg_p.png);
}

div ul li ul li.leaf {   /* both styles are overwritten */
    display: inline-block;
    background: url(/sites/all/themes/schott/subitem_passive.gif);
}
4

3 回答 3

5

最后编写的 CSS 规则是使用的,但特异性优先于级联。

关于特异性的文章: http: //css-tricks.com/specifics-on-css-specificity/

最具体的也是如此#block-system-main-menu div ul li .active-trail,并将覆盖其他规则。

于 2011-03-04T16:55:14.653 回答
2

将其更改为:

#block-system-main-menu div ul li ul li.leaf {

我对您的要求感到有些困惑,但总的来说,如果您有两条相同的规则,则将应用后者。但是,如果规则不相同,则更具体的规则将优先。

编辑:对不起,我可以看到你刚刚想通了

于 2011-03-04T16:52:01.310 回答
1

是的,CSS 的顺序肯定起了作用。在样式之后声明的任何内容都会覆盖前一个样式。此外,如果您想覆盖某种默认样式,请将它们包含在默认样式之后(无论您将它们写在同一个文件中,还是只是对您自己的样式表进行元链接)。

于 2011-03-04T16:48:37.943 回答