table的一些小知识点

  • table常见问题
<table style=" border-collapse: collapse;">
    <tbody>
    <tr style="height: 70px;border: 1px solid blue;">
       <td style="background: rosybrown;padding: 10px;">td1</td>
      <td style="background: yellow;">td2</td>
    </tr>
   </tbody>
</table>
image.png

一些小的注意的点
1 table默认显示 display:table; 设置padding无效(一般不会有人对table进行padding操作)。
2 tr默认显示 display:table-row 设置margin padding统统无效 。设置border时需要将table的table-collapse属性设置为collapse。
3 td默认为 dispaly:table-cell margin无效 而且如果对元素设置absolute 或者设置float则会导致其功能失效。

  • table-cell的无敌功能

  1. 实现两栏等高
image.png
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>帅气的zf</title>
    <style>
        #test{display: table-row;}
        #left{width:200px; background:coral;display: table-cell;vertical-align: top;}
        #right{width: 200px; background:royalblue;display: table-cell;vertical-align: top;}
    </style>
</head>
<body>
<button onclick="addLeft()">addLeft</button>
<button onclick="addRight()">addRight</button>
<div id="test">
    <div id="left"></div>
    <div id="right"></div>
</div>
<script>

    function addLeft(){
        var img = document.createElement('img');
        img.src = "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=303034169,1588595531&fm=26&gp=0.jpg";
        img.style.width = 100+"px";
        img.style.display ="block";
        img.style.padding = 50+"px";
        document.getElementById('left').appendChild(img);
    }
    function addRight() {
        var img = document.createElement('img');
        img.src = "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2585481751,3170342118&fm=26&gp=0.jpg";
        img.style.width = 100+"px";
        img.style.display ="block";
        img.style.padding = 50+"px";
        document.getElementById('right').appendChild(img);
    }
</script>
</body>
</html>

此外还有设置margin paddding的实现方式
纯CSS分栏高度一致处理
如果table-cell的父元素不是table-row的话 浏览器会创建出一个默认的table-cell 但是个人建议还是自己手写比较好

  1. table-cell的左栏固定右边自适应

原理很简单 就是简单的利用table-cell属性 便不进行赘述了
其他的实现方法请看
关于固定与自适应
个人认为 虽然table布局已经退出了人们的视线 但是不得不说 table-cell这个属性还是很有用的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容