H5零基础-定位模式

2022-01-11  本文已影响0人  翀鹰精灵

定位的使用场景:

京东.png 淘宝.png

以上效果,标准流或浮动都无法快速实现,此时需要定位来实现。

定位可以让盒子自由的在某个盒子内移动位置 或 固定屏幕中某个位置,并可以压住其它盒子。

定位:将盒子在某一个置,所以定位也是在摆放盒子,按照定位的方式移动盒子。

定位 = 定位模式 + 边偏移

定位模式 用于指定一个元素在文档中的定位方式。
边偏移则决定了钙元素的最终位置。

一、定位模式

position : static | absolute | fixed | relative

定位模式决定元素的定位方式,它通过CSS的position属性来设置,有以下四个值:

语义
static 静态定位
relative 相对定位
absolute 绝对定位
fixed 固定定位
1.1 静态定位 static (了解)

静态定位是元素的默认定位方式无定位的意思
语法:

选择器 {position : static ;}

静态定位特点:

1.2 相对定位 relative

相对定位是元素在移动位置的时候,是相对于原来的位置来说的。[自恋型]
语法:

选择器 {position : relative ;}

示例代码:

<style>
        .box1 {
            position: relative;
            top: 100px;
            left: 100px;
            width: 200px;
            height: 200px;
            background-color: pink;
        }

        .box2 {
            width: 200px;
            height: 200px;
            background-color: deeppink;
        }
</style>

<div class="box1"></div>
<div class="box2"></div>

运行效果图:

image.png

运行效果分析图:


image.png

相对定位的特点:(重要)

1.3 绝对定位 absolute (重要)

绝对定位是元素在移动位置的时候,是相对于它祖先元素来说的。[拼爹型]
语法:

选择器 {position : absolute ;}

示例代码1:(没有祖先元素或者祖先元素没有定位)

  <style>
      .son {
            position: absolute;
            top: 10px;
            left: 10px;
            width: 200px;
            height: 200px;
            background-color: pink;
        }
    </style>
    <div class="son"></div>

运行效果:

image.png

示例代码2:[祖先元素有定位(相对、绝对、固定定位)]

  <style>
      .father {
            position: relative;
            width: 500px;
            height: 500px;
            background-color: deeppink;
        }

        .son {
            position: absolute;
            top: 10px;
            left: 10px;
            width: 200px;
            height: 200px;
            background-color: pink;
        }
    </style> 

    <div class="father">
        <div class="son"></div>
    </div>

运行效果:

image.png

绝对定位的特点: (非常重要)

⚠️相对定位relative vs 绝对定位absolute ⚠️

小结:因为父级需要占有位置,因此是相对位置,子盒子不需要占有位置,则是绝对定位。
当然,子绝父相不是永恒不变的,如果父元素不需要占有位置,子绝父绝也会用到。

1.4 固定定位 fixed

固定定位是元素固定于浏览器可视区域的位置
主要使用场景:可以在浏览器页面滚动时元素的位置不会改变。

语法:

选择器 {position : fixed ;}

固定定位的特点: (非常重要)
1.以浏览器的可视窗口为参照点移动元素。

2.固定定位不在占有原先的位置

1.5 粘性定位 sticky (了解)

粘性定位可以被认为是相对定位和固定定位的混合。

语法:

选择器 {position : sticky ; top:10px; }

示例代码:

   <style>
     body {
            height: 3000px;
        }

        .nav {
            position: sticky;
            top: 0;
            width: 800px;
            height: 50px;
            background-color: pink;
            margin: 100px auto;
        }
    </style>

  <div class="nav">我是导航栏</div>

运行效果:

当向下滑动的时候,导航栏会悬浮到顶部。滑动到最顶部的时候,距离顶部100px。

image.png image.png

粘性定位的特点:

定位总结

定位模式 是否脱标 移动位置 是否常用
static静态定位 不能使用边偏移 很少
relative相对定位 否(占有位置) 相对资深位置移动 常用
absolute绝对定位 是(不占有位置) 带有定位的父级 常用
fixed固定定位 是(不占有位置) 浏览器可视区 常用
sticky 粘性定位 否(占有位置) 浏览器可视区 较少

END !

上一篇 下一篇

猜你喜欢

热点阅读