私はここでいくつかの異なる答えを見てきましたが、それらはすべてtext-alignに要約されているようです:親divのスタイルの中心です。私はそれを試しましたが、ラベルでは機能しますが、実際の入力要素では機能しません。
基本的なコードは次のとおりです。
html
<div id="content">
<div id="login_form">
<h2>Log in to DOT Voting</h2>
<form>
<label for="username">Username</label>
<input type="text" name="username" value="" />
<label for="password">Password</label>
<input type="password" name="password" value="" />
<input type="submit" name="submit" value="Log In" />
</div>
</div>
css
#login_form {
width:90%;
background-color: #bdd2ff;
border: 1px solid white;
margin: 50px auto 0;
padding: 1em;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
text-align: center;
}
input[type=text], input[type=password] {
text-align:center;
display: block;
margin: 0 0 1em 0;
width: 90%;
border: 1px solid #818181;
padding: 5px;
}
input[type=submit] , form a {
border: none;
margin-right: 1em;
padding: 6px;
text-decoration: none;
font-size: 12px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
background: #cfdeff;
color: black;
box-shadow: 0 1px 0 white;
-moz-box-shadow: 0 1px 0 white;
-webkit-box-shadow: 0 1px 0 white;
}
input[type=submit]:hover, form a:hover {
background: #007cc2;
cursor: pointer;
}
Login_form divはページの中央に配置され、フォームラベルはdivの中央に配置され、送信ボタンはdivの中央に配置されます。ただし、テキスト入力ボックスは中央に配置されていません。それらを中央に強制するために何ができますか? (入力ボックスの内容が中央に配置されているかどうかは関係ありません。ボックス自体をdivの中央に配置したいだけです。)
追加
margin: auto;
input[type=text], input[type=password]
クラスに。
また、入力のテキストが中央に配置されるため、必ずtext-align: center;
属性を削除してください。
text-alignはブロック要素では機能しません。 display:block
のinput[type=text], input[type=password]
を削除するか、display:inline-block
に変更します。インラインブロックは<IE7では機能しないことに注意してください。
または、入力で幅が宣言されているため、text-align:center
を削除してmargin: 0 auto 1em auto;
を使用できます。
margin
要素のinput
宣言を修正して、margin-left
およびmargin-right
にauto
を使用します。
#login_form {
width:90%;
background-color: #bdd2ff;
border: 1px solid white;
margin: 50px auto 0;
padding: 1em;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
text-align: center;
}
input[type=text], input[type=password] {
text-align:center;
display: block;
margin: 0 auto 1em auto;
width: 90%; /*280px;*/
border: 1px solid #818181;
/* -moz-border-radius: 1px;
-webkit-border-radius: 1px; */
padding: 5px;
}
input[type=submit] , form a {
border: none;
margin-right: auto;
margin-left: auto;
padding: 6px;
text-decoration: none;
font-size: 12px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
background: #cfdeff;
color: black;
box-shadow: 0 1px 0 white;
-moz-box-shadow: 0 1px 0 white;
-webkit-box-shadow: 0 1px 0 white;
}
input[type=submit]:hover, form a:hover {
background: #007cc2;
cursor: pointer;
}
これは、90%のinput [type = text]、input [type = password] css値に基づいて中央に配置されます。固定幅で定義することも、液体レイアウトの場合は100%幅に設定して、マージンを調整することもできます。