我的 HTML 如下所示:
<div class="item">
<div class="check">
<input type="checkbox">
</div>
<div class="descr"> ... </div>
<div class="details"> ... </div>
</div>
如何div.check
水平和垂直对齐中间的复选框?".item"
( div的高度是动态的)
这是不需要 CSS3 支持的Kilian Stinson代码的编辑。而不是translate
我使用em's
:
HTML:
<div class="check">
<input class="center" type="checkbox">
</div>
CSS:
.check {
width: 40px;
height: 80px;
outline: 1px solid red;
position: relative;
}
.center {
margin: 0;
position: absolute;
top: 50%;
left: 50%;
margin-left: -.5em;
margin-top: -.5em;
}
JSFiddle:http: //jsfiddle.net/Yzhnf/4/
尝试用css3翻译它
HTML
<input class="center" type="checkbox">
CSS
.check {
position: relative;
}
.center {
position: absolute;
margin: 0;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
请参阅这个Fiddle和一个工作示例。
起初,元素位于距左侧 50% 和距顶部 50% 的位置。然后将其设置为自身宽度和高度的 50%。
如需浏览器支持,请访问caniuse.com获取更多信息。
position:relative; margin-left:auto; margin-right:auto; top..bottom etc
如果那不起作用
position:absolute; left:50%; right:50%;