CSS position属性

总述

CSS中,position一共有5种值,分别是inherit,static,relative,absolute,fixed。其中,inherit是从父元素继承;static是默认值,即没有定位,值得一提的是,一旦设置了position:static的元素,其left,right,top,bottom属性都将无效;relative是相对定位;absolute是绝对定位;fixed是固定定位。


relative

relative是相对定位,其位置是由其元素本身在文档流中的位置left,right,bottom,top属性的值决定的。值得注意的是,如果此元素有margin-top,margin-left,margin-right,margin-bottom属性,那么会先计算margin-top,margin-left,margin-right,margin-bottom值(即得出元素在文档流中的位置),再计算left,right,bottom,top属性的值,而计算left,right,bottom,top属性值是基于它自身的位置,比如{top:15px}就是此元素向下走了15个px的位置。虽然relative的元素没有脱离文档流(他的本身的位置是‘’保留‘’下来的,文档流中的元素并不会占用他的位置。),但它不会对其他元素造成影响。


absolute

absolute是绝对定位,其位置我认为分2种情况,第一种是不带有left,right,bottom,top属性的值,另一种是带有left,right,bottom,top属性的值。先说第一种,不带left,right,bottom,top的absolute的元素,还算‘’温柔‘’,其位置是他当前再文档流中的位置;第二种是带有left,right,bottom,top属性值的absolute元素,这类元素,就比较‘’残暴‘’了,他的定位方式将不再根据他自身在文档流中的位置,而是基于其最近的postion不为static的父元素,否则为Body文档本身。值得注意的是,一个元素一旦赋予了absolute属性,它将立即脱离文档流,不会影响其它元素,不会像relative元素一样保留它的位置,其位置将会被文档流中的元素占用。

fixed

fixed定位是固定定位,没得说的,就是简单的固定在浏览器的一个位置,不会随着滚动而改变位置,很多广告就是用了这个属性,让其固定在一个角落。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • CSS的position总是属性很容易让人弄混~ 为了仔细区别它们,所以今天总结一下CSS的position属性~...
    fehysunny阅读 2,956评论 0 7
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • 原文地址:http://luopq.com/2015/11/15/css-position/ position是C...
    IT程序狮阅读 8,075评论 0 16
  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 9,666评论 0 8
  • 吴世勋最近总是梦到一个女人背对着他哭泣,等他想看清她的时候立马就惊醒过来 心痛的感觉就像是丢了最爱的人 他妻子美言...
    Ba糖豆Aa阅读 367评论 0 0