我知道背景图像不能超出元素的范围。但是,这是我的情况:
我有一个水平列表,其中每个列表项都应该具有悬停效果,其中一个小箭头位于项目顶部。仅仅定位背景是行不通的,因为列表项与文本一样高。任何位于框外的东西都会被切断。
我读到了一个解决方案,在每个列表项中都有一个额外的元素,它只包含图像。
有没有办法简单地改变列表项的高度,例如使框更高,以便背景图像留在框内?
我知道背景图像不能超出元素的范围。但是,这是我的情况:
我有一个水平列表,其中每个列表项都应该具有悬停效果,其中一个小箭头位于项目顶部。仅仅定位背景是行不通的,因为列表项与文本一样高。任何位于框外的东西都会被切断。
我读到了一个解决方案,在每个列表项中都有一个额外的元素,它只包含图像。
有没有办法简单地改变列表项的高度,例如使框更高,以便背景图像留在框内?
这是您正在寻找的答案吗?
http://jsfiddle.net/fmpeyton/G5VVj/1/
HTML:
<ul>
<li><a href="#">Page1</a></li>
<li><a href="#">Page2</a></li>
<li><a href="#">Page3</a></li>
<li><a href="#">Page4</a></li>
<li><a href="#">Page5</a></li>
</ul>
CSS:
li{height: 50px; width:30px; margin:0 10px; float:left; list-style:none;}
li:hover{background: url('http://www.dreamtemplate.com/dreamcodes/web_icons/gray-bold-up-arrow-icon.png') top center no-repeat;}
a{padding:20px 0; display:block;}
策略是在元素中包含一个元素,并为父元素提供一个:hover
伪类,该类在悬停时更改背景。