博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
绝对定位的除了改变元素的位置还能控制元素样式?
阅读量:5047 次
发布时间:2019-06-12

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

先说结论

绝对定位有一下几个特点:

1、w3c原话:任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型.

2、绝对定位 和 固定定位 的元素若没有设置 top/right/left/bottom 的值。其位置为原来在文档流中的位置]。其他文档流元素会占据其原来位置.

要使绝对定位或固定定位的元素水平居中,需要设置其 width 为固定值,并且 left: 0; right: 0; 。

3、绝对定位 和 固定定位 的元素,若其宽度 width 或高度 height 的单位为 百分比 ,宽度和高度值是相对于其基于定位的元素计算的。(在使用一些stick插件时尤其要注意这点)。

 

结合实例分析一下上述说法:

html如下:

css代码如下:

视觉效果图如下:

 

第一步:给'oldWang'绝对定位,加一行代码:

position: absolute;
.(位置是自己的位子,但是实际位置被别人占了)

(1)虽然span是行内元素.但是绝对定位生成了一个块级区域,所有宽高设置都生效了.

(其实这一步我最早是失败的,就是宽高不生效,只有设置了left:0,top:0之类的位置才能让宽高生效.不知怎么重现不了了,后续可以再研究一下)

(2)注意宽高的百分比参照物变成了'father'了,也就是说最近的定位元素.

块级元素是有百分比设置宽高,使用绝对定位时会导致参照物变化,从而影响样式.

而且

第二步:设置top和left.位置变化.(注意:有时候宽高没设置成功需要给一个位置的值.)

位置变化也是参照的最近的定位父元素.

 

综上所述:由于绝对定位会生成块级区域,所以可以给行内元素设置宽高.同时,绝对定位可能会改变元素位置和大小的参照物,所以设置成百分比的样式可能会变化.

 

 

转载于:https://www.cnblogs.com/Shyno/p/11477470.html

你可能感兴趣的文章
Web框架和Django基础
查看>>
python中的逻辑操作符
查看>>
HDU 1548 A strange lift (Dijkstra)
查看>>
每天一个小程序—0005题(批量处理图片大小)
查看>>
IIS的各种身份验证详细测试
查看>>
JavaScript特效源码(3、菜单特效)
查看>>
Linux常用命令总结
查看>>
yii模型ar中备忘
查看>>
C#线程入门
查看>>
CSS清除浮动方法
查看>>
JVM内存回收机制简述
查看>>
洛咕 P2480 [SDOI2010]古代猪文
查看>>
js-创建对象的几种方式
查看>>
JDK JRE Java虚拟机的关系
查看>>
2018.11.20
查看>>
word20161215
查看>>
12th week blog
查看>>
dijkstra (模板)
查看>>
python小记(3)
查看>>
编译Linux驱动程序 遇到的问题
查看>>