5

我的 HTML 如下所示:

<div class="item">
    <div class="check">
      <input type="checkbox">
    </div>
    <div class="descr"> ... </div>
    <div class="details"> ... </div>
</div>

如何div.check水平和垂直对齐中间的复选框?".item"( div的高度是动态的)

4

3 回答 3

7

这是不需要 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/

于 2013-07-02T13:25:50.953 回答
3

尝试用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获取更多信息。

于 2013-07-02T12:57:10.783 回答
0
position:relative; margin-left:auto; margin-right:auto; top..bottom etc

如果那不起作用

position:absolute; left:50%; right:50%;
于 2013-07-02T12:57:03.553 回答