Jim*_*mbo 9 html css jquery-ui button
我有一个简单的按钮(如下所示),我需要在其上显示两个图片,一个在按钮文本的两侧.我正在努力创建可以在Firefox和Internet Explorer中使用的CSS!(按钮图像来自JQuery UI皮肤文件)
CSS
button div{
width:16px;
height:16px;
background-image: url(images/ui-icons_d19405_256x240.png);
}
button div.leftImage{
background-position: -96px -112px;
float: left;
}
button div.rightImage{
background-position: -64px -16px;
float: right;
}
Run Code Online (Sandbox Code Playgroud)
HTML
<button><div class="leftImage"></div><span>Button Text</span><div class="rightImage"></div></button>
Run Code Online (Sandbox Code Playgroud)
预习
火狐
替代文字http://i44.tinypic.com/auh7v7.jpg
Internet Explorer 8
Jim*_*mbo 16
这是怎么做的
理论
块元素(如DIV)虽然按创建顺序显示,但它们会将自己定位在前一个元素旁边,或者在空格不足时,在下一行.因为我们不想给按钮一个宽度(我们希望按钮根据按钮的内容自动调整大小),块元素继续出现在下一行(参见上面问题中的IE8图像).使用white-space:nowrap强制内联元素(如SPAN和EM)显示在同一行上,但被块元素忽略,因此下面的解决方案.
CSS
button{
margin: 0px;
padding: 0px;
font-family:Lucida Sans MS, Tahoma;
font-size: 12px;
color: #000;
white-space:nowrap;
width:auto;
overflow:visible;
height:28px;
}
button em{
vertical-align:middle;
margin:0 2px;
display:inline-block;
width:16px;
height:16px;
background-image: url(images/ui-icons_3d3d3d_256x240.png);
}
button em.leftImage{
background-position: -96px -112px;
}
button em.rightImage{
background-position: -64px -16px;
}
Run Code Online (Sandbox Code Playgroud)
HTML
<button><em class="leftImage"></em>Button<em class='rightImage'></em></button>
Run Code Online (Sandbox Code Playgroud)
结果
Internet Explorer 6,7,8和Firefox 1.5,2,3
替代文字http://i40.tinypic.com/14d0l86.jpg