文章目录

  • display属性的支持情况
  • display属性的作用
  • display属性值
    • 默认值 inline
    • none
    • block
    • inline-block
    • list-item
    • run-in
    • table
    • inline-table
    • table-row-group
    • table-header-group
    • table-footer-group
    • table-row
    • table-column-group
    • table-column
    • table-cell
    • table-caption
    • inherit

display属性的支持情况

现在所有主流浏览器都支持该属性。
如果规定了 !DOCTYPE,则 Internet Explorer 8 (以及更高版本)支持属性值 “inline-table”、“run-in”、“table”、“table-caption”、“table-cell”、“table-column”、“table-column-group”、“table-row”、“table-row-group”、以及 “inherit”。

display属性的作用

display属性规定了元素以何种方式展示

display属性值

该属性不支持继承! (其实想想也知道,如果支持继承的话,一个div框内的span框都是块级元素了,就违背了span的初衷了)

默认值 inline

此元素会被显示为内联元素,元素前后没有换行符。设置width,height,margin-top,margin- bottom,padding-top,padding-bottom无效;
内联元素不能设置宽高,但这也不是绝对的。
html标签中有部分标签,例如:<span/>、<a>、<em>、<img>、<input>、<label>等等都是内联元素,默认display属性均为inline,但是<img>、<input>标签的元素却可以设置宽高!因为它有内在尺寸,所以具有width和height,可以设定。

none

此元素不会被显示。
经常会考到,display:none与visibility: hidden有什么区别?

  • 都是看不见元素,但是display:none意思是不展示这个元素,该元素不占据空间,
  • 而visibility: hidden只是将该元素隐藏了,只是用户不可见而已,占据页面空间

block

此元素将显示为块级元素,此元素前后会带有换行符。
块状元素可以设置宽高。
html标签中有部分标签,例如:<div>、<p>、<ol>等等,其display属性默认为block

inline-block

行内块元素,结合了inline、block的特点,此元素前后没有换行符,可以设置宽高。

list-item

此元素会作为列表显示。
html标签中:<li> display属性默认为list-item
其它标签设置了这个属性后,就可以将其当做<ul>标签来使用了,可以设置其list-style。

run-in

此元素会根据上下文作为块级元素或内联元素显示。
这个属性从来没用过,还特地去了解了一下,看起来是个很厉害的属性,我还花了时间去测了一下,发现Chrome已经不支持该属性了,连chrome都不支持了,也木有必要深究了!

table

此元素会作为块级表格来显示(类似 <table>),表格前后带有换行符。
可能有的人会纳闷,有现成的table标签不用,为什么要设置display:table呢?
display:table解决了一部分需要使用表格特性但又不需要表格语义的情况。比如以下两种情况:

  • 父元素宽度固定,想让若干个子元素平分宽度
    这里可以使用百分比来实现,但是百分比不一定能够整除,使用display:table就不用有这种烦恼了,如下:
<style>.par{border: 1px solid black; display: table;width: 400px;}.son{display: table-cell;border: 1px solid black; }</style>
<body>
<div class="par"><div class="son">son</div><div class="son">son</div><div class="son">son</div>
</div>
</body>

效果如下:

  • 块级子元素垂直居中
    方法有很多,网上一找一堆,display:table也可以实现,不过会有一些弊端,先来看例子吧:
<style>.par{display: table;width: 200px;height: 100px;text-align: center;}.son{display: table-cell;border: 1px solid black; vertical-align: middle;}</style>
<body>
<div class="par"><div class="son">son</div>
</div>

效果如下:

我只给了son设置了边框,却显示在了和par一样宽高了,好像就是par的宽高一样。手动设置par的padding,son的宽高margin都没用,这就是display:table的弊端了:
(1)display: table时padding会失效
(2)display: table-row时margin、padding同时失效
(3)display: table-cell时margin会失效

inline-table

此元素会作为内联表格来显示(类似

),表格前后没有换行符。
inline-table一般很少用到(ie6、7不支持这个样式),表格属于block类型,独占一行,如果想要文字跟它一行显示,就要把表格设置成inline-table。
有一篇博客说:“safari及chrome垂直对齐方式为底部对齐,火狐和ie及Opera是顶部对齐”。可是我实际去测试的时候发现,IE、Opera、Chrome、Firefox对齐方式都是顶部对齐的,我们可以通过vertical-align去修改对齐方式。
举个例子:

<div><span>span</span><div style="display: inline-table;border:1px solid black;"><div>table son</div><div>table son</div><div>table son</div></div></div>

IE、Opera、Chrome、Firefox中表现如下:

table-row-group

此元素会作为一个或多个行的分组来显示(类似 )。

table-header-group

此元素会作为一个或多个行的分组来显示(类似 )。

table-footer-group

此元素会作为一个或多个行的分组来显示(类似 )。

table-row

此元素会作为一个表格行显示(类似 )。

table-column-group

此元素会作为一个或多个列的分组来显示(类似 )。

table-column

此元素会作为一个单元格列显示(类似 )

table-cell

此元素会作为一个表格单元格显示(类似 和 )

这个值会触发BFC布局
可参见我的博客 深入理解BFC

table-caption

此元素会作为一个表格标题显示(类似 )

这个值会触发BFC布局
可参见我的博客 深入理解BFC

inherit

规定应该从父元素继承 display 属性的值。

详解CSS——display各个属性值(带例子)相关推荐

  1. inline-block是html5,详解CSS display:inline-block的应用

    本文详细描述了display:inline-block的基础知识,产生的问题和解决方法以及其常见的应用场景,加深了对inline-block应用的进一步理解. 基础知识 display:inline- ...

  2. 详解CSS display:inline-block的应用(转)

    详解CSS display:inline-block的应用 阅读目录 基础知识 inline-block的问题 inline-block的应用 总结 本文详细描述了display:inline-blo ...

  3. 详解CSS float属性

    转自:http://luopq.com/2015/11/08/CSS-float/ \详解CSS float属性 Posted on 2015-11-08   |   In CSS   |   5条评 ...

  4. float属性html,详解CSS样式中的float属性

    详解CSS样式中的float属性.float是 css 样式的定位属性.我们在印刷排版中,文本可以按照需要围绕图片.一般把这种方式称为"文本环绕".在网页设计中,应用了CSS的fl ...

  5. CSS中line-height属性详解(CSS之四)

    CSS中line-height属性详解 基本概念 line-height,又称行高,指的是两行文字基线之间的距离,又可以称为这行文字所占的高度. 图中两行基线之间的距离就是行高,基线相关可以查看CSS ...

  6. html nthchild作用,详解CSS中:nth-child的用法

    前端的哥们想必都接触过css中一个神奇的玩意,可以轻松选取你想要的标签并给与修改添加样式,是不是很给力,它就是":nth-child". 下面我将用几个典型的实例来给大家讲解:nt ...

  7. html+css:display:flex属性

    博客 </a></li><li class="" title="高价值源码课程分享"><a data-report-c ...

  8. 详解 javascript中offsetleft属性的用法(转)

    详解 javascript中offsetleft属性的用法 转载  2015-11-11   投稿:mrr    我要评论 本章节通过代码实例介绍一下offsetleft属性的用法,需要的朋友可以做一 ...

  9. 详解CSS的盒模型(box model) 及 CSS3新增盒模型计算方式box-sizing

    W3C规范 一般来说,页面中的每一个元素都会形成一个矩形盒子,渲染引擎根据给定的样式确定这个盒子的呈现.通俗的来说,页面的布局就是一个个盒子的排列和摆放.掌握了盒子呈现的本质,布局也就轻而易举. 在 ...

最新文章

  1. 2021- 10 -13 AVL树的平衡调整(有parent指针) 代码逻辑
  2. nacos集群的ap cp切换_配置中心Nacos
  3. mysql使用DISTINCT进行去重
  4. c语言 sqrt求100以内素数,C语言实现判断一个数是否为素数并求100以内的所有素数...
  5. 猴子选大王 (20 分)
  6. htop进程管理工具
  7. 电能储存系统行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  8. Cortex字库文件使用
  9. 关于appium的下载安装及环境配置(含nodejs下载安装)
  10. Apizza 升级了,更好的 api 接口管理和文档编写,欢迎大家访问吐槽!!
  11. UNITY3D MMO开发指南(Lua)
  12. 例题(15.6) 细菌实验分组
  13. LaTeX入门|(1)从Word到LaTeX:LateX排版常用指令
  14. vuetify 学习第一天之v-data-table_表格组件
  15. 开源电子书项目FBReader初探(六)
  16. 封装实现电子宠物系统的企鹅类正确输入健康值和亲密度
  17. keras的seq2seq
  18. 34 Places to Get Design Inspiration - Online and Offin
  19. Ubuntu Server 20.04 LTS 安装配置 PostgreSQL
  20. 怎么才能在Mac电脑提醒事项添加提醒事项

热门文章

  1. excel换行按什么键_表格技巧—Excel如何取消自动换行
  2. 英码科技斩获第四届中国芯应用创新设计大赛一等奖
  3. Ubuntu20.04安装xfce4桌面
  4. QTableWidgetItem setText并无效果
  5. 假设一直蜗牛从井底网上爬,白天爬3米,晚上睡觉掉2米,问多少天可以爬上井上?
  6. HDU-1434--优先队列---幸福列车
  7. fgo终章服务器维护,FGO终局特异点攻略 终章配置及奖励详细介绍
  8. 轻松认识请求转发(forward)和请求重定向(Redirect)
  9. TI Sitara系列AM64x开发板(双核ARM Cortex-A53)软硬件资料规格书
  10. 《仙魔录》用户服务协议及隐私保护政策