diaplay:table布局神器的绝妙应用场景

  发布时间:2023-09-12 15:39:35   作者:Hayley2016   我要评论
display:table布局可以实现一些其他布局比较难实现的场景,本文就主要介绍了diaplay:table布局神器的绝妙应用场景,具有一定的参考价值,感兴趣的可以了解一下

一、CSS display属性与表格布局相关的属性值解释

  • table    此元素会作为块级表格来显示(类似 <table>),表格前后带有换行符。
  • table-row-group    此元素会作为一个或多个行的分组来显示(类似 <tbody>)。
  • table-header-group    此元素会作为一个或多个行的分组来显示(类似 <thead>)。
  • table-footer-group    此元素会作为一个或多个行的分组来显示(类似 <tfoot>)。
  • table-row    此元素会作为一个表格行显示(类似 <tr>)。
  • table-column-group    此元素会作为一个或多个列的分组来显示(类似 <colgroup>)。
  • table-column    此元素会作为一个单元格列显示(类似 <col>)
  • table-cell    此元素会作为一个表格单元格显示(类似 <td> 和 <th>)
  • table-caption    此元素会作为一个表格标题显示(类似 <caption>)

二、等高三栏布局

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
    </style>
    <style>
        .main {
            display: table;
            border-collapse: collapse;
        }
        .nav {
            display: table-cell;
            width: 180px;
            background-color: red;
        }
        .extras {
            display: table-cell;
            width: 180px;
            padding-left: 10px;
            border-right: 1px dotted #d7ad7b;
            background-color: #d7ad7b;
        }
        .content {
            display: table-cell;
            width: 380px;
            padding-left: 10px;
            background-color: aqua;
        }
    </style>  
</head>
<body>
<div class="wrapper">
    <div class="main">
        <div class="nav">
            <p>1</p>
            <p>2</p>
        </div>
        <div class="extras">
            <p>1</p>
            <p>2</p>
            <p>3</p>
        </div>
        <div class="content">
            <p>1</p>
            <p>2</p>
            <p>3</p>
            <p>4</p>
        </div>
    </div>
</div>
</body>
</html>

三、等高栅格布局

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
    </style>
    <style>
        .grid {
            display: table;
            border-spacing: 10px;
            background-color: orangered;
        }
        .row {
            display: table-row;
        }
        .image {
            display: table-cell;
            width: 120px;
            background-color: #000;
            padding: 8px;
        }
        .image img {
            width: 100%;
        }
        .image p {
            color: #ffffff;
            padding-top: 8px;
        }
    </style>
</head>
<body>
<div class="grid">
    <div class="row">
        <div class="image">
            <img src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1287814793,457485829&fm=26&gp=0.jpg">
            <p>描述1</p>
            <p>描述2</p>
        </div>
        <div class="image">
            <img src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1287814793,457485829&fm=26&gp=0.jpg">
            <p>描述1</p>
        </div>
    </div>
    <div class="row">
        <div class="image">
            <img src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1287814793,457485829&fm=26&gp=0.jpg">
            <p>描述1</p>
        </div>
        <div class="image">
            <img src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1287814793,457485829&fm=26&gp=0.jpg">
            <p>描述1</p>
            <p>描述2</p>
            <p>描述3</p>
        </div>
    </div>
</div>
</body>
</html>

四、多行文本垂直居中

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
    </style>
    <style>
        .article {
            display: table;
            width: 300px;
            height: 300px;
            background-color: yellow;
        }
        .multiline {
            display: table-cell;
            background-color: blueviolet;
            vertical-align: middle;
        }
    </style>
</head>
<body>
<div class="article">
    <p class="multiline">申请原创将启用(Creative Commons )版权模板,如果不是原创文章,请选择转载或翻译 原创文章默认开启打赏, 打赏管理</p>
</div>
</body>
</html>

 五、display: table属性布局和table元素布局的区别?

一般的,不推荐使用table元素进行页面布局。table元素在HTML当中是一个包含语义的标签:它描述什么是数据。因此,你只能用它来标记那些需要制表的数据,例如一张财务信息表。如果数据能够以电子表格的形式保存在你的电脑中,那它在HTML文档中很可能需要用到table标签进行标记。

display的table属性值只是声明了某些元素在浏览器中的样式——它不包含语义。如果使用table元素来进行布局,它将会告诉客户端:这些数据是制表的。使用一些display属性被设置为table和table-cell之类的div标签,除了告诉客户端以某种特定的样式来渲染它们以外,不会告诉客户端任何语义,只要客户端能够支持这些属性值。
当然,我们同样还要注意,当真的需要制表数据的时候,不要使用一大堆被声明为display:table;的div元素

CSS表格除了包含table布局的普通规则之外,同时还有着CSS table布局的超强特性:缺少的表格元素会被浏览器以匿名方式创建。

到此这篇关于diaplay:table布局神器的绝妙应用场景的文章就介绍到这了,更多相关diaplay:table布局内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

相关文章

  • CSS盒子模型、圆角边框、盒子阴影效果实现

    盒子模型是网页布局的基础,包括边框、外边距、内边距和实际内容,通过CSS可以控制盒子之间的距离及其外观,如边框样式、边框颜色等,重要属性包括padding和margin,分别控制内
    2024-10-18
  • CSS盒子模型、圆角边框、盒子阴影效果实现

    盒子模型是网页布局的基础,包括边框、外边距、内边距和实际内容,通过CSS可以控制盒子之间的距离及其外观,如边框样式、边框颜色等,重要属性包括padding和margin,分别控制内
    2024-10-18
  • CSS使用filter和backdrop-filter实现高斯模糊效果(示例代码)

    本文详细介绍了CSS3中的两个实现高斯模糊效果的API:filter和backdrop-filter,filter可以直接在图像或背景图上添加多种效果,而backdrop-filter则用于在元素后的区域添加效
    2024-09-26
  • CSS 中的overscroll-behavior属性详解

    overscroll-behavior是CSS中用于控制元素滚动边界行为的属性,可通过设置为auto、contain或none来指定当元素滚动超出边界时的处理方式,本文给大家介绍CSS 中的overscroll-be
    2024-09-26
  • css实现四角边框效果

    本文介绍了如何通过CSS实现具有四角边框的效果,使用了linear-gradient和background属性来创建边框,并设置了背景尺寸,文章还提供了Vue中图片资源引用的示例代码,适合想要为
    2024-09-24
  • CSS的:required和:optional伪类:如何增强表单字段的视觉识别

    在网页设计中,使用CSS的:required和:optional伪类可以有效增强表单字段的视觉识别,提升用户体验和表单的可访问性,这两个伪类分别用于区分必填和非必填字段,通过添加不同的
    2024-09-18
  • css边框修饰实现代码

    本文介绍了CSS中设置边框的几种主要属性,包括边框样式(如实线、虚线等)、边框宽度(可以单独设置每个方向的宽度)、边框颜色(支持单独为每个方向设置颜色)以及圆角边框
    2024-09-18
  • 如何利用CSS实现视差滚动和抖动效果

    通过CSS3和JS,实现前端炫酷的视差滚动和抖动效果,本文详细介绍了相关CSS样式和JS脚本,通过监听滚动条位置并调整元素的top属性来达到视差效果,当到达特定位置时,利用CSS动画
    2024-09-13
  • CSS文本超出后隐藏并显示省略号及其他浏览器兼容方案(推荐)

    在CSS中,可以通过简单的样式设置实现文本超出隐藏并显示省略号的效果,这些方法主要适用于WebKit内核的浏览器,对于其他浏览器,可采用JavaScript或CSS Fallback等方案,文
    2024-09-11
  • css 自定义变量 var()案例分析

    这篇文章主要介绍了css 自定义变量 var()案例分析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,感兴趣的朋友跟随小编一起看看吧
    2024-08-28

最新评论