块级元素 一般都是新起一行,可以容纳行内元素和其他块级元素;
行内元素 一般都是语义级别的基本元素,一般只能容纳文本或者其他行内元素。
二、块级元素和行内元素的区别
1、块级元素会独占一行,其宽度自动填满其父元素宽度;行内元素会排列到同一行里,其宽度随元素的内容变化而变化。
2、块级元素可以设置宽高;行内元素设置宽高无效。
3、块级元素可以设置margin,padding属性;行内元素的水平方向的padding会有边距效果,但是竖直方向的padding没有效果。
常用块级元素列表:
<div> 定义文档中的分区或节
<h1>、<h2>、<h3>、<h4>、<h5>、<h6> 定义标题,数字越小字体越大越粗
<p> 段落标签
<ul> 定义无序列表
<ol> 定义有序列表
<li> 定义列表项目
<dl> 定义列表
<dt> 定义列表中的项目
<dd> 定义列表中的条目
<hr> 创建一条水平线
常用行级元素列表:
<span> 组合文档中的行内元素
<i> 倾斜文本
<em> 定义为强调的内容
<b> 字体加粗
<strong> 语气更强的强调内容
<a> 标签可定义锚
<img> 嵌入图片
<input> 输入框
<select> 创建单选或多选菜单
<textarea> 多行文本输入框
<button> 按钮标签
<sub> 下标文本
<sup> 上标文本
HTML可以将元素分类方式分为行内元素、块状元素和行内块状元素三种。
当然,他们之间也是可以转换的。
行内元素特征:
(1)设置宽高无效
(2)对margin仅设置左右方向有效,上下无效;padding设置上下左右都有效,即会撑大空间
(3)不会自动进行换行
元素:span 修饰字体和标签,还有和这两个标签可以直接做出平方的效果
块状元素特征:
(1)能够识别宽高
(2)margin和padding的上下左右均对其有效
(3)可以自动换行
(4)多个块状元素标签写在一起,默认排列方式为从上至下
元素:div、p、nav、aside、header、footer、section、article、ul-li、address
行内块状元素特征:
(1)不自动换行
(2)能够识别宽高
(3)默认排列方式为从左到右
综合了行内元素和块状元素的特性
总结
不管块级元素还是行内元素,区别主要是三个方面:一是排列方式,二是宽高边距设置,三是默认宽度。
块级元素会独占一行,而内联元素和内联块元素则会在一行内显示。
块级元素和内联块元素可以设置 width、height 属性,而内联元素设置无效。
块级元素的 width 默认为 100%,而内联元素则是根据其自身的内容或子元素来决定其宽度。
而行内块级元素又同时拥有块级元素和行内元素的特点。
块级元素 :独占一行,对宽高的属性值生效;如果不给宽度,块级元素就默认为浏览器的宽度,即就是100%宽;
行内元素 :可以多个标签存在一行,对宽高属性值不生效,完全靠内容撑开宽高!
其中还有一种结合两种模式有点的显示模式:
行内块元素 :结合的行内和块级的有点,不仅可以对宽高属性值生效,还可以多个标签存在一行显示;
特点:可以多个标签存在一行,不能直接设置行内标签的高度、宽度、行高以及顶和底边距,完全靠内容撑开宽高!
a 标签:主要用来链接一个其他的网页;
span 标签:主要用来对行内的文字进行一些样式以及其他的操作;
em 标签:一般用来对文字进行强调,使用斜体体现出来;
strong 标签:一般用来对文字进行强调,使用加粗字体体现出来;
img 标签:图片引用标签,其中 src属性中写入图片的地址;
var 标签:JavaScript中命名变量的标签。
特点:独占一行,对高度、宽度、行高以及顶和底边距都可设置的属性值生效;如果不给宽度,块级元素就默认为浏览器的宽度,即就是100%宽;
p 标签:段落标签,段落文字使用,默认格式:段尾进行换行;
div 标签:划分块的主要使用标签;
ul 标签:无序列表的主标签,后面的标号为圆点(黑色);
ol 标签:有序列表的主标签,后面一般跟有序的1,2,3,4,5...;
li 标签:列表中的主体使用标签
dl 标签:自定义标签的主标签;
dt 标签:自定义标签的表头;
dd 标签:自定义标签的表头的解释(描述)信息;
h1~h6 :6级标题标签、字体的大小依次变小。
特点:结合的行内和块级的有点,不仅可以对宽高属性值生效,还可以多个标签存在一行显示;
+++++++++++++++++++++++++++++++++++++++++
各种标签之间的转换
1、块级标签转换为行内标签: display:inline
2、行内标签转换为块级标签: display:block
3、转换为行内块标签: display:inline-block
在这之前有说过 text-align这个属性是否生效,原因是块级标签如果不给宽度,块级元素就默认为浏览器的宽度,即就是100%宽,那么在100%的宽度中居中生效;但是行内元素的宽完全是靠内容撑开,所以宽度就是内容撑开的宽
基本上就是这个属性之间的转换!