CSS:如何使文本周围的背景颜色不与文本齐平?

时间:2013-08-02 03:23:52

标签: css menu background hover

我是CSS和网站设计的新手。请参阅本页左侧的菜单: 当您将鼠标悬停在菜单元素上时,文本周围的背景会变为白色,但我希望整个行和文本下方的一点点变为白色,类似于顶部菜单。这是我的代码:

.child-sidebar-menu
{
    background-color: #DEDEDE;
}

.advanced-sidebar-menu ul li a{

text-decoration: none;
color: black;
border-bottom: 0px;
}

.advanced-sidebar-menu ul li a:hover{
text-decoration: none;
border-bottom: 0px;
}

.advanced-sidebar-menu li > ul li a:hover
 {
   color: black;
background-color: white;
 }

.advanced-sidebar-menu ul ul li a{
font-weight: normal;
font-size: 100%;
border-bottom: 0px;
}

.advanced-sidebar-menu ul{
margin: 0 0 0 0px;
list-style: none;
list-style-type: none;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
border-bottom: 0px;
line-height: 200%;
}

.advanced-sidebar-menu ul li{
    list-style:none;
    list-style-type: none;
border-bottom: 0px;


}

.advanced-sidebar-menu li.current_page_item{

    list-style-type: none;
border-bottom: 0px;
}

.advanced-sidebar-menu li.current_page_item a{
    font-weight: bold;
border-bottom: 0px;
}

任何简单的方法吗?它与边界和边距有关吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

我尝试过播放你的网站并想出了这个,希望这就是你想要的。改变你的

.advanced-sidebar-menu li > ul li a:hover
 {
   color: black;
background-color: white;
 }

.advanced-sidebar-menu li > ul li:hover
 {
   color: black;
background-color: white;
 }

答案 1 :(得分:0)

检查此JSFiddle:http://jsfiddle.net/D5sdT/

关键点是:

  1. 制作<a>代码display : block。这将允许<a>占据完整的水平空格li
  2. padding移除margin<li>。而是将其提供给<a>