我有一个导航,其中包含文本或图像的链接。我希望图像在悬停时更改,所以我在空白div内使用CSS背景。但是,我正在寻找一种不使用“position:absolute”的方法。因为包含标签不会扩大以填充其尺寸。我还想在不使用透明占位符图像的情况下执行此操作,因为我想找到更优雅的解决方案。填充空div与背景和展开父标签的尺寸
这里的的jsfiddle和代码:
http://jsfiddle.net/urhLs736/1/
<nav id="navigation">
<ul>
<li><a onclick="example1.html">PAGE 1</a></li>
<li><a onclick="example2.html">PAGE 2</a></li>
<li><a href="example3.html"><div id="nav-image"></div></a></li>
</ul>
</nav>
并为CSS:
#navigation {
z-index: 1;
background-color: #3A5E90;
color: #FFFFFF;
text-align: center;
width: 100%;
padding-top: 5px;
padding-bottom: 5px;
}
#navigation.fixed {
position: fixed;
top: 0px;
}
#navigation li {
display: inline;
}
#navigation a {
cursor: pointer;
padding-left: 3.5%;
padding-right: 3.5%;
color: #FFFFFF;
text-decoration: none;
}
#navigation a:hover {
background: #FFFFFF;
color: #3A5E90;
padding-top: 2%;
padding-bottom: 2%;
}
#nav-image {
display: inline;
background: url('https://avatars1.githubusercontent.com/u/3081095?v=2&s=72') no-repeat;
background-size: 100%;
margin-bottom: -6px;
height: 24px;
width: 100px;
}
#nav-image:hover {
height: 24px;
width: 100px;
background: url('https://avatars3.githubusercontent.com/u/5278945?v=2&s=96') no-repeat;
background-size: 100%;
}
嘿,感谢您的帮助:)很不幸,这是不太我正在寻找..我不希望指定在一个标签的宽度和高度 - 我正在寻找一种方式让这个标签正常扩展,就好像div是一个正方形一样。主要是因为我想要更干净的代码,并最终将这个想法扩大到许多图像 – 2014-09-21 21:39:10
实际上你的问题不是很清楚,这就是为什么我留下了一些东西给你试验,但你可以完全删除宽度和高度(在这种情况下,你需要添加一个元素到空div,至少使用content属性)。正如我所说,我使用宽度和高度,因为你有它,你可以使用任何东西,其中包括1000px,100%或... 0 – Devin 2014-09-21 22:11:27