【CSS基础】定位的有关知识点

1. 为什么需要定位?

  1. 浮动可以让多个块级盒子一行没有缝隙排列显示,经常用于横向排列盒子。
  2. 定位则是可以让盒子自由地在某个盒子内移动位置或者固定屏幕中某个位置,并且可以压住其他盒子。

2. 定位组成

  1. 定位: 将盒子在某一个置,所以定位也是在摆放盒子,按照定位的方式移动盒子。
  2. 定位 = 定位模式 + 边偏移
  3. 定位模式用于指定一个元素在文档中地定位方式。
  4. 边偏移则决定了该元素的最终位置。

2.1 定位模式

【CSS基础】定位的有关知识点_第1张图片

2.1.1 静态定位static (了解)

【CSS基础】定位的有关知识点_第2张图片

  • 静态定位在布局时很少用到
2.1.2 相对定位relative(重点)

【CSS基础】定位的有关知识点_第3张图片
代码举例:

  1. 设置相对定位之前:
DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Documenttitle>
    <style>
        .box {
            width: 200px;
            height: 200px;
            background-color: pink;
        }
    style>
head>
<body>
    <div class="box">div>
body>
html>

效果:
【CSS基础】定位的有关知识点_第4张图片

  1. 设置相对定位之后:
DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Documenttitle>
    <style>
        .box {
            position: relative;
            top: 200px;
            left: 100px;
            width: 200px;
            height: 200px;
            background-color: pink;
        }
    style>
head>
<body>
    <div class="box">div>
body>
html>

结果:
【CSS基础】定位的有关知识点_第5张图片
不脱标代码举例:

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Documenttitle>
    <style>
        .box {
            position: relative;
            top: 20px;
            left: 10px;
            width: 200px;
            height: 200px;
            background-color: pink;
        }
        .next {
            width: 500px;
            height: 200px;
            background-color: skyblue;
        }
    style>
head>
<body>
    <div class="box">div>
    <div class="next">div>
body>
html>

结果:
【CSS基础】定位的有关知识点_第6张图片
因此相对定位最典型的应用就是:给绝对定位当爹。

2.1.3 绝对定位absolute(重要)

【CSS基础】定位的有关知识点_第7张图片
特点1代码:

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Documenttitle>
    <style>
        * {
            padding: 0;
            margin: 0;
        }
        .son {
            position: absolute;
            left: 50px;
            top: 50px;
            width: 200px;
            height: 200px;
            background-color: pink;
        }
    style>
head>
<body>
    <div class="son">div>
body>
html>

【CSS基础】定位的有关知识点_第8张图片
特点2代码:

DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Documenttitle>
    <style>
      * {
        padding: 0;
        margin: 0;
      }
      .son {
        position: absolute;
        right: 100px;
        bottom: 100px;
        width: 200px;
        height: 200px;
        background-color: pink;
      }
      .father {
          width: 300px;
          height: 300px;
          background-color: purple;
      }
      .grandpa {
          position: relative;
          width: 400px;
          height: 400px;
          background-color: skyblue;
      }
    style>
  head>
  <body>
    <div class="grandpa">
      <div class="father">
        <div class="son">div>
      div>
    div>
  body>
html>

效果:
父级盒子没有定位,所以是相对于爷爷盒子的位置。
【CSS基础】定位的有关知识点_第9张图片
特点3代码:

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Documenttitle>
    <style>
        * {
            padding: 0;
            margin: 0;
        }
        .box {
            position: absolute;
            width: 200px;
            height: 200px;
            background-color: skyblue;
        }
        .next {
            width: 500px;
            height: 300px;
            background-color: pink;
        }
    style>
head>
<body>
    <div class="box">div>
    <div class="next">div>
body>
html>

结果:
【CSS基础】定位的有关知识点_第10张图片
蓝色盒子脱标了。

2.1.3 固定定位fixed(重点)

【CSS基础】定位的有关知识点_第11张图片
代码:


DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Documenttitle>
    <style>
        .w {
            width: 1000px;
            height: 1000px;
            background-color: pink;
            margin: 0 auto;
        }
        .fix {
            position: fixed;
            left: 50%;
            margin-left: 504px;
            width: 20px;
            height: 50px;
            background-color: skyblue;
        }
    style>
head>
<body>
    <div class="fix">div>
    <div class="w">div>
body>
html>

结果:
【CSS基础】定位的有关知识点_第12张图片

2.1.3 粘性定位sticky(了解)

【CSS基础】定位的有关知识点_第13张图片


3. 定位总结

【CSS基础】定位的有关知识点_第14张图片

你可能感兴趣的:(css,css3,html,定位,网页布局)