浅谈css中的position_html/css_WEB-ITnose

php中文网
发布: 2016-06-24 11:37:24
原创
1292人浏览过

什么是position,根据css 2.1中的描述,position和float的值决定了浏览器要采用那种定位算法来计算元素盒子的具体位置。先避开float不谈,本文主要介绍position属性的不同取值并对相对定位(relative)和绝对定位(absolute)进行一个简单的比较。

5种不同的取值

  • inherit 顾名思义,元素的position属性值从该元素的父元素继承而来,即与父元素相同。
  • static position属性的默认值。 被应用了position:static的元素,会根据文档流中的位置来显示,即原始的html文档结构是什么样子,元素就会显示在什么位置。left、right、top、bottom属性设置的值将不起作用。
  • fixed 固定定位,即一旦指定了元素的显示位置,该元素就会一直显示在屏幕上的那个位置,即使滚动屏幕,元素在屏幕中的位置依然不变。
  • relative 相对定位,下文详述。
  • absolute 绝对定位,下文详述。
  • 相对定位

    相对定位根据文档流中元素的初始位置加上指定的偏移量(offset)来计算元素的最终显示位置。采用相对定位的元素不影响其他相邻盒子的显示效果,即如果元素B采用了相对定位,文档流中元素B后面的元素依然根据元素B的初始位置来计算最终的显示位置,就好像元素B依然占据原来的位置并没有偏移一样。如下图,在给第二列第三行的元素应用了相对定位后,第二列第四行的元素并没有向下移动。

    绝对定位

    采用绝对定位的元素,其位置由left、right、top、bottom指定的偏移量和元素的包含块(containing block)来确定。什么是包含块,在绝对定位的语境下,采用绝对定位的元素,它的包含块由离他最近的使用绝对/相对/固定定位的父元素确定,具体规则参考CSS规范。采用绝对定位的元素将脱离文档流。如下图,第三行元素应用了绝对定位,脱离的文档流,第四行元素上移占据了第三行元素原来的位置。第三行元素则显示在了左上角位置。

    百度文心百中
    百度文心百中

    百度大模型语义搜索体验中心

    百度文心百中 22
    查看详情 百度文心百中

    相对定位 VS 绝对定位

    从上面的分析可以看出,不管是相对定位还是绝对定位,都是根据left、right、top、bottom这四个属性设置的偏移量来定位元素的,不同的地方在于计算的参考起点不同。相对定位根据元素在文档流中的原始位置来计算最终的显示位置,绝对定位根据元素的包含块的位置来计算最终的显示位置。

    HTML速学教程(入门课程)
    HTML速学教程(入门课程)

    HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

    下载
    来源:php中文网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    开源免费商场系统广告
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号