Div在中心?

时间:2014-05-23 08:58:12

标签: css

<li class="row">
    <div class="small-6 column center">
    <img src="test.jpg">
</div>
    <div class="small-6 column center">
        <p>hello</p>
    </div>
 </li>

我希望将hello p放在它的列的中心(垂直和水平)。

我使用样式执行此操作:

 p{
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
}

问题是,第二列与第一列的高度不同。我怎样才能做到这一点?

这是我的列样式:

.row{
    width: 100%;
    float: left;

    .column{
        width: 100%;
        position: relative;
        float: left;
        display: block;
        background: yellow;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding: 10px;
    }

        .small-1 {
            width: 8.33333%; }

        .small-2 {
            width: 16.66667%;}

        .small-3 {
            width: 25%;}

        .small-4 {
            width: 33.33333%; }

        .small-5 {
            width: 41.66667%; }

        .small-6 {
            width: 50%; }

        .small-7 {
            width: 58.33333%; }

        .small-8 {
            width: 66.66667%; }

        .small-9 {
            width: 75%; }

        .small-10 {
            width: 83.33333%; }

        .small-11 {
            width: 91.66667%; }

        .small-12 {
            width: 100%; }


}

.pull-left{
    float: left;
}
.pull-right{
    float: right;
}

.center{
    text-align: center;
}

2 个答案:

答案 0 :(得分:0)

你可以做点什么

.small-6 {
    line-height: 60px;
}

或者像这样

.small-6 {
    height: 60px;
}

将60更改为适合您的任何内容

答案 1 :(得分:0)

你有几个选择。

  1. 使用JS创建相等的高度框 - Foundation有一个例子here

  2. 将行“清除”并将文本框拉伸到其顶部和底部,如下所示:

    .box的内容{     位置:绝对;     最高:50%;     左:50%;     保证金:0;     -webkit-transform:translate(-50%, - 50%);     transform:translate(-50%, - 50%); }

  3. http://jsfiddle.net/ga24a/3/

    现在它在文本变大时相当脆弱 - 它不能强制行容器变大,只有img框可以。

    1. 使用新的超级超级duber FLEX:D
    2. http://jsfiddle.net/3n7Dj/1/

      .row {
          display: flex;
          align-items: center; 
          ...
      }