これは私がいつも抱えている問題です。
次の 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%;
}
次の結果が得られます。
これは、入力フィールドの 1 つの Firebug 検査です。
私が知る限り、マージンのためにul
親から切り取られています。form
ul
100% の幅を持ちながらマージンで構成され、幅も 100% である必要がありinputs
ます。
アップデート:
マージンをパディングに置き換えようとしましたが、それは同じ意図された望ましい効果をもたらしましたが、まったく同じように見えました. 入力自体に静的な幅を使用しなければならないケースを避けたいと思っています。
回答に役立つかもしれないもう 1 つの注意点は、これは HTML5 でのみ機能する必要があるということです。クロススタンダード ソリューションは適切ですが、技術的には必要ありません。
幅除去後:100%
今ではずっと良くなっています。ただし、入力の問題を強調しました。入力にはテキストのパディングが必要ですが、幅はul
親フォームに対して動的である必要があり、ウィンドウ自体に対して動的な幅が必要です。