display的值及作用
display的值及作用
display
属性可以设置元素的内部和外部显示类型,元素的外部显示类型将决定该元素在流式布局中的表现,例如块级或内联元素,元素的内部显示类型可以控制其子元素的布局,例如grid
或flex
。目前所有浏览器都支持display
属性,但是对于属性值的兼容性仍需注意。
外部显示
这些值指定了元素的外部显示类型,实际上就是其在流式布局中的角色,即在流式布局中的表现。
display: none
display: none;
是CSS1
规范,无兼容性问题,该属性值表示此元素不会被显示,依照词义是真正隐藏元素,使用这个属性,被隐藏的元素不占据任何空间,用户交互操作例如点击事件都不会生效,读屏软件也不会读到元素的内容,这个元素的任何子元素也会同时被隐藏。当使用该属性将元素从显示状态切换为隐藏状态时,元素不占据原本的空间,会触发浏览器的重绘与回流。为这个属性添加过渡动画是无效的,他的任何不同状态值之间的切换总是会立即生效。这种方式产生的效果就像元素完全不存在,但在DOM
中依然可以访问到这个元素,也可以通过DOM
来操作它。
display: block
display: block;
是CSS1
规范,无兼容性问题,该属性值表示此元素将显示为块级元素,此元素前后会带有换行符,元素独占一行,封闭后自动换行,默认宽度为100%
,可以指定宽度和高度,内外边距对于四个方向有效。
display: inline
display: inline;
是CSS1
规范,无兼容性问题,该属性值表示此元素会被显示为内联元素,元素会生成一个或多个内联元素框,这些框不会在自身之前或之后产生换行符,在正常流中,如果有空间,则下一个元素将在同一行上,元素排在一行,封闭后不会自动换行,不能指定高度与宽度,可以使用line-height
来指定高度,外边距对于水平方向有效,垂直方向无效,内边距对于水平方向正常有效,垂直方向只有效果,对其他元素无任何影响。
display: inline-block
display: inline-block;
是CSS2
规范,无兼容性问题,该属性值表示此元素将显示为内联块元素,该元素生成一个块元素框,该框将随周围的内容一起流动,就好像它是单个内联框一样,与被替换的元素非常相似,它等效于内联流根inline flow-root
,可以指定宽度和高度,内外边距对于四个方向有效元素排在一行,但是在回车后会有空白缝隙。
display: run-in
display: run-in;
是CSS2
规范,绝大部分浏览器都不兼容,目前这是个实验性属性值,不应该用作生产环境,该属性值表示此元素会根据上下文决定对象是内联对象还是块级对象,如果它后一个元素是block
那么它会变成inline
并和后一个元素并排,如果它后一个元素是inline
那么它会变成block
。
内部显示
这些关键字指定了元素的内部显示类型,它们定义了该元素内部内容的布局方式,需要假定该元素为非替换元素。
display: flow-root
display: flow-root;
是CSS3
规范,兼容性一般,该属性值表示此元素会生成一个块元素盒子,该元素盒子可建立一个新的块格式化上下文BFC
,定义格式化根所在的位置。
display: table
display: table;
是CSS2
规范,兼容性良好,该属性值表示此元素会作为块级表格来显示,类似<table>
,表格前后带有换行符。
display: flex
display: flex;
是CSS3
规范,目前主流浏览器都已支持,是布局的首选方案,该属性值表示此元素会作为弹性盒子显示,在外部表现为block
,内部作为弹性盒子使用,弹性布局可以为盒状模型提供最大的灵活性。在兼容移动端浏览器的方案上,有可能需要使用display:-webkit-box;
,也就是内核前缀-box
,同样都是弹性盒子,由于各阶段草案命名的原因,其命名从box
更改为flex
,flex
是新的规范属性,此外flex
并不能完全替代box
,使用这两种方式在实际布局中会存在差异。
display: grid
display: grid;
是CSS3
规范,目前主流浏览器都已支持,该属性值表示将元素分为一个个网格,然后利用这些网格组合做出各种各样的布局。Grid
布局与Flex
布局有一定的相似性,都可以指定容器内部多个成员的位置。不同之处在于,Flex
布局是轴线布局,只能指定成员针对轴线的位置,可以看作是一维布局。Grid
布局则是将容器划分成行和列,产生单元格,然后指定成员所在的单元格,可以看作是二维布局。
display: inline-table
display: inline-table;
是CSS2
规范,兼容性良好,该属性值与display: table;
在元素内部表现相同,在元素外部显示表现为inline
。
display: inline-flex
display: inline-flex;
是CSS3
规范,目前主流浏览器都已支持,该属性值与display: flex;
在元素内部表现相同,在元素外部显示表现为inline
。
display: inline-grid
display: inline-grid;
是CSS3
规范,目前主流浏览器都已支持,该属性值与display: grid;
在元素内部表现相同,在元素外部显示表现为inline
。
display: list-item
display: list-item;
是CSS1
规范,无兼容性问题,该属性值表示将元素的外部显示类型变为block
盒模型,并将内部显示类型变为多个list-item inline
盒模型。
内部表现
table
布局模型有着相对复杂的内部结构,因此它们的子元素可能扮演着不同的角色,这一类关键字就是用来定义这些内部显示类型,并且只有在这些特定的布局模型中才有意义。
display: table-row-group
display: table-row-group;
是CSS2
规范,兼容性良好,该属性值表示此元素会作为一个或多个行的分组来显示,类似于<tbody>
。
display: table-header-group
display: table-header-group;
是CSS2
规范,兼容性良好,该属性值表示此元素会作为一个或多个行的分组来显示,类似于<thead>
。
display: table-footer-group
display: table-footer-group;
是CSS2
规范,兼容性良好,该属性值表示此元素会作为一个或多个行的分组来显示,类似于<tfoot>
。
display: table-row
display: table-row;
是CSS2
规范,兼容性良好,该属性值表示此元素会作为一个表格行显示,类似于<tr>
。
display: table-column-group
display: table-column-group;
是CSS2
规范,兼容性良好,该属性值表示此元素会作为一个或多个列的分组来显示,类似于<colgroup>
。
display: table-column
display: table-column;
是CSS2
规范,兼容性良好,该属性值表示此元素会作为一个单元格列显示,类似于<col>
。
display: table-cell
display: table-cell;
是CSS2
规范,兼容性良好,该属性值表示此元素会作为一个表格单元格显示,类似于<td>
和<th>
。
display: table-caption
display: table-caption;
是CSS2
规范,兼容性良好,该属性值表示此元素会作为一个表格标题显示,类似于<caption>
。
每日一题
https://github.com/WindrunnerMax/EveryDay
参考
https://www.runoob.com/cssref/pr-class-display.html
https://developer.mozilla.org/zh-CN/docs/Web/CSS/display
https://blog.csdn.net/pedrojuliet/article/details/69062306
display的值及作用的更多相关文章
- display值的作用分别是什么?relative和absolute分别是相对谁定位的?
display值的作用分别是什么? none:元素隐藏,不占据位置 block:该元素显示为块级元素 inline:默认,该元素会被显示为内联元素 inline-block:行内块元素 list-it ...
- 列出display的值,说明他们的作用。position的值, relative和 absolute定位原点是?
display的值: block 像块类型元素一样显示. none 像行内元素类型一样显示. inline-block 像行内元素一样显示, 但其内容像块类型元素一样显示. list-item 像块类 ...
- 你知道的display的值有多少?用了多少?
它的语法如下: display:none | inline | block | list-item | inline-block | table | inline-table | table-capt ...
- display属性值
display属性值:none 此元素不会被显示. block 此元素将显示为块级元素,此元素前后会带有换行符. inline 默认.此元素会被显示为内联元素,元素前后没有换行符. inline-bl ...
- CSS中你知道的display的值有多少?用了多少?
它的语法如下: display:none | inline | block | list-item | inline-block | table | inline-table | table-capt ...
- .get的取值特点:.get只起到取值的作用 不能对原值修改
#银行支付接口 def pay_interface(username,cost): user_dic=db_handler.select(username) if user_dic.get('bala ...
- CSS display属性的值及作用
display 的属性值有:none|inline|block|inline-block|list-item|run-in|table|inline-table|table-row-group|tab ...
- 控制span的width属性及display属性值的选择
给span设置width样式,会发现并没有改变它的宽度,但有时候我们需要给它设置固定的宽度,那么就可以设置它的display样式,改变span的显示模式就好了. span默认显示模式是inline,无 ...
- Content-Type属性的取值和作用
1.Content-Type 的值类型: 1.1 application/json:消息主体是序列化后的 JSON 字符串 1.2 application/x-www-form-urlencoded: ...
- 【react】---react中key值的作用
一.React中key值得作用 react中的key属性,它是一个特殊的属性,它是出现不是给开发者用的,而是给React自己使用,有了key属性后,就可以与组件建立了一种对应关系,简单说,react利 ...
随机推荐
- [转帖]彻底搞明白 GB2312、GBK 和 GB18030
https://zhuanlan.zhihu.com/p/453675608 日常工作的过程中,关于字符编码的问题经常让人头疼不已,这篇文章就来捋一捋关于 GB2312.GBK.GB18030 相关的 ...
- [转帖]MySQL 官方出品,比 mydumper 更快的多线程逻辑备份工具-MySQL Shell Dump & Load
MySQL 官方出品,比 mydumper 更快的多线程逻辑备份工具-MySQL Shell Dump & Load - 知乎 (zhihu.com) 目录 收起 什么是 MySQL Sh ...
- [转帖]MYSQL--表分区、查看分区
https://www.cnblogs.com/pejsidney/p/10074980.html 一. mysql分区简介 数据库分区 数据库分区是一种物理数据库设计技术.虽然分区技术可 ...
- [转帖]MinIO Client(mc)完全指南
https://www.cnblogs.com/lvzhenjiang/p/14944821.html 目录 一.获取MinIO Client(mc) 1.1 docker版 1.2 Homebrew ...
- [转帖]InnoDB Page结构详解
1导读 本文花了比较多的时间梳理了InnoDB page的结构以及对应的分裂测试,其中测试部分大部分是参考了叶老师在<InnoDB表聚集索引层什么时候发生变化>一文中使用的方法,其次,本文 ...
- CentOS上面阿里源的设置过程
1. 移除已经有的yum仓库 #原因: 公司内部部分境外网站不能访问,会提示异常. rm -rf /etc/yum.repos.d/* 2. 使用阿里源进行处理. #主要有两个, 一个是base的一个 ...
- 学习MySQL中DDL语句的修改字段与删除字段,删除表
连接本地mysql语句 mysql -hlocalhost -uroot -proot 显示表结构 语法:desc 表名 查看某一个表结构以及注释 语法:show create table 表名 sh ...
- vue3中beforeRouteEnter 的使用和注意点
beforeRouteEnter 在vue3中的使用 有些时候,我们需要在知道是从哪一个页面过来的. 然后做一些逻辑处理 比如说:从A->B,B页面需要调用接口,回填B页面中的数据 B--> ...
- git查看自己是从那个分支建的分支
可能发生的情况 很多时候,开始建分支的时候, 能够确认自己是那个分支建的,但是当写完功能之后, 再去回想,有时是忘记自己基于那个分支建的分支. 这时有一个命令的话就可以很快的定位了. 查看创建的分支来 ...
- 兄弟组件互相传递值-this.$bus.$emit与this.$bus.$on
B组件向C组件传递一个值. 一种组件间通信的方式, 适用于任意的组件间通信. 适用于任意的组件间通信. 适用于任意的组件间通信. 通过this.$bus.$emit('事件名',数据)进行提供数据 通 ...