IE7显示未经请求的垂直空间

时间:2011-05-08 05:37:48

标签: html css internet-explorer-7 space

看看这个HTML代码。在IE7中,它显示两行类似于表格的形式,与Firefox 3.x,4和Chrome中的大致相同。现在取消注释“<! - div> abc< / div - >”然后再看一遍。现在行间距变得更大,大约1em。我不知道这是从哪里来的,以及我怎么可能避免它。我需要上面的表格来显示一些文字。如果替换< div>,效果将保持不变通过< p>。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<title></title>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8"/>
<style type="text/css">

body {
}
body, table, div {
    font-family: Arial, Helvetica, Swiss, Sans-Serif;
    font-size: 10pt;
    padding: 0;
    margin: 0;
}
div#body {
    position: relative;
    margin: auto;
    height:670px;
    width:1000px;
    margin-bottom: 10px;
    padding-bottom: 10px;

    background-color:white;
    overflow: hidden;

}

div.table {
    margin: 0;
    display: table;
}
div.tr {
    margin: 0;
    display: table-row;
    clear: both;
}
div.td {
    margin: 0;
    display: table-cell;
    float:left;  
}
div.left {
    width:150px;
}
div.right {
    width: 180px;
}

input, select {
    border: 0;
    border-right: 1px solid green; 
    border-bottom: 1px solid green; 
    background-color: #CAEBC9;
}
input.submit {
    border-top: 1px solid green; 
    border-left: 1px solid green; 
    border-right: 1px solid green; 
    border-bottom: 1px solid green; 
    background-color: #CAEBC9;
}
div#content {
    font-size: 10pt;
}
div#contentbody, div#prevnext {
    position: absolute;
    left:180px;
    width: 460px;
    padding-left: 30px;
    padding-right: 20px;
}
div#contentbody {
    top:95px;
    height:500px;
    padding-top: 0px;
    overflow: auto;
}


</style></head>
<body>
    <div id="body" style="">
        <div id="contentbody">

            <!--div>
                abc
            </div-->
<form id="form1" method="post" action="">
<div class="tr">
  <div class="td left">Datum</div>
  <div class="td right">
    <input id="input_date" name="date" value="-- date --" type="text"/>
  </div>
</div>
<div class="tr">
<div class="td left">Anzahl der Stühle</div>
<div class="td right">
<select name="anzahl_stuehle">
<option selected="selected" value="1">weniger als 2</option><option value="2">2 bis 4</option><option value="3">5 bis 6</option><option value="4">mehr als 6</option></select>
</div>
</div></form>
            </div>
    </div>

</body></html>

1 个答案:

答案 0 :(得分:2)

这是由具有以下行的DIV.TR样式引起的:

display: table-row;

Afaik IE7不支持此设置。您可以将其更改为:

display: inline-block;

这至少会删除你提到的空格。