替换元素是指,浏览器会根据元素的标签和属性,来决定元素的具体显示内容。 其内容不受CSS视觉格式化模型控制,CSS渲染模型并不考虑对此内容的渲染,且元素本身一般拥有固有尺寸(宽度,高度,宽高比)。
最明显的两个例子:
另外,textarea、select、object、video都是替换元素。这些元素往往没有实际的内容,即是一个空元素,浏览器会根据元素的标签类型和属性来显示这些元素。audio和canvas在某些特定情形下为替换元素。使用CSS的content属性插入的对象是匿名替换元素。
HTML 的大多数元素是非替换元素,浏览器直接将其内容显示出来。例如:div, p, span
普通流中,块元素独占一行。例如:div,p,h1等。
普通流中,行内元素左右可以有其他行内元素。
块级元素,width,height,margin,boder的设置遵循盒模型。
行内替换元素,width,height,margin,boder的设置遵循盒模型。另外,当其宽高有auto属性时,其表现如下:
css 行内元素 块元素 替换元素 非替换元素 以及这些元素的width height margin padding 特性
替换元素和非替换元素
html元素两种分类。替换元素和不可替换元素;块级元素和行内元素
置换元素(替换元素)和非置换元素(不可替换元素)
行内元素与块级元素的总结
置换和非置换元素
1、 元素类型的转换(display属性)
Display属性
属性值:
Block
Inline
None
大部分块状元素默认的display的值为block,其中li默认的值 list-item(列表元素)
大部分内联元素默认的display值为inline,其中input默认的值为:inline-block(行内块元素);
内联元素里面特殊的一个:行内块元素(内联块元素)
特点:
1:可以设置宽高
2:在一行内逐个显示
3:当前元素的display的值为inline-block能支持vertical-align 属性。
2、 vertical-align属性
vertical-align:垂直对齐。
Top
Bottom
Middle
Baseline
让一个元素在父元素里面左右上下居中:
给父元素添加text-align:center(左右居中)
给当前元素添加:
Display:inline-bolck
Vertical-align:middle
在当前元素后面(不要回车),添加一个空的span标签。
给span设置样式:
Display:inline-block
Width:0
Height:100%
Vertical-align:middle
3、 css元素类型的分类总结
分类:块状元素、内联元素、可变元素
元素类型的转换:
Display属性:
属性值:
Block
Inline
Inline-book
None
List-item
行内块元素:input display为inline-blcok1Img标签:浏览器默认解析的display值为inline
标签的嵌套规则:
尽量让块状元素作为父元素存在;
内联元素的子元素尽量也是内联元素;
P标签中不能出现h1-h6;
P标签和h1-h6不能互相嵌套。
4、 图片默认的display属性值为inline,为什么图片能添加宽高???
从另一个角度对所有的标签进行分类。
分为:置换元素与非置换元素
置换元素:
典型的置换元素:img/input 依赖标签的属性或者元素自身的类型;‘
因为img是置换元素,所以能添加大小。因为置换元素在页面显示的过程中,生成一个框(框架),这个框能添加大小。
非置换元素:
不是置换元素的都是非置换元素。
5、 定位
定位:让元素的位置发生改变。
定位属性:
Position属性:设置或者检索元素定位方式。
(如果元素有了position属性,元素就知道自己要做位置移动了)
Position的属性值:(属性值是告诉元素参照物是谁)
制定坐标:left/right/top/bottom
Position的属性值:
1:position:static 【静态定位】 (position的默认值)
2:position:absolute 【绝对定位】
a. 绝对定位的参照物:
已经有定位的父元素为参照物
如果父元素都没有定位或者没有父元素,以文档为参照物
b. 绝对定位的特点:
不占据空间,脱离布局流。