css3——position定位详解
最近热衷于前端的开发,因为突然发现虽然对于网站、应用来说,功能处于绝对重要的地位,但是用户体验对于用户来讲同样是那么的重要,可以说是第一印象。最近在开发当中发现以前对于css中的position的理解有些偏颇,在这里分享一下这几天的学习。
首先总体介绍一下接下来要分析的position属性的两个值:absolute和relative(绝对定位和相对定位),
绝对定位:1、当某元素使用绝对定位并且未设置top,left的值时,实际上并未真正脱离文档流,2、使用绝对定位并且设置了top,left时,这才脱离了文档流,并以最外层body元素作为父容器,
相对定位:1、当某元素使用相对定位时,无论设不设置top,left的值,都不会脱离文档流
接下来以实验论证我的观点,贴出一段实验小代码
相信这个就不用多做解释了,外层一个div,里面有三个div,第一个是普通div,接下来一个id是absolute,另一个是relative,摆明了就是分别测试absolute和relative的。
我们在init函数中分别将absolute和relative的div的内容显示两个div分别的top和left
最外层div距离浏览器上边框10px,里面第一个(红色)div高度为30,在absolute和relative中可以看出top的值是一样的,那么是不是就说明无论是absolute还是relative在这个时候都未脱离文档流,因为他们被上面第一个div挤下来了,接下来分别将absolute和relative两个div设置 top=100px,那么结果如下:
由上图可以看出,设置了top之后,absolute这个元素的top值是100px,而relative的top值却是144px,说明absolute这个元素是脱离了文档流以body为父元素的,而relative中的144=100+44,说明relative是以外层div为父容器,并且未脱离文档流,在上一个(红色)div的基础上向下平移了100px,由此证明了以上论断。
position属性值还有fixed,和默认值static,以及top,left的用法还有很多注意事项,以后慢慢再说。
css3——position定位详解的更多相关文章
- CSS魔法堂:Position定位详解
一.Position各属性值详解 1. static :默认值,元素将按照正常文档流规则排列. 2. relative :相对定位,元素仍然处于正常文档流当中,但可以通过left.top. ...
- css position定位详解
position:static 默认方式: position:relative 相对定位,相对于原有位置进行移动,并且保留它在文件流中的占位: position:absolute 绝对定位,相对于最近 ...
- css相关,position定位详解
CSS 有两个最重要的基本属性,前端开发必须掌握:display 和 position. display属性指定网页的布局.两个重要的布局,弹性布局flex和网格布局grid. 本文介绍非常有用的po ...
- Position定位详解
Position CSS position属性用于指定一个元素在文档中的定位方式.top,right,bottom 和 left 属性则决定了该元素的最终位置. 在分析position元素定位之前,先 ...
- 带你走进CSS定位详解
学习CSS相关知识,定位是其中的重点,也是难点之一,如果不了解css定位有时候都不知道怎么用,下面整理了一下关于定位属性的具体理解和应用方案. 一:定位 定位属性列表 position top bot ...
- HTML中元素的position属性详解
HTML中元素的position属性详解 转载自:https://blog.csdn.net/wangzunkuan/article/details/81540935 HTML中DOM元素有5种定 ...
- CSS进阶内容—浮动和定位详解
CSS进阶内容-浮动和定位详解 我们在学习了CSS的基本知识和盒子之后,就该了解一下网页的整体构成了 当然如果没有学习之前的知识,可以到我的主页中查看之前的文章:秋落雨微凉 - 博客园 CSS的三种布 ...
- CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)
CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate) 在CSS3中,可以利用transform功能来实现文字或图像的旋转.缩放.倾 ...
- CSS3 transform 属性详解(skew, rotate, translate, scale)
写这篇文章是因为在一个前端QQ群里,网友 "小豆豆" (应他要求要出现他的网名......) ,问skew的角度怎么算,因为他看了很多文章还是不能理解skew的原理.于是,我觉得有 ...
随机推荐
- JS将JSON日期转换为指定格式的日期
1.引入JS日期转换的函数库 function Format(now,mask) { var d = now; var zeroize = function (value, length) { if ...
- 微信 编码要UTF8
<%@ WebHandler Language="C#" Class="Handler" %> using System; using System ...
- Kubernetes网络配置
#flannel#所有node都安装#下载https://github.com/coreos/flannel/releases#解压并把flanneld和mk-codker-opts.sh复制到/us ...
- SpringBoot无XML配置
SpringBoot,自己研究了好几天,以前也是没有接触过这类的框架,不过原理吧,也就是那么些个原理,毕竟都是Spring开源下的子框架. 好了,回归正题,今天晚上研究了好久,写出来了无配置文件的ja ...
- Java错误随手记
一.Eclipse启动时提示: An internal error occurred during: "Initializing Java Tooling" 1.关闭Eclipse ...
- python cProfile分析程序性能
转自:http://xianglong.me/article/analysis-python-application-performance-using-cProfile/?utm_source=tu ...
- Codeforces Round #446 (Div. 2) B. Wrath【模拟/贪心】
B. Wrath time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...
- Sunscreen
题目描述 To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows must cover her hide w ...
- 【转载】GCC 预处理器选项
预处理器选项(Preprocessor Option) 下列选项针对C预处理器,预处理器用在正式编译以前,对C 源文件进行某种处理. 如果指定了`-E'选项, GCC只进行预处理工作.下面的某些选项必 ...
- MySQL索引,MySQL性能分析及explain的使用,分析SQL查询性能
可以使用explain来分析MySQL查询性能,举例如下: 1.使用explain语句去查看分析结果 如 explain select * from test1 where id=1; 会出现: id ...