CSS定位实例讲解

本文主要和大家介绍css定位的教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。

1.文档流

简单说就是元素按照其在 HTML 中的位置顺序决定排布的过程。HTML的布局机制就是用文档流模型的,即块元素(block)独占一行,内联元素(inline)不独占一行。

一般使用margin是用来隔开元素与元素的间距;padding是用来隔开元素与内容的间隔。margin用于布局分开元素使元素与元素互不相干;padding用于元素与内容之间的间隔,让内容(文字)与(包裹)元素之间有一段“距离”。只要不是float和绝对定位方式布局的,都在文档流里面。

2.position属性介绍

立即学习“前端免费学习笔记(深入)”;

static,默认值。位置设置为static的元素,它始终会处于文档流给予的位置。

inherit,规定应该从父元素继承 position属性的值。但是任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 “inherit”。

fixed,生成绝对定位的元素。默认情况下,可定位于相对于浏览器窗口的指定坐标。

元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。不论窗口滚动与否,元素都会留在那个位置。但当祖先元素具有transform属性且不为none时,就会相对于祖先元素指定坐标,而不是浏览器窗口。

absolute,生成绝对定位的元素,相对于距该元素最近的已定位的祖先元素进行定位。

此元素的位置可通过 “left”、”top”、”right” 以及 “bottom” 属性来规定。

relative,生成相对定位的元素,相对于该元素在文档中的初始位置进行定位。

通过 “left”、”top”、”right” 以及 “bottom” 属性来设置此元素相对于自身位置的偏移。

3.相对定位

relative生成相对定位的元素,相对于其正常位置进行定位。

相对定位完成的过程如下:

按默认方式(static)生成一个元素(并且元素像层一样浮动了起来)。相对于以前的位置移动,移动的方向和幅度由 left、right、top、bottom 属性确定,偏移前的位置保留不动。

               #box1 {            margin: 20px;            width: 200px;            height: 200px;            background-color: yellow;        }        #box2 {            margin: 20px;            width: 200px;            height: 200px;            background-color: red;            /*position: relative;            left: 100px;            top: 100px;*/        }    

  

登录后复制

其中box2中的注释代码未生效前,是按照文档流进行排序呈现。

但是,当注释代码取消注释生效后,就会相对文档流中应当呈现的位置进行移动。

所以,相对定位的参照物是它本身。

4.绝对定位

绝对定位与相对定位的一大不同之处就是,当我们把一个元素设置成绝对定位,那么这个元素将会脱离文档流,其他元素就会认为这个元素不存在于文档流中而填充它原来的位置。绝对定位元素根据它的参照物移动自己的位置,而参照物则需要根据它祖先元素的定位设置来确定。

所谓根据它祖先元素的定位设置来确定简单理解为:相对于该元素最近的已定位的祖先元素,如果没有一个祖先元素设置定位,那么参照物是body层。

在祖先元素没定位的情况下,使用absolute。在这种情况下,参考物就是body。

祖先元素有定位,祖先元素只要设置了值不为position:static之外的值,都视为有定位,并且最近的祖先元素会被设置为绝对定位元素的参照物。在这种情况下,参考物就是最近的祖先元素。

在没设置left/right、top/bottom的情况下,absolute元素的位置就是该元素在文档流里的位置

相关推荐:

CSS定位中Positoin、absolute、Relative的一些研究

CSS定位中Positoin、absolute、Relative的一些研究

CSS定位中Positoin、absolute、Relative的一些研究

以上就是CSS定位实例讲解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2900280.html

(0)
上一篇 2025年3月10日 23:55:50
下一篇 2025年2月24日 13:28:36

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • CSS圆形缩放动画实现代码分享

    最近在做公司的登录页,ue同学希望第三方登录的图标在hover的时候有一个圆形的缩放效果(原话是波纹效果-_-||),效果参考腾讯新闻和网易新闻的分享按钮。 本文主要和大家介绍CSS圆形缩放动画简单实现的相关资料,小编觉得挺不错的,现在分享…

    2025年3月10日
    200
  • 三种css方法实现DIV居中

    本文主要和大家分享css实现p居中的方法,css代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下,希望能帮助到大家。 下面给大家分享p居中的实现代码,具体代码如下所示: demo .p1{ width: 100px; height…

    2025年3月10日 编程技术
    200
  • 关于Css3的inline-block遇到的坑

    关于inline-block可能很多人都不熟悉,布局这方面很多人用的都是flex或者浮动,flex很强大毋庸置疑的可是关于兼容性就不是很让人满意,而浮动虽然很兼容可是觉得清除浮动就很麻烦,于此我在一些大型网站,例如我们的segmentfau…

    2025年3月10日 编程技术
    200
  • CSS BFC原理及其应用详解

    本文主要和大家介绍10分钟理解bfc原理及其应用的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 一、常见定位方案 在讲 BFC 之前,我们先来了解一下常见的定位方案,定位方案是控制…

    2025年3月10日 编程技术
    200
  • CSS选择器的新用法详解

    现在,预处理器(如sass)似乎已经成为开发css的标配,正如几年前jquery是开发js的标配一样。js的queryselector借鉴了jquery的选择器思想,css选择器也借鉴了预处理器的变量定义、选择器嵌套、代码块重用等常用功能。…

    编程技术 2025年3月10日
    200
  • CSS实现网页背景图片自适应全屏详解

    本文主要和大家介绍css实现网页背景图片自适应全屏的方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 网页背景自适应全屏.PNG 一张清晰漂亮的背景图片能给网页加分不少,设计师也…

    2025年3月10日
    200
  • css实现爱心版加载效果

    本文主要和大家介绍纯css写出爱心版加载效果的示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 爱心等待效果如下: 现在互联网时代网站何其多,各有各得风格,但是什么样的风格能…

    2025年3月10日
    200
  • css3实现鼠标跟随导航效果

    本文主要和大家介绍了css3动画过渡实现鼠标跟随导航效果的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 效果知识点:html/css布局思维, p+css讲解,css3动画,盒子模…

    编程技术 2025年3月10日
    200
  • 实现优惠券边沿打孔的CSS代码

    项目中用到了这个边沿打孔的效果,尝试下来使用纯css写的这个样式,本文主要给大家分享使用纯css写的一个边沿打孔效果,需要的朋友参考下,希望能帮助到大家。 效果大致如图 分步实现思路: 1,先画两个带圆角的框,A和B(A、B分别需要加投影效…

    2025年3月10日 编程技术
    200
  • css3中clip实现圆环进度条

    本文主要和大家介绍了css3 clip实现圆环进度条的示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 CSS中有一个属性叫做clip,为修剪,剪裁之意。 clip 属性剪裁…

    2025年3月10日
    200

发表回复

登录后才能评论