关于子元素的absolute定位
来源:互联网 发布:mysql statistics状态 编辑:程序博客网 时间:2024/05/18 21:48
关于子元素(如div)在父元素(如div)中的定位问题:
假设现有html代码如下
<div class="div1"> <div class="div2> test </div></div>
想让div2在div1中实现底部居中的效果,查找资料发现关键步骤(CSS)是
div{ width: 100px; height: 100px; position: relative; }.div2{ position: absolute; left: 50%; bottom: 20px; /*按需要从底部上移*/}
在一篇文章看到以下内容,解释得很清楚
position:absolute 元素相对最近的 position 为 absolute / relative / fixed 的祖先元素(包含块)定位,如果没有这样的祖先元素,则以初始包含块进行定位,而初始包含块并不是以或进行定位的。
w3c关于包含块及初始包含块的定义
测试如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>position:absolute</title></head><style type="text/css"> html{ border: 1px solid red; background-color: #ee8; } body{ width:300px; height: 200px; margin: 10px auto; background-color: #ccc; border: 1px solid blue; } div{ width: 100px; height: 100px; background-color: #3ff; position: absolute; }</style><body>body <div>div</div></body></html>
此时的效果如下:
body添加position:relative;
div添加 bottom:0;
效果如下:
html添加position:relative;
div添加 bottom:0;
效果如下:
body和html都不进行定位,div设置bottom:0;
此时效果如下:
所以,当绝对定位元素的祖先元素都没有进行relative/absolute/fixed定位时,是相对于初始包含块来定位的,而初始包含块并不是以或进行定位的。
0 0
- 关于子元素的absolute定位
- 在父元素有padding时,子元素absolute相对于父元素的定位点。
- 子元素absolute定位时父元素有无relative的区别
- IE6 下父级(relative)使用padding后,子元素绝对定位(absolute)的bug
- 关于absolute定位的一些问题总结
- 关于absolute的绝对定位技术
- 父元素设置absolute或relative,子元素设置fixed定位失效
- overflow:hidden同样会隐藏position:absolute的子元素
- 关于IE6中absolute定位错误的原因及解决方案
- 【兼容ie6笔记】当li为父级元素,子级元素使用了position:absolute,并用left定位时
- 关于元素定位的问题
- 元素定位(1)--absolute与float
- 绝对定位absolute的好处
- CSS的绝对定位absolute
- 子元素设置相对定位,父元素的overflow失效
- CSS中position的absolute如何相对于父元素的位置进行定位
- CSS中position的absolute如何相对于父元素的位置进行定位
- CSS中position的absolute如何相对于父元素的位置进行定位
- 思想通 万事通
- 变长数组(动态数组)
- 一个较好的时间选择插件
- CentOS-6.8 安装 Nginx
- HDOJ 5887 Herbs Gathering 【2016青岛网赛】DP+MAP
- 关于子元素的absolute定位
- 344. Reverse String
- PHPExcel读取excel文件2
- OpenCV学习笔记(三)——Mat,图像的新容器
- FactoryMethod_Requirement2
- RESTful API 设计最佳实践(5)
- Java 以XML格式的http请求 客户端请求报文框架搭建
- 345. Reverse Vowels of a String
- WSGI接口