我一直在做一个类似Suckerfish的下拉菜单。现在我已经把下拉菜单的一侧弄好了,但是我想在链接的两侧放一些图片。目前我是使用一个大小与图片相同的div,然后将background-image属性设置为所需的图片(这样可以使用伪类:hover来更改图片)。
以下是应用的CSS样式:
我不确定是我的代码出了问题,还是我走错了方向。它在Firefox、Safari和Chrome中都能正常工作,但在IE和Opera中却不行,所以我不确定它们是在弥补愚蠢还是其他什么。理想情况下,第二张图片应该贪婪地向右浮动在包含块中。在有问题的浏览器中,它会在下一行(至少在最右边)显示。
以下是应用的CSS样式:
ul#menu3 li {
color: #000000;
float: left;
/*I've done a little playing around here, doesn't seem to do anything*/
position: relative;
/*margin-bottom:-1px;*/
line-height: 31px;
width: 10em;
padding: none;
font-weight: bold;
display: block;
vertical-align: middle;
background-image: url(../../images/dropdown/button-tile.gif);
}
.imgDivRt {
width: 20px;
height: 31px;
display: inline;
float: right;
vertical-align: middle;
background-image: url(../../images/dropdown/button-right.gif);
}
.imgDivLt {
width: 20px;
height: 31px;
display: inline;
float: left;
vertical-align: middle;
background-image: url(../../images/dropdown/button-left.gif);
}
我之前使用选择器来节省一些不同类的开销,但是Internet Explorer似乎不支持它们 :(
这是我应用的HTML代码:
<li><div class="imgDivLt"></div>Option 1<div class="imgDivRt"></div>
<ul>
<li><a href="#"><div class="imgDivLt"></div>Sub 1<div class="imgDivRt"></div></a>
<ul>
<li><a href="#"><div class="imgDivLt"></div>Sandwich<div class="imgDivRt"></div></a></li>
<li><a href="#"><div class="imgDivLt"></div>Sandwich<div class="imgDivRt"></div></a></li>
<li><a href="#"><div class="imgDivLt"></div>Sandwich<div class="imgDivRt"></div></a></li>
<li><a href="#"><div class="imgDivLt"></div>Sandwich<div class="imgDivRt"></div></a></li>
<li><a href="#"><div class="imgDivLt"></div>Sandwich<div class="imgDivRt"></div></a></li>
<li><a href="#"><div class="imgDivLt"></div>Sandwich<div class="imgDivRt"></div></a></li>
</ul>
</li>
<li><a href="#"><div class="imgDivLt"></div>Sub 2<div class="imgDivRt"></div></a>
<ul>
<li><a href="#"><div class="imgDivLt"></div>Sub 1<div class="imgDivRt"></div></a></li>
<li><a href="#"><div class="imgDivLt"></div>Sub 2<div class="imgDivRt"></div></a> </li>
<li><a href="#"><div class="imgDivLt"></div>Sub 3<div class="imgDivRt"></div></a></li>
<li><a href="#"><div class="imgDivLt"></div>Sub 4<div class="imgDivRt"></div></a></li>
<li><a href="#"><div class="imgDivLt"></div>Sub 5<div class="imgDivRt"></div></a></li>
<li><a href="#"><div class="imgDivLt"></div>Sub 6<div class="imgDivRt"></div></a></li>
</ul>
</li>
<li><a href="#"><div class="imgDivLt"></div>Sub 3<div class="imgDivRt"></div></a></li>
<li><a href="#"><div class="imgDivLt"></div>Sub 4<div class="imgDivRt"></div></a></li>
<li><a href="#"><div class="imgDivLt"></div>Sub 5<div class="imgDivRt"></div></a></li>
<li><a href="#"><div class="imgDivLt"></div>Sub 6<div class="imgDivRt"></div></a></li>
</ul>
</li>
<li><div class="imgDivLt"></div>Option 2<div class="imgDivRt"></div>
我不确定是我的代码出了问题,还是我走错了方向。它在Firefox、Safari和Chrome中都能正常工作,但在IE和Opera中却不行,所以我不确定它们是在弥补愚蠢还是其他什么。理想情况下,第二张图片应该贪婪地向右浮动在包含块中。在有问题的浏览器中,它会在下一行(至少在最右边)显示。
内联
的span
,而不是自然是块级
的div
。 - Heretic Monkeyspan
和clear:both
,但是clear
需要在特定类型的元素上使用吗? - Riet