我的HTML代码如下:
<div class="item">
<div class="check">
<input type="checkbox">
</div>
<div class="descr"> ... </div>
<div class="details"> ... </div>
</div>
如何将复选框在
中水平垂直居中对齐?(
".item"
div的高度是动态的)em's
代替 translate
:
HTML:
<div class="check">
<input class="center" type="checkbox">
</div>
.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%);
}
position:relative; margin-left:auto; margin-right:auto; top..bottom etc
position:absolute; left:50%; right:50%;
margin:0 auto
或者margin:auto;
来代替单独命名它们。 - Jeff Noelposition: absolute
和 50%
,它只会将左上角居中。 - Kilian Stinson
display: table-cell;
这里是唯一的选项。 - Mr. Alien