博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
html 相对定位位置写法,html相对定位绝对定位
阅读量:4986 次
发布时间:2019-06-12

本文共 1059 字,大约阅读时间需要 3 分钟。

孔子说:“温故而知新,可以为师矣。”这几天参加了一个免费的前端课,每天晚上都有直播,讲解一个独立的案例。在听前端基础的时候,发现自己有不少东西没学会,平时在学校虽说html也写了不少,但有好大一部分都被忽略掉了。就在刚才看了一个基础案例,很是有共鸣,一个简单的轮播图,牵扯到的东西实在是多。不得不说,专业的就是专业的。

好了,废话不多说,直接上干货。经常做页面渲染的筒子可能会遇到的一个问题,position的相对定位和绝对定位。这个问题看似很简单,不就是一个定位嘛,有什么的?别急,我们慢慢往下看。网上流传着一个说法,叫子绝父相。就是说子元素设置绝对定位,父元素设置相对定位。然后就可以给子元素设定top,left值来控制位置。这其实是一种很错误的观念,完全曲解了定义。楼主之前在学校写页面的时候也犯过类似的错误,只要实现了效果就行,管他什么原理呢,结果每次碰到定位的问题都卡壳。查半天还记不住,为了彻底搞懂这个,特地花时间写了这篇帖子。

relative也就是相对定位:是相对于本身的位置进行偏移。只看自己,不看其他。

absolute绝对定位:相对于非static的祖先元素进行位置偏移,当这样的元素不存在,则相对于根级容器定位。

以一个轮播图为例,html代码:

AAffA0nNPuCLAAAAAElFTkSuQmCC

        1.jpg

        2.jpg

        3.jpg

AAffA0nNPuCLAAAAAElFTkSuQmCC

CSS代码:

AAffA0nNPuCLAAAAAElFTkSuQmCC

banner是banner-bg的父级,然后给banner设置一个position:absolute属性。按照规则absolute要找他的非static祖先元素,我们为了让banner-bg这几个轮播图都固定在最上面,所以就要给轮播容器banner添加一个position:relative属性。这样设定left:0;top:0;就会定位到banner了。虽然不设定banner的relative属性也能将图片放到顶部,但那样的话,banner-bg找的是根级元素html,这并不是我们想要的效果。为了以后不出现差错,还是给想要定位的元素添加一个position:relative属性。

说了这么多,其实absolute定位的时候,就看你想要定位到哪个父级元素,就给哪个元素添加relative属性。而不是盲目的去套那些子绝父相什么的。搞懂原理才是正解。希望能帮到需要的人,花了一下午整理,就怕有些定义搞不太懂,编辑博客也是一个学习的过程,本着对他人负责的态度,写出来的东西一定要确认无误后才敢发表。有不足之处欢迎指出。

原文出处:https://www.cnblogs.com/shaokai7878/p/9531818.html

你可能感兴趣的文章
layui学习
查看>>
zepto源码--整体框架--学习笔记
查看>>
ZeroMQ研究与应用分析
查看>>
纯windows下制作变色龙引导安装U盘教程
查看>>
输出一个数组里最大子数组的和(文件)
查看>>
复杂sql书写方法
查看>>
路由器安置(Routing)
查看>>
4.24—010—周三
查看>>
误移动根目录导致系统异常的解决办法
查看>>
n层满k叉树总共有多少个节点
查看>>
对于JSONObject,我只是临时抱佛脚
查看>>
springboot与dubbo整合入门(三种方式)
查看>>
with上下文管理器
查看>>
MySQL中 如何查询表名中包含某字段的表 ,查询MySql数据库架构信息:数据库,表,表字段...
查看>>
03-position和anchorPoint
查看>>
windows 下 nginx 的启动 停止 关闭
查看>>
Django 数据表更改
查看>>
java io读写文件
查看>>
【智能算法】粒子群寻优算法
查看>>
生活中一面,网上另一面
查看>>