我一直在为公司网站开发一个新页面,并且已经成功地完全按照指定的方式设置了表单样式。该表单在IE7以外的所有浏览器中都能正确显示,但尽管StackOverflow和Google搜索了多个关键字,但我无法找到任何类似的问题或解决方案。
我试图在jsfiddle中复制行为,但没有运气。相反,我将附上前后行为的两个屏幕截图,以及相关代码的片段。
第一张图片显示了表单的外观,以及浏览器首次加载页面时的显示方式。但是,表单行为有些不稳定,以下更改在用户开始输入输入框或单击提交时生效,看似随机。
这是我正在使用的HTML代码,没什么特别的:
<form id="enquiry" action="/guides/thanks" method="post">
<div>
<ul>
<li>
<label for="firstname">First name*:</label>
<input id="firstname" type="text" name="firstname" size="40" value="{{firstname | escape }}" {{ is_missing("firstname") }} />
</li>
<li>
<label for="lastname">Last name*:</label>
<input id="lastname" type="text" name="lastname" size="40" value="{{lastname | escape }}" {{ is_missing("lastname") }} />
</li>
<li>
<label for="email">Email*:</label>
<input id="email" type="text" name="email" size="40" value="{{email | escape }}" {{ is_missing("email") }} />
</li>
<li>
<label for="email2">Confirm email*:</label>
<input id="email2" type="text" name="email2" size="40" value="{{email2 | escape }}" {{ is_missing("email2") }}/>
</li>
<li>
<label for="organization">organization*:</label>
<input id="organization" type="text" name="organization" size="40" value="{{organization | escape }}" {{ is_missing("organization") }}/>
</li>
<li>
<label for="position">Job title:</label>
<input id="position" type="text" name="position" size="40" />
</li>
<li>
<label for="country">Country*:</label>
<select id="country" name="country" value="{{country | escape }}" {{ is_missing("country") }}>
<option value="">Choose…</option>
<option disabled="disabled" value="">----</option>
<option value="US">United States</option>
<option disabled="disabled" value="">----</option>
<option value="AF">Afghanistan</option>
...
<option value="ZW">Zimbabwe</option>
</select>
</li>
<br>
<div>
<li class="submit-row">
<input class="link-button download-button" type="submit" value="Submit your details" />
<br><br><input class="link-button" type="submit" value="Submit your details" />
</li>
</form>
尽可能多的相关CSS(#primary-content是容器div):
li label {
margin-left: -115px;
}
form#enquiry ul li input.link-button {
margin-left: 110px;
}
.missinginput {
border : red;
}
form#enquiry p.error-tip {
left: 350px;
}
#primary-content form {
font-size:90%;
}
#primary-content form fieldset {
border: 1px solid #ddd;
padding: 6px;
margin-bottom: 10px;
margin-top: 10px;
}
#primary-content form fieldset legend {
padding-left: 5px;
padding-right: 5px;
font-weight: bold;
margin-bottom: 5px;
}
#primary-content form label {
padding-right: 5px;
font-weight: bold;
margin-bottom: 5px;
}
#primary-content form fieldset dl, dl#form-dl {
margin: 0;
padding: 5px;
}
#primary-content form fieldset dl dt, dl#form-dl dt {
clear: both;
float: left;
padding-top: 5px;
}
#primary-content form fieldset dl dd, dl#form-dl dd {
padding-top: 5px;
margin-left: 210px;
}
非常感谢任何帮助,谢谢。
答案 0 :(得分:0)
此问题已得到解决。我发现了
的宽度form#enquiry ul li label
对象在我的CSS中的其他位置设置为220px,并与
结合使用li label {
margin-left: -115px;
}
造成了问题。将宽度设置为125px,将margin-left设置为0px似乎已解决了问题。