css 所有内联(行内)元素 都可以通过 display: block 转化成 块元素吗?

html-css07

css 所有内联(行内)元素 都可以通过 display: block 转化成 块元素吗?,第1张

是的,通常,我比较喜欢给所有的内联元素一个display:inline-block属性,这样可以让IE和火狐中的超链接等内联元素的虚框(focus)更方正。而且还可以设置高度和宽度(默认是无效的)。

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-blcok1

Img标签:浏览器默认解析的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. 绝对定位的特点:

不占据空间,脱离布局流。