css定位分为:【相关教程推荐:css视频教程】
static(静态定位): 这是页面元素position属性的默认值,元素将按照浏览器对网页中元素的排列规则排列。
注意:此时给元素设置left,right,top,bottom是并没有任何作用的。
relative(相对定位):相对自身原来位置的定位!如果以前没有设置position或者position值为static,那么设置relative后,元素的left,right,top,bottom的位置参照自身原来的位置进行移动。
absolute(绝对定位):这个大家应该都很了解,即脱离文档流的定位。定位参照物为自己的父级,但是自己的父级必须拥有position属性(父级position属性为static也不行,必须为absolute,relative,fixed中的一个)。如果自己的父级没有设置position属性,会一直向上寻找有position属性且不为static的的祖先元素,直到body元素。
fixed(固定定位):这个属性是元素以相对浏览器窗口为基准进行定位的,无论怎样移动你的滑动条,它都会固定在相对于浏览器窗口的固定位置,另外要注意,它的兄弟元素将会在位置排布上忽视它的存在。这个时候用的top,bottom,left,right也是相对于浏览器窗口而言的。
下面分享一下我的心得:
1、fixed会产生兼容问题,老IE6不支持,他是相对于浏览器进行定位的!
2、父元素有position属性(不为static)和padding值,子元素如果只设置absolute那么不会忽略父元素的padding值,如果设置了left:0
,top:0
则会忽略父元素的padding值。
3、分享一个拥有absolute属性的元素的水平居中方法:
方法一:平常情况下我们都是用left:50%
,然后 margin-left:-width/2
来设置水平居中,下面再分享一个方法,如果在面试中被问到水平居中的方法,可以补充下面那种,加分项!
方法二:设置子元素:left:0
,right:0
,然后设置margin : 0 auto
即可水平居中。
4、大家要注意设置了position后再设置float、margin会有什么变化,这个很重要,以后再与大家讨论。
更多CSS相关知识,可查阅 css参考手册 !
以上就是css定位类型有哪些?的详细内容,更多请关注0133技术站其它相关文章!