positionabsolute的元素会相对于距离最近的positionrelative/fixed/absolute的上级元素进行定位,如果上级元素都没有position属性,那么则相对于初始包含块定位。

初始包含块不是body元素也不是html元素,而是html元素的包含块(the initial containing block),指的是以整个 canvas (渲染内容的空间) 的坐标原点(左上)为基准,以 viewport (也就是浏览器视窗内渲染 HTML 的空间)为大小的矩形。

想详细了解可以前往w3c关于包含块及初始包含块的定义。

下面是测试代码:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>例子</title><style type="text/css">html{background-color: yellow;border: 5px solid black;}body{width: 600px;height: 600px;background-color: grey;border: 5px solid red;color: white;font-size: 50px;}#box1{width: 200px;height: 200px;background-color: green;border: 5px solid blue;}</style></head><body>BODY<div id="box1">div</div></body>
</html>

我们给html元素,body元素和div元素都加了一个边框和背景颜色,此时的效果如下:

被黑色边框包围的区域是html元素的区域,被红色边框包围的是body元素。
这里我们给div元素添加position:relative;bottom: 0px;
效果如下:

可以看出div元素不是根据body元素或html元素来定位的。

CSS绝对定位absolute元素的初始包含块不是body元素,也不是html元素相关推荐

  1. CSS绝对定位(absolute)同时设定left right,或者top bottom

    渲染的时候会尽量满足,相当于设置了width=100%,height=100%,可以利用margin:auto实现水平/垂直居中 <!DOCTYPE html> <html> ...

  2. 一文读懂css【css3】绝对(absolute)定位和相对(relative)定位 相对定位是相对谁定位的 绝对定位又是根据谁绝对定位的 子绝父相 包含块

    目录 何为定位 偏移量 垂直方向 top bottom 水平方向 left right relative-相对定位 何为相对定位 相对定位的特点 实例 元素代码的起始位置 元素若不开启相对定位,即便设 ...

  3. 微信小程序 位置定位position详解,相对定位relative,绝对定位absolute相关问题

    一.位置position[定位属性:static,relative,absolute,fixed,inherit,-ms-page,initial,unset] 1.static:元素框正常生成,块级 ...

  4. 你真的了解CSS包含块么?

    我所了解的CSS包含块 包含块有什么作用呢?下文接下来带你知晓 ↓↓↓↓↓↓↓ 文章目录 我所了解的CSS包含块 指出错误观念 什么是包含块? 根元素包含块 其他元素的包含块 如何确定元素的包含块? ...

  5. html怎么做包含块,字节前端都知道的CSS包含块规则

    你是否曾对CSS中的百分比单位非常疑惑?是否简单认为百分比的基准值就是所在元素的宽高?本文将从包含块角度帮助大家理解记忆百分比单位的计算规则,便于巧妙运用包含块规则解决实际开发中的布局问题! 一.确立 ...

  6. CSS之排列系列--块级元素、内联元素、内联块元素--区别/详解

    原文网址:CSS之排列系列--块级元素.内联元素.内联块元素--区别/详解_IT利刃出鞘的博客-CSDN博客 简介 本文介绍CSS的块级元素(block).内联元素(inline)和内联块元素(inl ...

  7. CSS绝对定位模拟固定定位(absolute模拟fixed)

    滚动条的产生 滚动条在谁身上 初始包含块 <!DOCTYPE html> <html><head><meta charset="UTF-8" ...

  8. 下面html标签元素中不属于块元素的是,HTML中为何P标签内不可包含块元素?

    起因:在做项目时发现原本在DW中无误的代码到了MyEclipse6.0里面却提示N多错误,甚是诧异.于是究其原因,发现块级元素P内是不能嵌套DIV的. 深究:我们先来认识in-line内联元素和blo ...

  9. css怎么将块元素变成,CSS块元素、行内元素、行内块元素的转换

    一.块元素转行内元素:display:inline 二.行内元素转块元素:display:block div{ display: inline; /*无效 width: 500px; height: ...

最新文章

  1. QT学习笔记(-): 利用QHttp进行http下载(1)
  2. PHP MySql数据库访问
  3. 把Hybris安装时输出的日志重定向到一个本地文件中
  4. C# 11 中的参数 null 检查
  5. 数据库原理及应用【四】数据库管理系统
  6. 排序算法以及基本数据结构
  7. FTP服务学习笔记之FTP简介(1)
  8. 常用的系统架构 web服务器之iis,apache,tomcat三者之间的比较
  9. C语言常用字符串函数strlen、strcpy、strcat、strcmp、strchr
  10. 兰州大学计算机英语分数线,兰州大学09MBA分数线A线140综合72英语42
  11. SQL 常用语句INSERT INTO,UPDATE,DELETE
  12. JVM调优--04---dump文件分析 、arthas在线排查工具
  13. QQ空间官方账号被黑产利用漏洞分析
  14. AUTOSAR入门介绍
  15. 22考研杭师管理科学与工程专业368分经验贴(Python141+政治80+日语71,含数政专书籍与免费课程资源推荐)
  16. c语言程序 5ms 延时,计算机单片机延时方法电脑c语言.docx
  17. Docker容器无法启动,里面的配置文件如何修改
  18. 转自科学松鼠会------压缩感知的基础认识
  19. 1951-2021年高考数学试题
  20. 天河一号超级计算机研究成功,超级计算机“天河一号”研制成功

热门文章

  1. 结构体含有指针的写入文件
  2. IDEA Java开发常用插件
  3. phoenixframework自动化测试平台1.4.6版本发布
  4. Xamarin只言片语3——Xamarin.Android下支付宝(Alipay SDK)使用
  5. Bitmap 和Drawable 的区别
  6. LVS + Nginx +Tomcat 高可用架构
  7. 从h264码流中获取图像的宽高---版本1 (移植于ffmpeg)
  8. 计算机网络配置虚拟ip,好不好在电脑中设置虚拟IP地址?
  9. python上三角九九乘法表_用5行Python代码打印九九乘法表
  10. Kafka-partition