CSS
#wrapper .tn{
width:auto;
height:20px;
line-height:20px;
float:left;
padding:5px 2px 5px 5px;
margin:0 5px 10px;
font-weight:bold;
background:#f0f0f0;
}
HTML
<div id="wrapper">
<div class="tn">Text</div>
<div class="tn">Text</div>
<div class="tn">Text</div>
</div>
以上代码在FF,Chrome,Safari,Opera,IE9,IE8中运行顺畅。但是IE7存在问题。 Div不会根据文本扩展。它将包装div作为宽度覆盖。我该如何解决这个问题?
答案 0 :(得分:1)
对我来说很好,使用IE7开发人员工具查看,您可以尝试使用display: inline-block;
代替float
#wrapper .tn{
height:20px;
line-height:20px;
padding:5px 2px 5px 5px;
margin:0 5px 10px;
font-weight:bold;
background:#f0f0f0;
display: inline-block;
}
答案 1 :(得分:0)
我假设你所说的div是#wrapper? #wrapper没有扩展,因为你需要清除浮动
查看HTML5 Boilerplate中的clearfix类(https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css)
.clearfix:before,
.clearfix:after {
content: " "; /* 1 */
display: table; /* 2 */
}
.clearfix:after {
clear: both;
}
/*
* For IE 6/7 only
* Include this rule to trigger hasLayout and contain floats.
*/
.clearfix {
*zoom: 1;
}
在代码中这样做:
<div id="wrapper" class="clearfix">
<div class="tn">Text</div>
<div class="tn">Text</div>
<div class="tn">Text</div>
</div>