CSS相对定位和绝对定位的关系解析

本篇文章给大家带来了关于css的相关知识,其中主要介绍了关于css的绝对定位和相对定位的相关问题,相对定位是元素在移动位置的时候,是相对于它原来的位置来说的,绝对定位是元素在移动位置的时候,是相对于它的祖先元素来说的,下面一起来看一下,希望对大家有帮助。

(学习视频分享:css视频教程、html视频教程)

position:relative 相对定位详解

相对定位是元素在移动位置的时候,是相对于它原来的位置来说的。

相对定位的特点:

  • 它是相对于自己原来的位置来移动的(移动位置的时候参考点是自己原来的位置)

  • 原来在标准流的位置继续占有,后面的盒子仍然以标准流的方对待它(不脱标,继续保留原来的位置)。因此相对定位并没有脱标,它最典型的应用是给绝对定位当爹的。

position:absolute 绝对定位详解

绝对定位是元素在移动位置的时候,是相对于它的祖先元素来说的(拼爹型)。

绝对定位的特点:

  • 如果没有祖先元素或者祖先元素没有定位,则以浏览器为准进行定位(Document文档)

  • 如果祖先元素有定位(相对,绝对,固定定位),则以最近一级的有定位祖先元素为参考点移动位置。

  • 绝对定位不再占有原有的位置(脱标)。

下面讲解子绝父相的由来和具体使用:

子绝父相的意思是指:子级是绝对定位的话,父级要用相对定位。

  • 子级绝对定位,不会占有位置,可以放到父盒子里面的任何一个位置,不会影响其他的兄弟盒子。

  • 父盒子需要加定位限制子盒子在父盒子内显示。

  • 父盒子布局时,需要占有位置,因此父亲只能是相对定位。

总结:因为父级需要占有位置,因此是相对定位,子盒子不需要占有定位,则是绝对定位。

示例如下:

css标签的相对定位和绝对定位是通过position属性来控制的,相对定位和绝对定位不改变元素的大小形状,只改变元素的位置。

一、position属性的值有以下几种:

  • static:默认值,没有定位,元素出现在正常的流中。

  • absolute:使用绝对定位,相对于static定位以外的最近一个祖先元素进行定位。元素的位置通过left,top,right以及bottom属性进行规定。

  • relative:使元素相对定位,相对于自己的正常位置进行定位。

  • fixed:使元素绝对定位,相对于浏览器窗口进行定位。元素的位置通过left,top,right以及bottom属性进行规定。

  • inherit:规定应该从父元素继承position属性的值。

一个没有使用定位的例子:

显示结果如下:

二、相对定位

相对定位的参考点是标签定位之前的位置,不是相对于父节点、同级节点或浏览器。

   相对定位的元素,通过 left、right 属性来定义水平偏移量,top、bottom 属性来定义垂直偏移量。left 表示相对于原本位置的左外边界右移的距离,right 表示相对于原本位置的右外边界左移的距离,top 表示相对于原本位置的上外边界下移的距离,bottom 表示相对于原本位置的下外边界上移的距离。并且,偏移量可以是正值,也可以是负值,负值表示向相反的方向移动。

   left、right、top、bottom 这 4 个属性的值,可以是长度值(可以是绝对单位或相对单位),也可以是百分比。使用百分比时,水平偏移量根据其父元素 width 属性的值计算得到,垂直偏移量根据其父元素 height 属性的值计算得到。需要注意的是,在设置偏移时,如果父元素没有显式定义 height 属性,就等同于 height 属性的值为 0。

对上例进行修改,对div2使用相对定位:

效果如下:

三、绝对定位:

绝对定位相对于最近的定位的祖先元素进行定位,如果没有祖先元素,他便使用文档主体(body)即浏览器,并随页面滚动一起移动;如果父级有定位则看父级,如果父级没有定位则继续向上找父级。

绝对定位的元素是脱离文档流的,即直接在标准流中删除,所以元素原来的位置会被占用。

对上例进行修改(无父节点):

效果如下:

再如(父节点有定位):

不使用绝对定位时:

效果如下:

使用绝对定位:

效果如下:

(学习视频分享:css视频教程、html视频教程)

以上就是CSS相对定位和绝对定位的关系解析的详细内容,更多请关注双恒网络其它相关文章!

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
9.本站默认解压密码为:www.sudo1.com
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

云资源网 » CSS相对定位和绝对定位的关系解析

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或 联络我们.。
你们有qq群吗怎么加入?
当然有的,如果你是帝国cms、易优cms、和pbootcms系统的爱好者你可以加入我们的QQ千人交流群https://www.sudo1.com/page-qun.html。
  • 会员数(个)
  • 12310资源数(个)
  •        
  • 资源(G)
  •        
  • 今日下载
  • 1505稳定运行(天)

提供最优质的资源集合

立即查看 了解详情