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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ubuntu上安装gcc

    ubuntu上安装gcc首先我是直接根据别人博客来的:sudoaptupdatesudoaptinstallbuild-essential主要是说build-essential中包含了GNU编辑器集合

    2022年7月3日
    29
  • BP神经网络预测实例(matlab代码,神经网络工具箱)

    BP神经网络预测实例(matlab代码,神经网络工具箱)目录辛烷值的预测matlab代码实现工具箱实现参考学习b站:数学建模学习交流bp神经网络预测matlab代码实现过程辛烷值的预测【改编】辛烷值是汽油最重要的品质指标,传统的实验室检测方法存在样品用量大,测试周期长和费用高等问题,不适用于生产控制,特别是在线测试。近年发展起来的近红外光谱分析方法(NIR),作为一种快速分析方法,已广泛应用于农业、制药、生物化工、石油产品等领域。其优越性是无损检测、低成本、无污染,能在线分析,更适合于生产和控制的需要。实验采集得到50组汽油样品(辛烷值已通过其他方法测

    2022年6月20日
    26
  • 已知两个空间向量求夹角_matlab求两向量夹角的余弦

    已知两个空间向量求夹角_matlab求两向量夹角的余弦原点O[0,0,0]OA=[1,1,0];OB=[1,0,0];sigma=acos(dot(OA,OB)/(norm(OA)norm(OB)));%弧度制sigma/pi180%换算成角度

    2022年10月9日
    2
  • CSDN 2018博客之星评选,感谢大家的投票

    那些曾走过的路,看过的风景!2018博客之星评选,我在CSDN三年了,虽然没成为大神,大佬,但是这一路上一直在坚持,在进步, 感谢大家一路对我的支持和鼓励,虽然2018年这一年过的比较压抑,但是我期待2019。2019我会好好调整自己,输出更多好的内容!谢谢你为我投票! 2019祝你我 有酒,有肉 ,有故事! 我的投票专属地址 : 点我投票 #70 ,谢谢感谢 2018 那些走…

    2022年2月27日
    36
  • 锁定屏幕相关知识「建议收藏」

    锁定屏幕相关知识「建议收藏」  (1)LockWorkStation()锁定当前用户返回到登录界面 (2)HKEY_CURRENT_USER/Software/Microsoft/Windows/CurentVersion/Polioies/Explores下的”NoSaveSetting”值为1则禁止修改桌面(需要重启) (3)HKEY_CURRENT_USER/Software//microsof

    2022年7月21日
    19
  • 双向链表排序[通俗易懂]

    双向链表排序[通俗易懂]双向链表的结构体,包括一个前驱节点的指针、一个后继节点的指针以及一个存储数据的data域,initList函数初始化单节点的双链表,addList函数采用头插入方法添加一个节点到双链表中,sort函数实现了对双链表的排序,采用头插入方式建成的双链表的头结点(存储65535的那个节点)必然在末尾(其实双链表没有首尾之说,只是把它当作末尾),排序的时候,1.首先从该节点处,每次查找前驱节点,并记录da…

    2022年10月11日
    4

发表回复

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

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