我在这里看了很多不同的答案,它们似乎都归结为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中。)
答案 0 :(得分:22)
添加
margin: auto;
到你的input[type=text], input[type=password]
班。
另外请务必删除text-align: center;
属性,因为这会导致输入中的文本居中。
答案 1 :(得分:2)
修改margin
元素的input
声明,以auto
和margin-left
使用margin-right
:
#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;
}
答案 2 :(得分:2)
text-align对块元素不起作用。移除display:block
上的input[type=text], input[type=password]
或将其更改为display:inline-block
。请注意,内联块不适用于&lt; IE7。
或者由于您在输入中声明了宽度,因此您可以移除text-align:center
并使用margin: 0 auto 1em auto;
答案 3 :(得分:0)
它基于90%输入[type = text],输入[type =密码] css值居中。您可以使用固定宽度定义,或者对于液体布局,将其设置为100%宽度并调整其边距。