由浅入深css(三)------ 彻底理解display

前言

本篇文章将介绍css属性下的display属性,主要讲解弹性盒子相关知识及应用。

彻底理解display属性

常用属性

常用属性
none隐藏目标,不占文档流位置,与visible:hidden相反。若作用于未脱离文档流的元素,会引起回流/重排。
block展示为块状元素。 独占一行,可设置宽高、margin、padding。上下margin会与其它元素发生合并。
inline展示为内元素。宽高只能由内容撑开,皆为auto,设置宽高无效。可设置padding,margin,但上、下margin无效,上下padding若有背景颜色,可展示背景颜色,但不占空间。
inline-block展示为行内块元素。可设置宽高、margin、padding。上下margin不会与其它元素发生合并。
list-item展示为列表元素。与block元素基本一致,但具有列表元素特点。
table展示为表格元素。与block元素基本一致,但具有表格元素特点。
flex展示为弹性盒子。 与block元素基本一致,但具有弹性盒子元素特点。

基本表现

我们先建一个html文件,如下:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>test</title>
	<style type="text/css" rel="stylesheet">
		div,span{
			background-color: #87CEEB;
		}
		div:nth-child(2n){
			background-color: #58f16a;
		}
		.none{
			display: none;
		}
		.block{
			display: block;
		}
		.inline{
			display: inline;
		}
		.inline-block{
			display: inline-block;
		}
		.list-item{
			display: list-item;
		}
		.table{
			display: table;
		}
		.flex{
			display: flex;
		}
	</style>
</head>
<body>
	<div class="none">none</div>
	<span class="block">block</span>
	<div class="inline">inline</div>
	<div class="inline-block">inline-block</div>
	<div class="list-item">list-item</div>
	<div class="table">table</div>
	<div class="flex">flex</div>
</body>
</html>

浏览器渲染结果:
在这里插入图片描述

详解

display:none;

隐藏目标,不占文档流位置,与visible:hidden相反。若作用于未脱离文档流的元素,会引起回流/重排。

display:block;

展示为块状元素。 独占一行,可设置宽高、margin、padding。上下margin会与其它元素发生合并。

给定样式:

.block {
	display: block;
	padding: 10px;
	margin: 10px;
}

表现:

在这里插入图片描述

display:inline;

展示为内元素。宽高只能由内容撑开,皆为auto,设置宽高无效。可设置padding,margin,但上、下margin无效,上下padding若有背景颜色,可展示背景颜色,但不占空间。

给定样式:

.block {
	display: block;
	padding: 10px;
	margin: 0 10px;
}

.inline {
	background-color: red;
	display: inline;
	margin: 60px;
	padding: 20px 10px;
}

表现:

在这里插入图片描述

display:inline-block;

展示为行内块元素。可设置宽高、margin、padding。上下margin不会与其它元素发生合并。

给定样式:

.block {
	display: block;
	padding: 10px;
	margin: 0 10px;
}

.inline-block {
	display: inline-block;
	margin: 30px;
	padding: 10px;
}

表现:

在这里插入图片描述

display:list-item;

展示为列表元素。与block元素基本一致,但具有列表元素特点。

给定样式:

.list-item {
	display: list-item;
	margin: 30px;
	padding: 10px;
	/* list-style: none; */
}

表现:
在这里插入图片描述

display:table;

展示为表格元素。与block元素基本一致,但具有表格元素特点。

给定样式:

.table {
	display: table;
	margin: 30px;
	padding: 10px;
}

表现:
在这里插入图片描述

table属性常用于代替table元素,所以会配合以具有table-cell 、table-row 、table-column等属性的子元素来代替td,tr和col等元素。设置table属性虽然具有与block相似的属性,但是独占一行的表现,与block元素有差别,相当于在闭标签后加一个换行符。与之相对的,若设置为inline-table,则不会独占一行。

display:flex;

展示为弹性盒子。 与block元素基本一致,但具有弹性盒子元素特点。下一篇作为独立篇章介绍。

结语

display属性是布局的基础。不同的属性,不止影响自身,对子元素的也有特定的影响。我们恰是利用这种特定影响来达到理想的视觉效果。因此,只有彻底理解display属性,才能走出无障碍布局的第一步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值