当前位置: 首页 > news >正文

CSS定位详解

1. 相对定位

1.1 如何设置相对定位?
给元素设置 position:relative 即可实现相对定位。
可以使用 left right top bottom 四个属性调整位置。
1.2 相对定位的参考点在哪里?
相对自己原来的位置
1.3 相对定位的特点:
1. 不会脱离文档流,元素位置的变化,只是视觉效果上的变化,不会对其他元素产生任何影响。
2. 定位元素的显示层级比普通元素高,无论什么定位,显示层级都是一样的。
默认规则是:
定位的元素会盖在普通元素之上。都发生定位的两个元素,后写的元素会盖在先写的元素之上。
3. left 不能和 right 一起设置, top bottom 不能一起设置。
4. 相对定位的元素,也能继续浮动,但不推荐这样做。
5. 相对行为的元素,也能通过 margin 调整位置,但不推荐这样做。

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>01_相对定位</title>
    <style>
        .outer{
            width: 500px;
            background-color: aquamarine;
            border: 1px solid black;
            padding: 20px;
        }
        .box{
            width: 100px;
            height: 100px;
            font-size: 20px;
        }
        .box1 {
            background-color: red;
        }
        .box2 {
            background-color: green;
            position: relative;
            left: 10px;
        }
        .box3 {
            background-color: hotpink;
        }
    </style>
</head>
<body>
    <div class="outer">
        <div class="box box1">1</div>
        <div class="box box2">2</div>
        <div class="box box3">3</div>
    </div>
</body>
</html>

 注意:绝大多数情况下,相对定位,会与绝对定位配合使用。

2. 绝对定位

2.1 如何设置绝对定位?
给元素设置 position: absolute 即可实现绝对定位。
可以使用 left right top bottom 四个属性调整位置。
绝对定位的参考点是参考它的 包含块

什么是包含块?
1. 对于没有脱离文档流的元素:包含块就是父元素;
2. 对于脱离文档流的元素:包含块是第一个拥有定位属性的祖先元素(如果所有祖先都
没定位,那包含块就是整个页面)

口诀:子绝父相(子元素开启绝对定位,父元素就要开启相对定位)

鼠标浮动在父元素上,盒子2向右移动200px

<!DOCTYPE html>
<html lang="zh-cn">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>02_绝对定位</title>
    <style>
        .outer {
            width: 500px;
            background-color: aquamarine;
            border: 1px solid black;
            padding: 20px;
            position: relative;
        }

        .box {
            width: 100px;
            height: 100px;
            font-size: 20px;
        }

        .box1 {
            background-color: red;
        }

        .box2 {
            background-color: green;
            /* 给2开启了绝对定位,他就脱离了文档流 3就占领了2的位置 */
            position: absolute;
    
        }

        .box3 {
            background-color: hotpink;
        }

        .outer:hover .box2{
            right: 200px;

        }
    </style>
</head>

<body>
    <div class="outer">
        <div class="box box1">1</div>
        <div class="box box2">2</div>
        <div class="box box3">3</div>
    </div>
</body>

</html>

相关文章:

  • 一键安装Mysql部署脚本之Linux在线安装Mysql,脚本化自动化执行服务器部署(附执行脚本下载)
  • 【Linux】进程退出 | 初始缓冲区 | 子进程回收(六)
  • PE文件结构详解(DOS头/NT头/节表/导入表)使用010 Editor手动解析notepad++.exe的PE结构
  • 泛微数智大脑Xiaoe.AI产品体验大会全国巡展,即将启航,诚邀现场体验
  • 【开源免费】基于SpringBoot+Vue.JS酒店管理系统(JAVA毕业设计)
  • 使用python运行网格世界环境下 TD算法
  • DeepSeek学习规划
  • 智能座舱介绍
  • 快速在本地运行SpringBoot项目的流程介绍
  • 智能称重搬物寻迹小车(论文+源码)
  • 虚拟机快照与linux的目录结构
  • MyBatis基础模块-日志模块
  • hive 面试题
  • Android Activity栈关系解析
  • 【朝夕教育】《鸿蒙原生应用开发从零基础到多实战》005-TypeScript 中的枚举
  • 各章节详细总结与 Vue 学习收尾
  • Java——GUI
  • NLP11-命名实体识别(NER)概述
  • Jordan标准型的意义和应用
  • 数据集笔记:新加坡停车费
  • 受工友诱骗为获好处费代购免税品,海口海关:两当事人被立案
  • 新质观察|低空货运是城市发展低空经济的第一引擎
  • 对话作家吉井忍:“滚石”般的生活,让我看到多种人生可能
  • 苏州1-4月进出口总值增长6.8%,工业机器人出口额倍增
  • 美俄亥俄州北部发生火车撞人事故,致2人死亡、至少1人失踪
  • 波兰总统选举投票开始,将是对亲欧路线的一次严峻考验