如何理解CSS的display属性
如何理解CSS的display属性
display属性是我们在前端开发中常常使用的一个属性,其中,最常见的有:
none
block
inline
inline-block
inherit
下面,我将按照顺序将上述几种属性做一个完整的讲解。
第一部分:display:none
none这个值表示此元素将不被显示。比如,当我们在浏览网页时,如果看到了某个烦人的广告遮挡了我们的实现,更为可气的是,它还没有关闭的选项,这时(以chrome为例),我们就可以按下F12,打开开发者工具,点击element,然后使用左上角的选择工具选中想要删除的广告,可以看到element中会有高亮的一行或几行代码,右键,点击Add Attribute,然后输入:style="display:none",这时就可以发现广告不见啦! 当然display:none的用法绝不是专门用于这里的,它还可以用于二级下拉菜单的制作中将二级下拉菜单先设置位display:none,当鼠标滑过一级菜单时,再显示出来(详见《如何实现导航菜单中的二级下拉菜单》)。还可以用于登陆模态框的制作等等。
第二部分:display:block
使用了display:block之后, 此元素将显示为块级元素,此元素前后会带有换行符。我们先来回顾以下块级元素是什么,他有什么特点。
既然要区分块级元素和行内元素,就得先说说标准文档流了。标准文档流:简称标准流,指的是在不使用其他的与排列和定位相关的css规则时,各种元素的排列规则。于是,我们将“各种元素”分为块级元素和行内元素。(注:实际上还有空元素,如
用于换行,
为一条水平线,这里对空元素不做过多讨论)
块级元素特点:
总是以一个块的形式表现出来,占领一整行。若干同级块元素会从上之下依次排列(使用float属性除外)。
可以设置高度、宽度、各个方向外补丁(margin)以及各个方向的内补丁(padding)。
当宽度(width)缺省时,它的宽度时其容器的100%,除非我们给它设定了固定的宽度。
块级元素中可以容纳其他块级元素或行内元素。
常见的块级元素由
块级元素的display属性值默认为block。
行内元素特点:
它不会单独占据一整行,而是只占领自身的宽度和高度所在的空间。若干同级行内元素会从左到右(即某个行内元素可以和其他行内元素共处一行),从上到下依次排列。
行内元素不可以设置高度、宽度,其高度一般由其字体的大小来决定,其宽度由内容的长度控制。
行内元素只能设置左右的margin值和左右的padding值,而不能设置上下的margin值和上下的padding值。因此我们可以通过设置左右的padding值来改变行内元素的宽度。
常见的行内元素由
行内元素一般不可以包含块级元素。
块级元素的display属性值默认为inline。
ok!简单回顾了块级元素和行内元素之后,我们就可以进行下一步讲解了。
通过对一个行内元素设置display: block可以将行内元素设置为块级元素,进而设置它的宽高和上下左右的padding和margin。
应用:
如果我们经常会制作导航栏,这时就要使用ul li 和a组合的方式,但是是行内元素,我们无法设置它的宽和高,这时,就可以在的样式表中,将之设置为display:block。这样就可以设置它的宽和高,以及上下左右的margin和padding以达到我们想要的效果了。
最新文章
- 我的电脑为什么总是显示连接服务器超时 2024-09-14 10:54:56
- usb传输超时 2024-09-14 10:54:51
- 华为手表接口调用超时,请重试 2024-09-14 10:54:45
- python接单需要哪些知识 2024-09-14 10:54:40
- 怎样解决服务器链接超时 2024-09-14 10:54:34
- 特岗身份验证接口连接超时怎么处理 2024-09-14 10:54:29
- 如何解决eclipse项目名称更改导致项目无法启动 2024-08-02 07:40:43
- 如何解决Eclipse出现错误提示的方法呢 2024-08-02 07:40:38
- Eclipse怎么导入文件夹 2024-08-02 07:40:30
- 2021云计算工程师必备技能 2024-08-02 07:26:19
随便看看
- python集成开发环境都有哪些 python初学者用什么开发环境 2023-05-05 14:43:29
- Excel中if函数中大括号怎么用 怎样添加大括号(花括号) 2023-05-05 14:56:16
- 什么是spring的内部bean spring bean属性有哪些,属性有什么作用 2023-05-05 15:24:28
- spring.net框架详解 2023-05-05 15:27:04
- SSH分别指的是什么 2023-05-05 15:27:12
- spring的的特性和用法 2023-05-05 15:27:20
- one创始人 2023-05-05 15:27:28
- ruby,一个简单的程序: ruby编程实例案例可以编什么程序 2023-05-05 15:46:01
- Vue.js常用指令汇总(v-if、v-for等) 2023-05-05 16:07:02
- ajax获取后台的json数组,怎样添加到table里面 如何用AJax提交name数组 2023-05-05 16:23:47