块级元素 一般都是新起一行,可以容纳行内元素和其他块级元素;
行内元素 一般都是语义级别的基本元素,一般只能容纳文本或者其他行内元素。
二、块级元素和行内元素的区别
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> 上标文本
块级元素 :独占一行,对宽高的属性值生效;如果不给宽度,块级元素就默认为浏览器的宽度,即就是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%的宽度中居中生效;但是行内元素的宽完全是靠内容撑开,所以宽度就是内容撑开的宽
基本上就是这个属性之间的转换!
块级元素会自动占据一定矩形空间,可以通过设置高度、宽度、内外边距等属性,来调整这个矩形的样子;与之相反,行内元素,则没有自己的独立空间,它是依附于其他块级元素存在的,因此,对行内元素设置高度、宽度、内外边距等属性,都是无效的。(置换元素除外)
1,块级元素独占一行,其宽度自动填满父元素宽度
行内元素不独占一行,相邻行内元素排在同一行,直到排不下,才换行,其宽度随元素的内容而变化
2,一般情况下,块级元素可设置 width, height属性,行内元素设置width, height无效(置换元素除外)
(注意:块级元素即使设置了宽度,仍然是独占一行的)
3,块级元素可以设置margin 和 padding. 行内元素的水平方向的padding-left,padding-right,margin-left,margin-right 都产生边距效果,但竖直方向的padding-top,padding-bottom,margin-top,margin-bottom都不会产生边距效果。(水平方向有效,竖直方向无效)
address - 地址
center - 居中对齐块
div - 常用块级元素,也是css layout的主要标签
dl - 定义列表
form - 交互表单
h1 - 大标题
h2 - 副标题
h3 - 3级标题
h4 - 4级标题
h5 - 5级标题
h6 - 6级标题
hr - 水平分隔线
menu - 菜单列表
ol - 有序列表
ul - 无序列表
li - 列表项
p - 段落
pre - 格式化文本
table - 表格
tr - 表格中的行
a - 锚点
b - 粗体(不推荐)
big - 大字体
br - 换行
dfn - 定义字段
em - 强调
i - 斜体
img - 图片
input - 输入框
label - 表格标签
q - 短引用
select - 项目选择
span - 常用内联容器,定义文本内区块
strong - 粗体强调
textarea - 多行文本输入框
u - 下划线
var - 定义变量
块级元素,默认display:block
行内不可置换元素,默认为display:inline
行内置换元素,默认为display:inline-block
display:none不显示该元素,也不会保留该元素原先占有的文档流位置。
display:block转换为块级元素。
display:inline转换为行内元素。
display:inline-block转换为行内块元素。
当把行内元素设置完浮动(float:left/right)后,该行内元素的display属性会被赋予block值,且拥有浮动特性。(当它浮动时,行内元素就会生成一个块级框。也可以说是行内框)与此同时,行内元素去除了之间的莫名空白。
当为行内元素进行定位时,position:absolute,与position:fixed。都会使原先的行内元素变为块级元素。
转换为块级元素只是,float与position的副作用,他们本身的作用还会干扰布局效果。
介绍块级元素时,会说,块级元素的宽度会继承其父元素。但是,只有为行内元素设置display:block才会有这样的效果,其他转换之后并不会默认带来这个效果。