HTML块级元素和行内元素

html-css08

HTML块级元素和行内元素,第1张

一、从概念的角度来看块级元素和行级元素咱们可以理解为:

    块级元素 一般都是新起一行,可以容纳行内元素和其他块级元素;

    行内元素 一般都是语义级别的基本元素,一般只能容纳文本或者其他行内元素。

二、块级元素和行内元素的区别

    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才会有这样的效果,其他转换之后并不会默认带来这个效果。