IE7宽度:自动发布

时间:2012-12-24 15:32:56

标签: html css internet-explorer width internet-explorer-7

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作为宽度覆盖。我该如何解决这个问题?

2 个答案:

答案 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>