translateY,垂直对齐内容

时间:2014-11-15 16:47:04

标签: html css

我这里有一个jsfiddle - http://jsfiddle.net/0dd4gzy4/

我正在使用这种技术来垂直对齐内容 - http://zerosixthree.se/vertical-align-anything-with-just-3-lines-of-css/

它会对齐内容,但也会将其从容器中取出。

是否可以在容器中以这种方式对齐内容。

    .row{
        background: gray;
        color: white;
        min-height: 5em;
        margin: 0 0 10px 0;
    }
    p{
        color: red;
    }
    .btn{
        background: red;
        color: white;
        padding-top: 10px;
        padding-bottom: 10px;
        vertical-align: middle;
    }

    p, .btn{
      position: relative;
      top: 50%;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%);
    }

2 个答案:

答案 0 :(得分:1)

不要使用该技术垂直对齐div而是使用此

演示 - http://jsfiddle.net/0dd4gzy4/4/

用于垂直对齐div

.row div {
    display:inline-block;
    vertical-align: middle;
    float:none;
    font-size:15px;
}

用于修复响应式设计

@media screen and (max-width: 720px) {
    .row div {
        width:100%;
    }
}

答案 1 :(得分:0)

简短答案您还需要为父级添加样式。

LONG ANSWER -
将样式添加到div

的直接子项的.row
.row > div
{
    border: 1px solid yellow; /* to see what is going on. delete this if you may */
    height: 100%;
    position: relative;
}

添加后,p.btn知道要引用的高度

FIDDLE