美文网首页
table布局的使用场景----等高布局

table布局的使用场景----等高布局

作者: mary_s | 来源:发表于2016-03-31 15:39 被阅读845次

    参考链接: 为何对有display: table的元素设置margin不起作用

    table布局有两个特性:

    • 同行等高
    • 宽度自动调节
    <style type="text/css"> 
       .classtd {
            display:table-cell;
            padding:30px; 
            border:1px solid #ccc;
        }
    </style>
    <div class="classtd">
       <p>大人。<br />
        其实我觉得大家别问元芳,元芳不是神人,<br />
        也不会武功,也许还是个智障,<br />
        我就不信我在这里黑元芳<br />
        他会突然飞檐走壁来到我身后<br />
        把我的头按在键盘上</p>
    </div>
    <div class="classtd">
        <p>我和左边等高</p>
    </div> 
    
    效果图

    设置几个div的样式为table-cell,那么这几个div会被视作类似表单的同一行几个td, 有相同的高度,并且无缝相接。 并且!!!设置了table-cell后的元素,再设置margin是没有用的!!因为margin对table不起作用!!!

    如果希望有缝相接,请务必按照如下结构

    <style type="css/text">
          .grandpa {   
             display: table; 
             border-collapse:separate;    
             border-spacing:5px;
          }
          .father {    
             display: table-row;
          }
          .classtd { 
              display: table-cell;  
              padding:10px; 
              border:1px solid #ccc;
          }
    </style>
    <div class="grandpa">     
        <div class="father">
              <div class="classtd">我是左边栏目</div>     
              <div class="classtd"> 
                  我是自适应的右边<br> 
                  哈哈哈<br>         
              </div>       
        </div>
    </div>
    

    那么得到的视图如下:

    爷爷元素使用separate后的效果图.png

    发现木有,使用table布局,可以轻松解决等高布局的问题。如果需要间距,则对爷爷元素使用border-collapse:separateborder-spacing:10px;便可以。

    相关文章

      网友评论

          本文标题:table布局的使用场景----等高布局

          本文链接:https://www.haomeiwen.com/subject/pabelttx.html