web前端技术讲解之CSS中position的定位技术

web前端技术讲解之CSS中position的定位技术

使用position定位有四种方式,分别为absolute、relative、static、fixed,static是静态定位,也为系统自动定位。下面主要分析其他三种定位方式的特点。

2363af2b-0d83-402b-8ce9-bba579fad1f1

 

 

 

1. 绝对定位:position:absolute

(1) 绝对定位是将元素依据已经定位(绝对、固定或相对定位)的离他最近的祖先元素进行定位,祖先元素没有定位或没有祖先元素则默认依据body浏览器窗口定位。

(2) 绝对定位的元素不论本身是什么类型,定位后都将成为一个新的块级元素,如果未指定宽高度默认自适应实际包含的内容区域(不在默认浏览器宽度)。

(3) 绝对定位后的元素将处于赋予其他元素之上,自身不占位置,他原来在正常文档流中所占的空间同时被关闭,就是说绝对定位的元素不占据页面空间,原空间被后续元素使用。

绝对定位必须用left、right、top、bottom属性之一激活,用于指定元素左、右、上、下外边距距离已定位祖先元素(或浏览器)左、右、上、下内边框的距离。

如果定义多个属性,当left、right、冲突时以left为准,当top、bottom冲突时以top为准,如果一个也不指定则元素扔按普通文档流布局,但他自己不再占据空间,后续元素上移与其重叠。

绝对定位元素定位后相对祖先元素的位置不在变化,若页面内容较多拖动页面滚动时,定位元素会随页面一起滚动。

绝对定位元素重叠覆盖其他元素时可用z-index属性设置他们的叠放次序。

3095b393-400c-4ebf-a3ea-3bbd58d2fb52

 

 

 

2. 相对定位:position:relative

(1) 相对定位是让元素(可以是行内元素)相对于它在正常文档流原位置按left、right、top、和bottom偏移量移动到新位置。

(2) 相对定位的元素移动后保持原外观样式大小,移动定位后不会占据新空间会覆盖新位置原有元素,原位置空间被保留,其他元素相对他原来的位置不变。

(3) Left、right、top、和bottom指定相对原位置移动的偏移量,可以使用带单位数值、相对父元素的百分比%。

Left正值:左边向内—向右移动,负值:左边向外—向左。

right正值:右边向内—向左移动,负值:右边向外—向右。

top正值:上边向内—向下移动,负值:上边向外—向上。

bottom正值:下边向内—向上移动,负值:下边向外—向下。

3. 固定定位:position:fixed

固定定位与绝对定位absolute相似,定位后元素也生成为新块级盒框、覆盖新位置原有元素,在正常文档流中所占的原空间关闭被后续元素使用。

adbf71fb-21cf-4d12-b7e3-48c102e8e295

 

 

 

固定定位与绝对定位absolute的区别是定位的元素无论父元素是否定位都会直接在浏览器窗口中定位,不会随滚动条拖动页面而滚动,固定定位用left、right、top、bottom指定浏览器左、右、上、下各边向中心的偏移量作为定位元素外边距位置

总结:元素的定位模型中需要区分每个属性值的不同定位方式,分为绝对定位、相对定位、固定定位以及默认定位和继承父元素。其中绝对定位和固定定位都脱离原本的文档流,而相对定位则遵循原本的文档流。设置元素的定位方式后,还需要指定偏移量。可以从上、右、下、左四个方向进行偏移。并且可以利用Z-index属性设置元素之间的层叠顺序。

转载于:https://my.oschina.net/u/4046848/blog/2999848

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101185.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux下vi命令大全

    linux下vi命令大全进入vi的命令 vifilename:打开或新建文件,并将光标置于第一行首 vi+nfilename:打开文件,并将光标置于第n行首 vi+filename

    2022年7月2日
    18
  • vue 计数器_74161计数器

    vue 计数器_74161计数器计数器的实现在页面上简单实现一个计数器<!DOCTYPEhtml><htmllang="en"><head><metach

    2022年8月7日
    3
  • XGBoost算法梳理[通俗易懂]

    XGBoost算法梳理[通俗易懂]XGBoost是boosting算法的其中一种。Boosting算法的思想是将许多弱分类器集成在一起形成一个强分类器。因为XGBoost是一种提升树模型,所以它是将许多树模型集成在一起,形成一个很强的分类器。而所用到的树模型则是CART回归树模型。讲解其原理前,先讲解一下CART回归树。一、CART回归树CART回归树是假设树为二叉树,通过不断将特征进行分裂。比如当前树结点是基于第j个特征值进…

    2022年6月3日
    38
  • 大数据DBA:大数据数据库管理做什么

    大数据DBA:大数据数据库管理做什么在大数据快速发展的大背景下,大数据相关的岗位需求也在增多,并且随着大数据业务的扩展,大数据技术团队的工作,也开始走向岗位细分,比如说在大数据储存阶段,也有专门的大数据DBA岗位。今天我们就来了解一下大数据数据库管理做什么?DBA,DBA是英文DatabaseAdministrator的简称,也就是数据库管理员,主要工作任务是负责维护和管理数据库服务器。数据库管理员,是需要关注数据,也需要关注库,即需要关注数据与服务,要关心如何操作数据库(程序),从而来保障好数据库。这就要求DBA不要只做好.

    2022年5月23日
    47
  • 智能优化算法:鲸鱼优化算法-附代码

    智能优化算法:鲸鱼优化算法-附代码智能算法:鲸鱼优化算法-附代码文章目录智能算法:鲸鱼优化算法-附代码1.算法原理1.1包围猎物1.2狩猎行为1.3搜索猎物1.4算法流程2.算法结果:参考文献:摘要:鲸鱼优化算法(whaleoptimizationalgorithm,WOA)是2016年由澳大利亚格里菲斯大学的Mirjalili等提出的一种新的群体智能优化算法,其优点在于操作简单,调整的参数少以及跳出局部最优的能力强。1.算法原理鲸鱼优化算法(whaleoptimizationalgorithm,WOA)是

    2022年5月24日
    79
  • 矩阵的模的平方matlab,matlab求矩阵、向量的模

    矩阵的模的平方matlab,matlab求矩阵、向量的模求矩阵的模:functioncount=juZhenDeMo(a,b)[r,c]=size(a);%求a的行列[r1,c1]=size(b);%求b的行列count=0;forj=1:r-r1+1%所求的行数中取fori=1:c-c1+1%所有的列数中取d=a(j:j+r1-1,i:i+c1-1);e=double(d==b);if(sum(e(:))==r1*c1)…

    2022年5月14日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号