好久都没有写博客了,似乎总是觉得少了些什么……

刚好最近在工作中遇到了一个新的东西display:table,这个也是css的布局的一种,而且又是display的,之前已经写过了display的flex,grid,现在又来一个table,是不是觉得有点多呢,哈哈,没关系,不怕多,就怕不够你用,希望你们之后在写网页的时候能够根据不同的结构选择最适合最方便最顺手的布局方式,不仅可以i提高效率还可以耍哈帅,是吧

一、display

  说了那么多display的值了,那他的值到底有多少呢?

首先来看一下display的中文意思就是陈列,展示,在页面中元素是怎么排列的呢?以行内的方式(display:inline),以块的方式(display:block),以行内块的方式(display:inline-block),以不显示的方式(display:none),这些都是最最常用的,之后比这个复杂一点儿点儿的就是以弹性布局的方式(display:flex),以网格的方式(display:grid),以表格的方式(display:table),以行内表格的方式(display:inline-table),继承父元素的方式(display:inherit)

二、display:table

  现在就是今天的重点display:table(相当于<table></table>),一起配合使用的还有

display: table-header-group;(相当于<thead></thead>)

display: table-row-group;(相当于<tbody></tbody>)

table-footer-group;(相当于<tfoot></tfoot>)

display: table-row;(相当于<tr></tr>)

display: table-cell;(相当于td)

来吧,先来看看是啥效果:

例子一:

html:

<div class="main">
  <div class="nav">nav……</div>
  <div class="extras">
extras…… extras…… extras……
<br />
extras…… extras…… extras……
  </div>
  <div class="content">content……</div>
</div>

 css:

<style>
  .main{
    outline: 3px solid teal;
    display: table;
    border-collapse: collapse;
  }
  .nav{
    display: table-cell;
    width: 180px;
    background-color: darkgoldenrod;
  }
  .extras{
    display: table-cell;
    width: 180px;
    background-color: tomato;
  }
  .content{
    display: table-cell;
    /*width: 180px;*/
    background-color: aquamarine;
  }
</style>

 结果:

解释:

  div.main作为一个table,里面放置了三个单元格 div.nav,div.extras,div.content,在宽度上会根据内容多少或设置来表现;在高度上,对齐最大的一个高度,因为在表格里面的一行,最大的一个高度会把这一行的高度给撑开。

在这个例子中有个很奇怪的点,就是他只有table和td,却没有tr,但却没有报错,这是为什么呢?这是因为浏览器会自动默认把单元放置到一个tr里面,即添加一个隐式的display: table-row;来包含display: table-cell;,所以这三个元素在一行上显示,,,

例子二:

html:

<div class="box">
  <div class="onehead">
    <div class="one">
      <div class="one-one">one-one</div>
      <div class="one-two">one-two one-two <br /> one-two one-two</div>
      <div class="one-three">one-three</div>
    </div>
  </div>
  <div class="twobody">
    <div class="two">
      <div class="two-one">two-one</div>
      <div class="two-two">two-two</div>
      <div class="two-three">two-three</div>
      <div class="two-four">two-four</div>
    </div>
  </div>
  <div class="threefoot">
    <div class="three">
      <div class="three-one"></div>
      <div class="three-two"></div>
      <div class="three-three"></div>
    </div>
  </div>
</div>

  

  

css:

<style>
  div{
    padding: 15px;
  }
  .box{
    display: table;
    outline: 3px solid darkcyan;
  }
  .onehead{
    display: table-header-group;
  }
  .one{
    background-color: darkgreen;
    display: table-row;
  }
  .one-one{
    display: table-cell;
    background-color: aquamarine;
  }
  .one-two{
    display: table-cell;
    background-color: cadetblue;
  }
  .one-three{
    display: table-cell;
    background-color: dimgrey;
  }
  .twobody{
    display: table-row-group;
  }
  .two{
    display: table-row;
  }
  .two-one{
    display: table-cell;
    background-color: salmon;
  }
  .two-two{
    display: table-cell;
    background-color: rosybrown;
  }
  .two-three{
    display: table-cell;
    background-color: sandybrown;
  }
  .two-four{
    display: table-cell;
    background-color: royalblue;
   }
  .threefoot{
    display: table-footer-group;
   }
  .three{
    display: table-row;
  }
  .three-one{
    display: table-cell;
    background-color: sandybrown;
  }
  .three-two{
    display: table-cell;
    background-color: royalblue;
  }
  .three-three{
    display: table-cell;
    background-color: burlywood;
  }
</style>

  

  

效果:

解释:这个里面用到的都是上面讲到的东西。

  以上,就是最基本的啦,就是如此美妙,就是如此的so easy……可能我的讲解或许还有不足的地方,欢迎小伙伴们帮我指出来,谢谢要是你有什么更好的意见或者建议尽管提哦,错过这个村可就没这个店咯

CSS的display:table的更多相关文章

  1. 基于CSS属性display:table的表格布局的使用

    项目改造中遇到DIV+CSS实现的table,新需求需要在表格使用单元格合并,网上调查返现CSS display:table实现的table表格,没有单元格的属性和样式,经过一番思考,曲折现实了单元格 ...

  2. CSS:display:table

    使用display:table 垂直居中需要结合display:table-cell; 和vertical-align:middle; <!DOCTYPE html> <html l ...

  3. display:table和display:table-cell的妙用

    display的table和table-cell一般情况下用的不多,所以很少有人去关注它,但他们两个联手起来会给你惊喜! 这里抛出这样一个问题,如下,让块里的多行文字垂直居中?一说到垂直居中就会想到, ...

  4. [转]基于display:table的CSS布局

    当IE8发布时,它将支持很多新的CSS display属性值,包括与表格相关的属性值:table.table-row和table-cell,它也是最后一款支持这些属性值的主流浏览器.它标志着复杂CSS ...

  5. CSS display:table属性用法- 轻松实现了三栏等高布局

    display:table:此元素会作为块级表格来显示(类似 <table>); display:table-cell属性指让标签元素以表格单元格的形式呈现,类似于td标签.目前IE8+以 ...

  6. css display table使用小例子实验

    display的下面: table: 此元素会作为块级表格来显示(类似 <table>),表格前后带有换行符. table-row 此元素会作为一个表格行显示(类似 <tr>) ...

  7. css Table布局:基于display:table的CSS布局

    两种类型的表格布局 你有两种方式使用表格布局 -HTML Table(<table>标签)和CSS Table(display:table 等相关属性). HTML Table是指使用原生 ...

  8. css display:table圣杯布局

    圣杯布局指的是一个网页由页眉,3等高列(2个固定侧栏和中心内容主体)和贴在页面底部的页脚组成. 主要思路是对整个容器使用地上diaplay:table 的css规则,然后分别对页眉页脚使用displa ...

  9. [css display],table待续

    昨天复习了flex布局,今天打算继续,才发现有display:table,今天有的点,别的先写上,其他的后补吧 css display // none 此元素不会被显示. // block 此元素将显 ...

随机推荐

  1. iOS开发中 常用枚举和常用的一些运算符(易错总结)

    1.色值的随机值: #define kColorValue arc4random_uniform(256)/255.0 // arc4random_uniform(256)/255.0; 求出0.0~ ...

  2. 什么是IOC

    什么是IOC         IOC:控制反转,控制权的转移,应用程序本身不负责对象的创建和维护,而是由外部容器负责创建和维护.        DI(依赖注入)是其一种实现方式        目的:创 ...

  3. Leetcode_7_Reverse Integer

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41578077 Reverse Integer Revers ...

  4. uploadify在火狐下上传不了的解决方案,java版(Spring+SpringMVC+MyBatis)详细解决方案

     由于技术选型的原因,在一个产品中,我选择了uploadify,选择它的原因是它有完善的技术文档说明(http://www.uploadify.com/documentation/),唯一不足的是 ...

  5. 一个炫字都不够??!!!手把手带你打造3D自定义view

    分享一则最近流行的笑话: 最新科学研究表明:寒冷可以使人保持年轻,楼下的王大爷表示虽然今年已经60多岁了,但是仍然冷的跟孙子一样. 呃.好吧,这个冬天确实有点冷,在广州活生生的把我这个原生北方人,冻成 ...

  6. JQuery实战总结三 标签页效果图实现

    在浏览网站时我们会看到当我们鼠标移到多个选项卡上时,不同的选项卡会出现自己对应的界面的要求,在同一个界面上表达了尽量多的信息.大大额提高了空间的利用率.界面的切换效果也是不错的哦,这次自己可以实现啦. ...

  7. shell,python获取当前路径(脚本的当前路径) (aso项目记录)

    一.shell获取脚本当前路径 cur_dir=$(cd "$(dirname "$0")"; pwd)  #获取当前脚本的绝对路径,参数$0是当前脚本对象 等 ...

  8. 【Android 应用开发】Android 数据存储 之 SQLite数据库详解

    . 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19028665 . SQLiteDataBase示例程序下 ...

  9. 【翻译】使用Sencha Touch开发Google Glass应用程序

    原文:Developing for Google Glass with Sencha Touch 作者:Ross Gerbasi Ross Gerbasi is a Senior Engineer a ...

  10. Dynamics CRM ISV文件夹禁用后的解决方案

    众所周知微软在CRM2011的12补丁后取消了对ISV文件夹的支持,那我们自定义开发的一些web应用或者是想部署个服务该怎么办,有的选择了另开一个站点发布.我们以服务为例这样的另开站点的发布方式会导致 ...