悬停时的背景颜色&填充

时间:2013-08-27 16:00:01

标签: html css

我在悬停时使用背景颜色,在徽标上以及在某些图像周围填充时遇到问题。

对于背景颜色,它是您在左侧导航栏上看到的徽标,即CAUL / CBUA。它的'悬停状态切换到this image,悬停的背景应该像它旁边的链接一样填满整个块。

对于图像的填充,它位于相同导航栏的右侧。它们是社交图标我敢肯定不难看出填充应该在哪里。

Here's the link to what I have so far. You can see the navigation bar here.

这是我的CSS:

/* Navigation bar */
#navi {
height: 40px;
background: #1e416f;
font-size: 14px;
color: white;
text-transform: uppercase;
margin: 0 0 20px 0;
}

#navi a:hover {
background: white;
color: #1e416f;
}

.logo {
margin: 5px;
padding: 0;
float: left;
}

.logo a {
float: left;
margin: 2px 10px;
width: 36px;
height: 26px;
background: url(/imgs/navi/caul_white_nav.png) left top no-repeat;
text-indent: -9999px;
}

.logo a:hover {
background: url(/imgs/navi-hover/caul_blue_nav.png) left top no-repeat;
}

#primary-nav, #tools-nav {
list-style: none;
margin: 0;
padding: 0;
}

#primary-nav li, #primary-nav a,
#tools-nav li, #tools-nav a { float: left; }

#primary-nav a, #tools-nav a {
color: white;
text-decoration: none;
padding: 0 10px;
border-right: 1px solid white;
line-height: 40px;
}

#primary-nav li:first-child a, #tools-nav li:first-child a {
border-left: 1px solid white;
}

#tools-nav {
float: right;
}

#tools-nav .icon a {
text-indent: -9999px;
}

#tools-nav .email a {
background: url(/imgs/navi/mail.png) no-repeat;
width: 20px;
}

#tools-nav .email a:hover {
background: url(/imgs/navi-hover/hover_mail.png) no-repeat;
width: 20px;
}

#tools-nav .twitter a {
background: url(/imgs/navi/twitter.png) no-repeat;
width: 20px;
}

#tools-nav .twitter a:hover {
background: url(/imgs/navi-hover/hover-twitter.png) no-repeat;
width: 20px;
}

#tools-nav .search a {
background: url(/imgs/navi/search.png) no-repeat;
width: 20px;
}

#tools-nav .search a:hover {
background: url(/imgs/navi-hover/hover_search.png) no-repeat;
width: 20px;
}

HTML:

<!-- NAVIGATION -->
<div id="navi">
<h1 class="logo"><a href="#">CAUL/CBUA</a></h1>

<ul id="primary-nav">
    <li><a href="#">Directories</a></li>
    <li><a href="#">Committees</a></li>
    <li><a href="#">Resources</a></li>
    <li><a href="#">About</a></li>
</ul>

<ul id="tools-nav">
    <li class="login"><a href="#">Log In</a></li>
    <li class="email icon"><a href="#">Email</a></li>
    <li class="twitter icon"><a href="#">Twitter</a></li>
    <li class="search icon"><a href="#">Search</a></li>
</ul>
</div>

4 个答案:

答案 0 :(得分:1)

试试这个:

#navi.logo {
margin: 5px;
padding: 0;
float: left;
}

#navi .logo a {
float: left;
margin: 2px 10px;
width: 36px;
height: 26px;
background: url(/imgs/navi/caul_white_nav.png) left top no-repeat;
text-indent: -9999px;
}

#navi .logo a:hover {
background: url(/imgs/navi-hover/caul_blue_nav.png) left top no-repeat;
}

答案 1 :(得分:1)

在活动和悬停时尝试此方法。 (背景位置中心)。

#tools-nav .email a {
        background: url("/imgs/navi/mail.png") no-repeat scroll center center transparent;
        width: 20px;
    }

答案 2 :(得分:1)

这可能对某人有所帮助:

.menuItem:hover 

.menuItem :hover 

不一样,小心!

答案 3 :(得分:0)

你的选择器被覆盖了CSS Selector范围/顺序。更具体的覆盖更普遍的那些,在这种情况下,#navi a:hover覆盖,.logo a:hover使您的悬停影响不起作用。你被覆盖的财产是background,将其更改为background-color: white;,你会没事的