深入理解display属性

目录

[1]block [2]inline [3]inline-block[4]none [5]list-item [6]run-in [7]table [8]inline-table [9]table-cell [10]table-caption

前面的话

  display属性在网页布局中非常常见,但经常用到的仅仅是block、inline-block、inline和none等寥寥几个属性值,本文将详细介绍display属性的各个方面

定义

  display属性用于规定元素生成的框类型,影响显示方式

  值: none | inline | block | inline-block | list-item | run-in | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-colume-group | table-column | table-cell | table-caption | inherit

  初始值: inline

  应用于: 所有元素

  继承性: 无

  [注意]IE7-浏览器不支持table类属性值及inherit

分类

block

【特征】

  [1]不设置宽度时,宽度撑满一行

  [2]独占一行

  [3]支持宽高

【标签】

<address><article><aside><blockquote><body><dd><details><div><dl><dt><fieldset><figcaption><figure><footer><form><h1><header><hgroup><hr><html><legend><menuitem><nav><ol><optgroup><option><p><section><summary><ul>

  [注意]menuitem标签只有firefox支持

【不支持的样式】

  [1]vertical-align

inline

【特征】

  [1]内容撑开宽度

  [2]非独占一行

  [3]不支持宽高

  [4]代码换行被解析成空格

【标签】

<a><abbr><area><b><bdi><bdo><br><cite><code><del><dfn><em><i><ins><kbd><label><map><mark><output><pre><q><rp><rt><ruby><s><smap><small><span><strong><sub><sup><time><u><var><wbr>

【不支持的样式】

  [1]background-position

  [2]clear

  [3]clip

  [4]height | max-height | min-height

  [5]width | max-width | min-width

  [6]overflow

  [7]text-align

inline-block

【特征】

  [1]不设置宽度时,内容撑开宽度

  [2]非独占一行

  [3]支持宽高

  [4]代码换行被解析成空格

【标签】

<audio><button><canvas><embed><iframe><img><input><keygen><meter><object><progress><select><textarea><video>

【不支持的样式】

  [1]clear

  [2]text-align

none

【特征】

  隐藏元素并脱离文档流

【标签】

<base><link><meta><title><datalist><dialog><param><script><source><style>

list-item

【特征】

  [1]不设置宽度时,宽度撑满一行

  [2]独占一行

  [3]支持宽高

run-in

  run-in是一个有意思的块/行内元素混合,可以使某些块级元素成为下一个元素的行内部分。如果一个元素生成run-in框,而且该框后面是一个块级框,那么该run-in元素将成为块级框开始处的一个行内框,run-in框格式化成另一个元素中的行内框,但它们仍从文档中的父元素继承属性

  [注意]只有safari和IE8+支持

<h3 style="display:run-in">run-in test</h3>
<p>paragraph</p>

  若run-in框后面不是块级框时,run-in框本身将成为块级框

<span style="display:run-in">run-in test</span>
<span>paragraph</span>

表格类元素

table{display: table;}
thead{display: table-header-group;}
tbody{display: table-row-group;}
tfoot{display: table-footer-group;}
tr{display: table-row;}
td,th{display: table-cell;}
col{display: table-column;}
colgroup{display: table-column-group;}
caption{display: table-caption;}

  表格类元素的display共有以上几种,<thead><tbody><tfoot><tr><col><colgroup>因为无法设置margin和padding用的较少,下面将着重介绍下<table>、<td>、<th>、<caption>这四个标签对应的display属性

table

【特征】

  [1]不设置宽度时,宽度由内容撑开

  [2]独占一行

  [3]支持宽高

  [4]默认具有表格特征,可设置table-layout、border-collapse、border-spacing等表格专有属性

inline-table

【特征】

  [1]不设置宽度时,宽度由内容撑开

  [2]非独占一行

  [3]支持宽高

  [4]默认具有表格特征,可设置table-layout、border-collapse、border-spacing等表格专有属性

table-cell

【特征】

  [1]不设置宽度时,宽度由内容撑开

  [2]非独占一行

  [3]支持宽高

  [4]垂直对齐

  [5]同级等高

table-caption

【特征】

  [1]不设置宽度时,宽度由内容撑开

  [2]独占一行

  [3]支持宽高

注意事项

【1】如果一个元素是绝对定位元素,float的值设置为none,对于浮动元素或绝对定位元素,计算值由声明值确定

【2】对于根元素,如果声明为值inline-table或table,都会得到计算值table,声明为none时则会得到同样的计算值none,所有其他display值都计算为block

时间: 2024-08-10 22:51:18

深入理解display属性的相关文章

理解display属性

理解display属性 display属性是我们在前端开发中常常使用的一个属性,其中,最常见的有: none block inline inline-block inherit 下面,我将按照顺序将上述几种属性做一个完整的讲解. 第一部分:display:none none这个值表示此元素将不被显示.比如,当我们在浏览网页时,如果看到了某个烦人的广告遮挡了我们的实现,更为可气的是,它还没有关闭的选项,这时(以chrome为例),我们就可以按下F12,打开开发者工具,点击element,然后使用左

web前端入门到实战:CSS Display属性的双值写法

display属性 display 属性用来控制一个元素及其子元素的 格式化上下文, 你应该在刚刚学习CSS的时候就知道,有些元素是块级元素,有些则是行内元素. 有了 display 属性,你就可以切换元素不同的状态.比如说,通常一个 h1 元素是一个块级元素,但是通过切换,它就能以内联元素展现. 这几年,我们也知道了Grid 布局和弹性盒布局.我们只需要将 display 属性的值设置为 display: grid 或 display: flex 就可以实现这两种布局.当 display 属性

如何理解CSS的display属性

在布局中, display 属性是最重要的CSS属性之一.其最常见的属性值有 block , inline , none , table 以及 inline-block .最近的新宠为 flex ,因为它是专门为布局创建的 display 属性.新出现的 grid (最近仍比较活跃)是另外一个指定的布局属性,其很快就会广泛被使用. 这篇文章比我预期的要长很多,你可以选择性进行阅读,但是我更希望你可以静下心来阅读整篇文章. 表内容 通过创建各种响应式设计,对于 display 以及 positio

深入理解和应用display属性(二)

四.inline-block 此类元素是inline + block的合体 1) margin和padding都有效:width和height都有效: .inline{ display: inline-block; width: 200px; background: red; margin: 10px; padding: 10px; } <div class="inline"><a>inline01</a></div> <div c

理解与应用css中的display属性

display属性是我们在前端开发中常常使用的一个属性,其中,最常见的有: none block inline inline-block inherit 下面,我将按照顺序将上述几种属性做一个完整的讲解. 第一部分:display:none none这个值表示此元素将不被显示.比如,当我们在浏览网页时,如果看到了某个烦人的广告遮挡了我们的实现,更为可气的是,它还没有关闭的选项,这时(以chrome为例),我们就可以按下F12,打开开发者工具,点击element,然后使用左上角的选择工具选中想要删

CSS Display属性与盒模型

由于HTML流式文档的特性,页面布局往往是新手最为头疼的问题之中的一个. 每一个HTML元素都会渲染为一个Box,可分为inline Box和block Box. 依据display属性的不同.Box的呈现方式又有所不同. 本文首先引入CSS盒模型.然后通过不同的display属性分别介绍Box常见的呈现方式. Box Sizing:元素大小的计算方式 在HTML中.不论什么HTML元素都会被呈现为一个矩形.该矩形由内容.内边距.边框.外边距构成.举个样例: <style> .box-demo

display属性剖析

首先display常用属性大家应该已经有所了解,这里主要对display的以下四大属性进行"详剖" none block inline inline-block 一.display:none 我们知道,display具有隐藏元素的功能,但是同样我们知道visibility: hidden也具有隐藏元素的功能,下面我们通过一个例子来看一下两者的区别: <span style="display: none;background-color: orange;width: 80

关于opacity、visibility、display属性的一道CSS面试题

https://blog.csdn.net/FE_dev/article/details/72628734 问题: 一个下拉菜单,结构如下, <!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <style> div{ width:400px; height:40px; background:red; position:relative

标签导航——display属性

定义和用法 display 属性规定元素应该生成的框的类型. 说明 这个属性用于定义建立布局时元素生成的显示框类型.对于 HTML 等文档类型,如果使用 display 不谨慎会很危险,因为可能违反 HTML 中已经定义的显示层次结构.对于 XML,由于 XML 没有内置的这种层次结构,所有 display 是绝对必要的. 注释:CSS2 中有值 compact 和 marker,不过由于缺乏广泛的支持,已经从 CSS2.1 中去除了. 默认值: inline 继承性: no 版本: CSS1