这是我一直遇到的问题。
以下 HTML:
<form id="sy_login">
<ul class="form_column">
<li>
<input id="sy_login_username" name="sy_login_username" placeholder="Username"></input>
</li>
<li>
<input id="sy_login_passowrd" name="sy_login_password" placeholder="Password"></input>
</li>
</ul>
</form>
后跟以下 CSS:
@CHARSET "ISO-8859-1";
body {
background: #DDDDDD;
padding:0px;
margin:0px;
}
input[placeholder], [placeholder], *[placeholder] {
font-style:italic;
}
.form_column {
list-style-type: none;
padding: 0px;
margin: 10px 10px 10px 10px;
width:100%;
}
.form_column input, .form_column textarea, .form_column select {
width: 100%;
}
产生以下结果:
这是对其中一个输入字段的萤火虫检查。
据我所知,由于边距而ul
从父级中剪裁出来。form
我需要ul
包含一个边距,同时宽度为 100%,并且宽度inputs
也为 100%。
更新:
我尝试用填充替换边距,因为这会产生相同的预期效果,但看起来完全一样。我真的想避免不得不在输入本身上使用静态宽度的情况。
另一个可能对回答有用的注意事项是,这只需要在 HTML5 中工作,跨标准解决方案会很好,但在技术上没有必要。
去除宽度后:100%
现在看起来好多了。但是我已经强调了输入的问题,输入需要对文本进行填充,但是对于ul
父表单来说,它的宽度必须是动态的,而它本身必须对窗口具有动态宽度。