IE7错误,我的表单输入字段缩进

时间:2010-04-12 10:01:47

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

HTML

<form id="contact_form" action="#" name="" method="POST">
  <label for="name">NAME</label>
  <input type="text" name="name" id="name" class="contact_form_input" />
  <label for="email">EMAIL</label>
  <input type="text" name="email" id="email" class="contact_form_input" />
  <label for="subject">SUBJECT</label>
  <input type="text" name="subject" id="subject" class="contact_form_input" />
  <label for="message">MESSAGE</label>
  <textarea name="message" id="message"></textarea>
  <input type="submit" class="submit" name="submit" value="Submit" />
  <input type="reset" class="reset" name="reset" value="Reset" />
</form>

CSS

form#contact_form{
width:auto;
height:auto;
margin:0px;
margin-left:73px;
padding:0px;
float:left;
clear:both;
}

form#contact_form label{
float:left;
clear:both;
margin-left:3px;
margin-bottom:6px;
font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size:12px;
font-style:italic;
font-weight:bold;
}

input.contact_form_input{
width:474px;
height:36px;
margin:0px;
margin-bottom:9px;
padding:0px;
float:left;
clear:left;
}

form#contact_form textarea{
width:479px;
height:150px;
margin-bottom:9px;
float:left;
clear:left;
}

你可以在IE7中看到here文本输入得到某种“边缘左边”。我怎样才能摆脱这个边际?感谢

2 个答案:

答案 0 :(得分:3)

您最简单的选择实际上是使用以下CSS:

form#contact_form label{
display: block;
margin-left:3px;
margin-bottom:6px;
font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size:12px;
font-style:italic;
font-weight:bold;
}

但我建议你将每个输入行(包括标签)包装在块级元素中,例如<p>标记或列表项:

<form id="contact_form" action="#" name="" method="POST">
  <ul>
    <li>
      <label for="name">NAME</label>
      <input type="text" name="name" id="name" class="contact_form_input" />
    </li>
  ...
来自A List Apart的

This article是一个很好的介绍。

答案 1 :(得分:0)

我建议使用条件评论:(把它放在头脑中)

<!--[if lt IE 8]>
        <link href="IE.css" rel="Stylesheet" type="text/css"/>

    <![endif]-->

并设置一些单独的CSS _

     input.contact_form_input{
        width:474px;
        height:36px;
        margin:0px;
        margin-bottom:9px;
    margin-left:-10px;/*or whatever px distance works*/
        padding:0px;
        float:left;
/*remove clear:left;*/
    }

这就是我一直做的让IE表现出来的行为。