背景颜色css被忽略

时间:2015-03-01 17:15:04

标签: html css css-float clearfix

我有以下html:

<div id="menu">
  <ul class="sf-menu">
    <li><a href="#">Home</a></li>
    <li><a href="#">Link 2</a></li>
    <li><a href="#">Link 3</a></li>
  </ul>
</div>

background-color: silver;上的margin-bottom: 40px;<div id="menu">被忽略或被其他css代码替换。

我的CSS看起来像这样:

#menu{background-color: silver;margin-top: 40px; margin-bottom: 40px;}

#menu ul li a{padding:0px;margin:0px;font-family: Verdana, Geneva, Arial, Helvetica;}

#menu .sf-menu {position:relative;}
#menu .sf-menu, #menu .sf-menu * {margin: 0;padding: 0;list-style: none;z-index: 9499;text-shadow: none;}

#menu .sf-menu li {display:inline-block;float:left;font-size: 14px;line-height:18px;text-transform:uppercase;}
#menu .sf-menu li:last-child {margin-right: 0;}
#menu .sf-menu li:hover,#menu .sf-menu li.active {visibility: inherit;}
#menu .sf-menu li:hover,#menu .sf-menu a:focus, #menu .sf-menu a:hover, #menu .sf-menu a:active {outline:0;}
#menu .sf-menu li, .sf-menu > li:last-child {}

#menu .sf-menu li a {padding: 10px 12px 10px;display: block; text-decoration: none;}
#menu .sf-menu li a, #menu .sf-menu a:visited  {color: black;}
#menu .sf-menu li a:hover,#menu .sf-menu li.active a {color: #ffa371;}

#menu .sf-menu > li {position: relative;}
#menu .sf-menu > li:last-child {}
#menu .sf-menu > li > a {display: inline-block;}

此处链接指向jsfiddle

请帮助我了解问题所在。

1 个答案:

答案 0 :(得分:0)

您应该清除float属性,例如:

  • overflow属性#menu{overflow:auto;}

    JSFiddle

  • 或使用伪元素#menu:after{content:""; display:table; clear:both;}

    JSFiddle