在悬停时更改背景颜色

时间:2016-06-06 07:49:11

标签: html css

我正在尝试创建一个导航菜单,当我将鼠标悬停在某个项目上时,它将如下图所示。现在,盒子只用白色填充了一半,但我想用白色填充整个li。我在油漆上绘制了白色线条以显示我想填写的内容

Image http://oi63.tinypic.com/2wp2jix.jpg

CSS

.lefttabs {
    background-color: #1E1E1E;
    color: white;
    font-family: calibri;
    font-weight: bold;
    font-size: medium;
    width: 300px; 
    height: 100%;
    z-index: 1; /* Stay on top */
    padding-top: 60px; 
    /* Place content 60px from the top */
    transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
}

.lefttabs a {
    font-size: 25px;
    color: #818181;
    display: block;
    transition: 0.3s;
    font-size: medium;
    color: white;
    width: 133px;
    margin-left: 0;
    padding: 8px;
    text-decoration: none;
    line-height: 24px; 
}

.lefttabs ul {
    list-style: none;
    margin: 0 20px 0 0;
    border: 1px solid;
}

.lefttabs li {
    list-style: none; 
}

.lefttabs li a {
    list-style: none;
    display: block;
    padding: 0 0 30px 0;
    padding-left: 10px;
    padding-top: 10px; 
} 

.lefttabs a:hover {
    background-color: white;
    color: black;
}

.imga {
    width: 40px;
    height: 30px;
    margin-left: -21px;
    margin-right: 20px;
}

.lefttabs a imga {
    margin: 0 8px 0 0;
    vertical-align: middle;  /* needed */
}

HTML

<div class="lefttabs">
    <ul>
        <li>
            <a href=""><img class="imga" alt="dashboard" src="images/eve.bmp" border="0" />DASHBOARD</a>
        </li>
        <li>
            <a href=""><img class="imga" alt="Events" src="images/eve.bmp" border="0" />EVENTS</a>
        </li>
        <li> 
            <a href=""><img class="imga" alt="Vehicles" src="images/ve.bmp" border="0" />VEHICLES</a>
        </li>
    </ul>
</div>

2 个答案:

答案 0 :(得分:2)

试试这个

&#13;
&#13;
.lefttabs {
  background-color: #1E1E1E;
  color: White;
  font-family: Calibri;
  font-weight: bold;
  font-size: medium;
  width: 300px;
  height: 100%;
  z-index: 1;
  /* Stay on top */
  padding-top: 60px;
  /* Place content 60px from the top */
  transition: 0.5s;
  /* 0.5 second transition effect to slide in the sidenav */
}
.lefttabs a {
  font-size: 25px;
  color: #818181;
  display: block;
  transition: 0.3s;
  font-size: medium;
  color: White;
  width: 133px;
  margin-left: 0px;
  padding: 8px;
  text-decoration: none;
  line-height: 24px;
}
.lefttabs ul {
  list-style: none;
  margin: 0px;
  border: 1px solid;
  /* not border:1 px solid*/
  padding: 0;
  /* add this*/
}
.lefttabs li {
  list-style: none;
}
.lefttabs li a {
  list-style: none;
  display: block;
  padding: 10px 0px 30px 10px;
  /*padding-left: 10px;*/
  /*padding-top: 10px;*/
  width: 100%;
  /*add this*/
}
.lefttabs a:hover {
  background-color: White;
  color: Black;
}
.imga {
  width: 40px;
  height: 30px;
  float: left;
  margin-right: 20px;
}
.lefttabs a imga {
  margin: 0 8px 0 0;
  vertical-align: middle;
  /* needed */
}
&#13;
<div class="lefttabs">
  <ul>
    <li>
      <a href="">
        <img class="imga" alt="dashboard" src="images/eve.bmp" border="0" />DASHBOARD
      </a>

    </li>
    <li>
      <a href="">
        <img class="imga" alt="Events" src="images/eve.bmp" border="0" />EVENTS
      </a>
    </li>
    <li>
      <a href="">
        <img class="imga" alt="Vehicles" src="images/ve.bmp" border="0" />VEHICLES
      </a>
    </li>
  </ul>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

如果您希望元素采用全宽,那么如果它不是display: block元素,则需要在css中将其设置为block。在ul上,通常默认marginpadding适用于您需要清除的大多数浏览器。下面是修改后的css,包括其他一些变化......

&#13;
&#13;
  .lefttabs {
    background-color: #1e1e1e;
    color: white;
    font-family: Calibri;
    font-weight: bold;
    font-size: medium;
    width: 300px; 
    height: 100%;
    z-index:1; /* Stay on top */
    padding-top: 60px; 
    /* Place content 60px from the top */
    transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
}
.lefttabs a {
    font-size: 25px;
    color: #818181;
    display: block;
    transition: 0.3s;
    font-size:medium;
    color:White;
    margin-left: 0;
    padding: 8px;
    text-decoration: none;
    line-height: 24px;
}
.lefttabs ul {
    list-style:none;
    margin:0;
    border: 1px solid;
    padding: 0;
 }
.lefttabs li {
    list-style:none;
 }
 .lefttabs li  a {
    list-style:none;
    display:block;
    padding: 15px 20px;
    display: block;
 } 
.lefttabs a:hover {
   background-color: white;
   color: black;
 }
 .imga {
    display: inline-block;
    vertical-align: top;
    width: 40px;
    height: 30px;
    margin-right: 20px;
    margin-top: -3px;
}
.lefttabs a imga {
  margin: 0 8px 0 0;
  vertical-align: middle;  /* needed */
}
&#13;
<div class="lefttabs">
  <ul >
    <li>
      <a href=""><img class="imga" alt="dashboard" src="images/eve.bmp" border="0" />DASHBOARD</a>

    </li>
    <li>
      <a href=""> <img class="imga" alt="Events" src="images/eve.bmp" border="0" />EVENTS</a>
    </li>
    <li> 
      <a href=""> <img class="imga" alt="Vehicles" src="images/ve.bmp" border="0" />VEHICLES</a>
    </li>
  <ul>
</div>
&#13;
&#13;
&#13;