我有这个菜单:
<div class="nav">
<ul>
<li><a href="#">HOME</a></li>
<li><a href="#">AMORTECIMENTO</a></li>
</ul>
</div>
正常的外表:
这是用户悬停菜单时的外观:
所以,我不知道如何设置CSS,假设我在菜单上有大名:“AMORTECIMENTO”
任何提示??
我试过这个,但是对于小名,菜单正在削减背景......
.nav ul li a{
display:block;
font-size:15px;
color:#000;
padding:5px 7px;
background:transparent;
text-decoration:none;
}
.nav ul li:hover{
background:url(../imagens/bola_fundo_menu.png) center no-repeat;
}
我的意图是,当用户将菜单项悬停在<li>
背景上,打开篮球,然后在<a>
标签上,背景将转到#FFF,但我有小名和大名在菜单上,所以我无法设置<li>
和<a>
标签的宽度...我认为
答案 0 :(得分:3)
以下是使用伪元素的快速示例:http://codepen.io/anon/pen/iwerJ
使用您最初发布的确切HTML,使用这样的CSS:
.nav {
background: #CCC;
font-family: Helvetica, Arial, sans-serif;
line-height: 48px;
margin: 50px auto 0;
width: 90%;
}
.nav ul:after {
clear: both;
content: '';
display: block;
}
.nav ul li {
float: left;
font-size: 14px;
list-style: none;
padding: 0 10px;
position: relative;
}
.nav ul li:hover:after {
/* Replace background with image */
background: #abc123;
/* Optionally remove radius */
border-radius: 30px;
content: '';
display: block;
position: absolute;
top: 50%; left: 50%;
margin-top: -30px;
margin-left: -30px;
height: 60px; width: 60px;
}
.nav a {
color: #333;
display: inline-block;
line-height: 180%;
padding: 0 4px;
position: relative;
text-decoration: none;
z-index: 1;
}
.nav li:hover a { background: #FFF; }
答案 1 :(得分:2)
只需设置悬停背景即可。例如:
div.nav li:hover{
background-image: url('basketball.jpg');
}
编辑: 除了背景图片之外,你还有很多问题......
答案 2 :(得分:0)
你所要做的就是写下你的css:
.nav ul li:hover
{
background-image:url('yourimage.jpg');
}
答案 3 :(得分:0)
要修复截止图像,您只需在min-width
元素上添加.nav li
即可。确保该值至少与背景图像一样宽。
您可能还想添加text-align: center
。