块状元素、内联元素、内联-块状元素的区别

块状元素

块状元素最大的特点是可以独占一行。div是html中典型的块状元素。我们可以给块状元素设置宽度(width)、高度(height)、外间距(margin)、内间距(padding)。
我们在一个html文件里写入块状元素、内联元素、内联-块状元素,并给它们分别设置样式来看一看效果:

<!DOCTYPE html>
<html>
<head>
	<title>前端试题</title>
	<meta charset="utf-8">
	<link rel="stylesheet" type="text/css" href="前端试题.css">
</head>
<body>
	<div>块状元素</div>
	<span>内联元素span</span>
	<input type="text" name="" value="内联-块状元素">
	<a href="#">这是一个内联元素a,表示链接</a>
	<div>这是一个块状元素</div>
</body>
</html>

块状元素的css样式:

div{
	margin: 20px;
	padding: 10px;
	width: 100px;
	height: 100px;
	background-color: yellow;
}

在这里插入图片描述

在不设置位置的情况下,每个块状元素都是独占一行,在它后面的元素都是另起一行。
如果要把块状元素设置为内联元素,可以用display:inline来进行转换。

内联元素

内联元素和块状元素最大的区别,就是内联元素和其他元素是在同一行显示的,所以也被称为“行内元素”。
内联元素不能设置宽度、高度。但是如果我们给内联元素设置margin和padding会怎么样呢?我们可以试一试:
我们在一个html文档里写入了块状元素、内联元素、内联-块状元素。css文件里我们给内联元素span设置margin、padding和背景颜色:

div{
	margin: 20px;
	padding: 10px;
	width: 100px;
	height: 100px;
	background-color: yellow;
}
span{
	margin: 50px;
	padding: 120px;
	background-color: orange;
}

结果显示:内联元素的左右margin、左右padding可以像块状元素那样设置和显示;但是上下margin不可设置;上下padding看上去可以设置,实际上也不占据空间。如果有背景色可以显示出来上下padding,但是会覆盖掉位于它上下文的内容。
在这里插入图片描述

内联-块状元素

内联-块状元素同时具有内联元素和块状元素的特征:可以设置宽度、高度、margin 值和padding值,但是又不单独占据一行。
input和image是典型的内联-块状元素。

input{
	margin: 50px;
	padding: 50px;
	width: 100px;
	height: 100px;
	background-color: grey;
}

在这里插入图片描述

总结一下

  • 块状元素:

独占一行;
width、height、margin、padding都可以设置;
可以通过display:inline来转换成内联元素;display:inline-block转换成内联-块状元素;

  • 内联元素:

和其他元素在同一行;
width、height不可设置;
上下margin、padding不可设置,但是如果设置了上下padding,会看起来像是占据了空间(其实并没有);
左右margin、padding可以设置;
可以通过display:block来转换成块状元素;display:inline-block转换成内联-块状元素;

  • 内联-块状元素:

和其他元素在同一行;
width、height、margin、padding都可以设置;
可以通过display:inline来转换成内联元素;display:block转换成块状元素;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值