position属性
CSS的 position 属性设置元素的定位方式,为将要定位的元素定义定位规则。(摘自 MDN)
其默认值为static,当元素的position属性不为static就被称之为 定位元素。其包括相对定位元素、绝对定位元素、粘性定位元素三种类型。最后的粘性属性sticky还处在实验状态中。其余3种属性值如下:
- relative 为相对定位。relative元素依据自身的原始位置进行相对变化,其原始位置保留不会改变布局。和static一样不会脱离文档普通流(normal-flow)。 什么是文档普通流
- absolute 为绝对定位。absolute元素会递归查找该元素的祖先元素,如果最近的祖先元素position设置为relavite/absolute/fixed,则依据该祖先元素进行偏移。如果不存在包含上述属性的祖先元素,该元素的位置则由初始包含块(initial containing block)定位。absolute的元素会脱离普通流。
- fixed 为固定定位。fixed元素通过相对于屏幕视窗的位置来指定元素空间。fixed元素依然会脱离普通流。
说完理论,我们思考barelyfitz上的 案例。我们知道absolute会脱离普通流,那在使用中出现案例第五步中的遮盖问题。两个absolute定位的元素#div-1a、#div-1b将普通流中的#div-1c遮盖掉。作者使用float属性来解决这个问题。
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn