参考本教程:https://www.servage.net/blog/2009/03/20/create-a-cool-css-based-drop-down-menu/
我使用了外部样式表,只需在每个CSS项目之前放置#menu,如下所示:
#menu ul{
font-family: Arial, Verdana;
font-size: 14px;
margin: 0;
padding: 0;
list-style: none;}
或:
#menu ul li{
display: block;
position: relative;
float: left;}
但是,当我使用#menu引用时,菜单无法正确呈现。它使父母'li'不受CSS的影响。
有什么想法吗?
THX, 戴夫
答案 0 :(得分:3)
您的HTML就是这样:
<ul id="menu">
这意味着你的CSS必须是这样的:
ul#menu
您当前的CSS正在寻找一个UL内部的LI,其中包含ID为MENU的其他元素
答案 1 :(得分:1)
#menu ul
以ul
}为目标(id='menu'
内的任何<div id="menu">
<ul> <!-- <<-- this element is the target -->
...
</ul>
</div>
<...}
div
(id="menu"
只是一个示例,上面可以使用ul#menu
的任何元素。
ul
以此为目标(id='menu'
<ul id="menu"> <!-- <<-- this element is the target -->
...
</ul>
)...
<li>
根据评论进行修改:
引用:“...我错过了父节点周围的'框'。”
我认为您引用的节点是<ul id='menu'>
,就在父ul#menu li a
内,您根本没有将其定位到任何地方。
只需将ul#menu li a,
ul#menu ul li a {
display: block;
text-decoration: none;
color: #ffffff;
border-top: 1px solid #ffffff;
padding: 5px 15px 5px 15px;
background: #2C5463;
margin-left: 1px;
white-space: nowrap;
}
添加到您的包装样式中即可。 (注意逗号。它将两个完全独特的选择器分开,共享相同的样式。)
ul#menu
看到区别?
ul#menu li
是父母。
ul#menu li a
是父级内的第一个项目。
ul#menu li
是父母的第一个孩子内的链接。
由于<li>
定位任何&amp;所有 ul#menu
是ul#menu li a {
display: block;
text-decoration: none;
color: #ffffff;
border-top: 1px solid #ffffff;
padding: 5px 15px 5px 15px;
background: #2C5463;
margin-left: 1px;
white-space: nowrap;
}
父项的子项,您只需要一个选择器...
ul#menu {
display: block;
position: relative;
float: left;
list-style: none;
}
还要注意屏幕的整个宽度。
目标&amp;样式只是父母,添加这样的东西。
{{1}}