定位(position)
程序员文章站
2024-03-20 17:15:16
...
定位的三种机制
- 普通流(标准流)
- 浮动
让盒子从普通流中浮起来 —— 让多个盒子(div)水平排列成一行。 - 定位
将盒子定在某一个位置 *的漂浮在其他盒子的上面 —— CSS 离不开定位,特别是后面的js 特效。
定位边偏移
在 CSS 中,通过 top 、 bottom 、 left 和 right 属性定义元素的边偏移:
3.2.1 静态定位(static) - 了解
静态定位是元素的默认定位方式,无定位的意思。它相当于 border 里面的none, 不要定位的时候用。
静态定位 按照标准流特性摆放位置,它没有边偏移。
静态定位在布局时我们几乎不用的
3.2.2 相对定位(relative) - 重要
相对定位是元素相对于它 原来在标准流中的位置 来说的。
相对于 自己原来在标准流中位置来移动的
原来在标准流的区域继续占有,后面的盒子仍然以标准流的方式对待它。
3.2.3 绝对定位(absolute) - 重要
- 完全脱标 —— 完全不占位置;
- 父元素没有定位,则以浏览器为准定位(Document 文档)。
3.2.4 固定定位(fixed) - 重要
1.完全脱标 —— 完全不占位置;
2.只认浏览器的可视窗口 —— 浏览器可视窗口 + 边偏移属性 来设置元素的位置;跟父元素没有任何关系;单独使用的不随滚动条滚动。
5. 定位(position)的扩展
绝对定位的盒子居中
- left: 50%; :让盒子的左侧移动到父级元素的水平中心位置;
- margin-left: -100px; :让盒子向左移动自身宽度的一半。
5.2 堆叠顺序(z-index)
层叠顺序的特征:
- 属性值:正整数、负整数或 0,默认值是 0,数值越大,盒子越靠上;
- 如果属性值相同,则按照书写顺序,后来居上;
- 数字后面不能加单位。
.imgs:hover{
transform: scale(1.2) rotate(0deg);
transition: 0.7s all;
z-index: 3;
}
5.3 定位改变display属性
可以用inline-block 转换为行内块
可以用浮动 float 默认转换为行内块(类似,并不完全一样,因为浮动是脱标的)
绝对定位和固定定位也和浮动类似, 默认转换的特性 转换为行内块。
综合演练 - 淘宝轮播图
border-top-left-radius:20px;
border-top-right-radius:20px;
border-bottom-right-radius:20px;
border-bottom-left-radius:20px;
定位小结
上一篇: iOS学习之Map,定位,标记位置的使用
下一篇: 二分查找的细节