块元素(div、p、hr、h1-h6、header、footer、ul>li 、 dl dt dd):可设宽高,padding,border,margin,line-height。 占父容器的一行,里面可以容纳其他标签和文本。
行内元素(span 、i、b-strong、u、s、a): 不可设置宽高、可设置水平方向的 padding,border,margin,垂直方向不行,多个行内在同一行显示,里面一般仅放文本,但 a 标签除外。
行内块元素(input、button、select、img):可设置宽高,padding,border,margin,line-height,多个行内块在一行显示。
如何转换,通过 display 设置:
display: block | inline-block | line
在 HTML 和 CSS 中,元素可以被归类为块级元素、行内块级元素和行内元素。它们在页面布局和样式上有着不同的特点和行为。在本文中,我们将深入探讨这三种元素类型的特点、区别以及它们之间的转换方法。
块级元素
块级元素以块的形式显示在页面上,它们会独占一行或多行空间,并且默认情况下会在前后创建换行。块级元素可以设置宽度、高度、内外边距等样式属性。
特点
- 在页面上单独占据一行或多行的空间。
- 注意:块级元素的宽度默认是自动撑开到容器的宽度,而不是默认为100%
- 可以容纳内联元素和其他块元素。
- 默认情况下会在前后创建换行。
- 可以设置宽度、高度、内外边距等样式属性。
示例块级元素
<div>
,<p>
,<hr>
,<h1>
-<h6>
,<header>
,<footer>
,<ul>
,<li>
,<dl>
-<dt>
-<dd>
,<table>
,<form>
等。
行内块级元素
行内块级元素在同一行内显示,但是它们可以设置宽度和高度,并且可以像块级元素一样设置内外边距。它们不会强制换行,可以在一行内显示多个行内块级元素。
特点
- 在同一行内显示。
- 可以设置宽度和高度。
- 可以设置内外边距。
- 不会强制换行。
示例行内块级元素
<img>
,<button>
, <select>
,<input>
等。
行内元素
行内元素不会独占一行,它们会在同一行内显示,并且大小由内容决定,无法设置宽度和高度,其宽度随着内容增加,高度随字体大小而改变。通常情况下,行内元素不能设置上下内外边距,只能设置左右内外边距。
特点
- 多个行内在同一行内显示,里面一般仅放文本,但 a 标签除外。相邻的行内元素会排列在同一行里,直到一行排不下,才会换行。行内元素的宽度由其中包含的内容决定,内容越多,宽度越大,可以随内容自动扩展,不需要设置宽度属性。
- 行内元素只能容纳文本或者其他行内元素。
- 由于行内元素是在同一行内显示的,所以通常只能设置左右内外边距,上下内外边距在默认情况下是不起作用的。
示例行内元素
<a>
,<strong>
,<em>
,<span>
。
区别和转换方法
区别
- 显示方式:块级元素和行内块级元素会独占一行或多行空间,而行内元素会在同一行内显示。
- 尺寸设置:块级元素和行内块级元素可以设置宽度和高度,而行内元素的尺寸由其内容决定。
- 内外边距:块级元素和行内块级元素可以设置上下内外边距,而行内元素通常只能设置左右内外边距。
- 换行行为:块级元素和行内块级元素会在其前后创建换行,而行内元素不会。
转换方法
- 块级元素转换为行内元素:设置 CSS 属性
display: inline;
。
display: inline;
- 行内元素转换为块级元素:设置 CSS 属性
display: block;
。
display: block;
- 行内元素转换为行内块级元素:设置 CSS 属性
display: inline-block;
。
display: inline-block;
通过深入理解这三种元素类型的特性、区别以及转换方法,我们能够更有效地管理页面的结构和外观,从而实现更具丰富性和灵活性的网页设计。