【发布时间】:2012-01-26 10:57:22
【问题描述】:
我想弄清楚我是否完全误解了这里的某些东西。
我有一个菜单和子菜单(仅使用 CSS 的下拉样式,没有 javascript),出于某种原因,子菜单样式(由 .submenu li a 定义)总是以与父 a 相同的样式显示(由 #menu li a 定义) 即使子菜单 CSS 样式显示在顶部菜单样式之后。
我是否误解了 CSS 规则?我认为稍后定义的功能在较低级别会覆盖顶层(例如,内联样式将始终覆盖 style.css 样式)。我附上了 Firebug 的屏幕截图,显示删除了第 275 行定义的字体大小,以支持父 DOM 对象上第 225 行定义的样式。
我的 DOM 看起来像这样来简化它:
<ul id="menu">
<li>
<a href="http://themes.brixwork.com/westend/about-us">about us</a>
<ul class="submenu">
<li>
<a href="http://themes.brixwork.com/westend/testimonials">Testimonials</a>
</li>
</ul>
</li>
<li>
<a href="http://themes.brixwork.com/westend/listings">listings</a>
</li>
<li>
<a href="http://themes.brixwork.com/westend/mls-search">MLS® Search</a>
</li>
<li>
<a href="http://themes.brixwork.com/westend/city-guide">City Guide</a>
<ul class="submenu">
<li>
<a href="http://themes.brixwork.com/westend/city-guide/7/the-west-end-vancouver">The West End</a>
</li>
<li>
<a href="http://themes.brixwork.com/westend/city-guide/8/coal-harbour">Coal Harbour</a>
</li>
</ul>
</li>
<li>
<a href="http://themes.brixwork.com/westend/blog">blog</a>
</li>
</ul>
我的 CSS 看起来像这样。
#menu li a:link, #menu li a:visited {
color:#333;
text-decoration:none;
font-size:16px;
font-weight: bold;
padding-bottom: 3px;
text-transform: uppercase;
}
#menu li a:hover {
color:#333;
background-image: url('../images/pink_dots.png');
background-position: bottom left;
background-repeat: repeat-x;
}
#menu li a:active {
position:relative;
color:#333;
}
.submenu {
position:absolute;
left: -9999px;
display: block;
background-color: #DD2D77;
padding:0px 0px 0px 0px;
margin: 0px;
top:16px;
z-index: 20;
}
#menu li:hover .submenu {
left: -5px;
}
.submenu li {
text-align: left !important;
margin:0px !important;
padding: 2px 0px 3px 0px !important;
position:relative;
display: block;
width: auto;
float: none;
text-align: left;
}
.submenu li:hover {
}
.submenu li a:link, .submenu li a:visited {
color:#fff;
text-align: left;
font-size:12px;
font-weight: normal;
margin: 0px;
white-space:nowrap;
display: block;
padding:3px 7px 5px 7px !important;
min-width: auto;
zoom: normal;
}
.submenu li a:hover, .submenu li a:active {
color:#fff !important;
background-image: none !important;
background-color: #73AA12;
}
【问题讨论】:
-
你需要更具体。
-
当然是有意的。我是诗人:P