CSS 各种定位(position)方式的区别
2016-12-06 09:46
288 查看
参考资料:http://www.html5cn.org/article-9826-1.html
position定位:
static:静态定位;是position的默认值,元素框正常生成,也就是没有定位时的正常显示。
relative:相对定位;
用法一:元素相对自身的原位置偏移某个距离,但是原本的空间依旧保留,表现为空白。
用法二:把一个元素设置为position: relative; 可以使该元素的子元素相对该元素绝对定位。
absolute:绝对定位; 元素从文档流删除,并相对于包含块定位。元素在原本的空间关闭。元素定位后生成一个块级框,不论它原来是行内元素还是块级元素。
包含块:最近的position值不是static的祖先元素(块级或行内),一般会指定一个元素作为绝对定位元素的包含块,将其position设置为relative而且没有偏移。
fixed:固定定位; 元素从文档流删除,并相对于浏览器视窗定位,因此不随文档滚动而移动。元素在原本的空间关闭。元素定位后生成一个块级框,不论它原来是行内元素还是块级元素。与绝对定位的区别仅仅是包含块不同。
包含块:浏览器视窗。
absolute/fixed和float对比
类似:元素都会从文档流删除,但是依旧会影响布局;都会生成一个块级框,无论原来是不是块级元素。
区别:float的包含块是最近的块级祖先元素。
偏移属性:top/right/bottom/left,初始值是auto。
采用position定位之后必须采用偏移属性定义偏移量,也就是相对包含块的偏移。注意应用于position值不是static的元素。
有时也需要定义width和heigth,但是可能会和偏移属性的定义冲突,因为四个偏移属性实际上已经定义了元素的大小。此时,根据width和left属性定义左右,根据top和height属性定义上下。
内容溢出overflow: visible/ hidden/ scroll /auto/ inherit,初始值是visible。
一个元素的大小固定,但是其内容放不下,就会导致溢出。overflow控制溢出部分的可见(visible)、不可见(hidden)、滚动可见(scroll)。
元素可见性visibility: visible/ hidden/ collapse/ inherit,初始值是visible。
visibility:hidden和display:none的区别:
visibility:hidden设置元素不可见,但是元素依旧会影响布局,只是元素部分呈现为空白;
display:none元素不显示并且从文档流中删除,对文档布局没有任何影响。
position定位:
static:静态定位;是position的默认值,元素框正常生成,也就是没有定位时的正常显示。
relative:相对定位;
用法一:元素相对自身的原位置偏移某个距离,但是原本的空间依旧保留,表现为空白。
用法二:把一个元素设置为position: relative; 可以使该元素的子元素相对该元素绝对定位。
absolute:绝对定位; 元素从文档流删除,并相对于包含块定位。元素在原本的空间关闭。元素定位后生成一个块级框,不论它原来是行内元素还是块级元素。
包含块:最近的position值不是static的祖先元素(块级或行内),一般会指定一个元素作为绝对定位元素的包含块,将其position设置为relative而且没有偏移。
fixed:固定定位; 元素从文档流删除,并相对于浏览器视窗定位,因此不随文档滚动而移动。元素在原本的空间关闭。元素定位后生成一个块级框,不论它原来是行内元素还是块级元素。与绝对定位的区别仅仅是包含块不同。
包含块:浏览器视窗。
absolute/fixed和float对比
类似:元素都会从文档流删除,但是依旧会影响布局;都会生成一个块级框,无论原来是不是块级元素。
区别:float的包含块是最近的块级祖先元素。
偏移属性:top/right/bottom/left,初始值是auto。
采用position定位之后必须采用偏移属性定义偏移量,也就是相对包含块的偏移。注意应用于position值不是static的元素。
有时也需要定义width和heigth,但是可能会和偏移属性的定义冲突,因为四个偏移属性实际上已经定义了元素的大小。此时,根据width和left属性定义左右,根据top和height属性定义上下。
内容溢出overflow: visible/ hidden/ scroll /auto/ inherit,初始值是visible。
一个元素的大小固定,但是其内容放不下,就会导致溢出。overflow控制溢出部分的可见(visible)、不可见(hidden)、滚动可见(scroll)。
元素可见性visibility: visible/ hidden/ collapse/ inherit,初始值是visible。
visibility:hidden和display:none的区别:
visibility:hidden设置元素不可见,但是元素依旧会影响布局,只是元素部分呈现为空白;
display:none元素不显示并且从文档流中删除,对文档布局没有任何影响。
相关文章推荐
- css position 设置元素的定位方式详解
- css的position定位属性中值absolute与值fixed二者的区别
- CSS中关于定位position的问题,blockquote,div,span三个的区别
- CSS布局浮动(float)和定位(position)属性的区别和使用
- 灵活的坐标系变换:CSS的position定位方式
- CSS布局浮动(float)和定位(position)属性的区别和使用
- CSS中position属性三大定位方式讲解
- CSS中position的absolute如何相对于父元素的位置进行定位
- CSS position 属性:绝对定位与相对定位,以及浮动
- CSS中position定位的个熟悉示例介绍
- 浅析CSS——元素重叠及position定位的z-index顺序
- css position定位
- CSS里面position:relative与position:absolute 区别
- CSS布局最常用属性float(浮动)和position(定位)
- 引入css的方式及link和@import的区别
- CSS的三种定位方式介绍
- position几种定位方式
- CSS Position定位过多是否会影响浏览器渲染速度
- CSS 定位图片的几种方式
- 引入CSS的方式有哪些?link和@import的有何区别应如何选择