CSS3-定位


    网页常见布局方式
        1 标准流
            1 块级元素独占一行 → 垂直布局
            2 行内元素/行内块元素一行显示多个 → 水平布局
        2 浮动
            可以让原本垂直布局的 块级元素变成水平布局
        3 定位
            1 可以让元素自由的摆放在网页的任意位置
            2 一般用于 盒子之间的层叠情况

        定位的常见应用场景
            1 可以解决盒子与盒子之间的层叠问题
            2 可以让盒子始终固定在屏幕中的某个位置

    使用定位的步骤
        1 设置定位方式
            属性名:position
            常见属性值:
                1 静态定位 static
                2 相对定位 relative
                3 绝对定位 absolute
                3 固定定位 fixed
        2 设置偏移值
            方向        属性名      属性值          含义
            水平        left        数字+px     距离左边的距离
            水平        right       数字+px     距离右边的距离
            垂直        top         数字+px     距离顶部的距离
            垂直        bottom      数字+px     距离底部的距离

    四种定位方式
        1 静态定位
            介绍:静态定位是默认值,就是之前认识的标准流。
            代码:position:static
            注意点:
                1 静态定位就是之前标准流,不能通过方位属性进行移动
                2 之后说的定位不包括静态定位,一般特指后几种:相对、绝对、固定

        2 相对定位
            介绍:自恋型定位,相对于自己之前的位置进行移动
            代码:position:relative
            特点:
                1 需要配合方位属性实现移动
                2 相对于自己原来位置进行移动
                3 在页面中占位置 → 没有脱标
            应用场景:
                1 配合绝对定位组CP(子绝父相)
                2 用于小范围的移动

        3 绝对定位
            介绍:拼爹型定位,相对于已经定位的父元素进行定位移动
            代码:position:absolute
            特点:
                1 需要配合方位属性实现移动
                2 默认相对于浏览器可视区域进行移动
                3 在页面中不占位置 → 已经脱标
                4 如果绝对定位的父级元素都没有设置定位,它会参照body进行移动
                5 如果父级元素有定位(除了静态定位),它会参照最近一个父元素进行移动
            应用场景:
                配合相对定位组CP(子绝父相)

        4 固定定位
            介绍:死心眼型定位,相对于浏览器进行定位移动
            代码:position:fixed
            特点:
                1 需要配合方位属性实现移动
                2 相对于浏览器可视区域进行移动
                3 在页面中不占位置 → 已经脱标
            应用场景:
                让盒子固定在屏幕中的某个位置

代码:相对定位

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box{
            width: 200px;
            height: 200px;
            background-color: pink;
            /* 相对定位 */
            position: relative;
            /* 相对自己向右移动200px */
            left: 200px;
        }
    </style>
</head>
<body>
    <div class="box"></div>
</body>
</html>

效果图:

代码:绝对定位

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .father{
            width: 300px;
            height: 300px;
            background-color: pink;
            margin-left: 200px;
            margin-top: 200px;
            /* 父元素相对定位 */
            position: relative;
        }
        .son{
            width: 100px;
            height: 100px;
            background-color: blue;
            /* 子元素绝对定位 */
            position: absolute;
            top: 50px;
        }
    </style>
</head>
<body>
    <!-- 先注释div.father标签,看son的位置。打开注释,再看son的位置 -->
    <!-- <div class="father"> -->
        <div class="son"></div>
    <!-- </div> -->
</body>
</html>

效果图:

 

代码:固定定位

<!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>Document</title>
    <style>
      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }
      .w {
        width: 600px;
        height: 3000px;
        background-color: skyblue;
        margin: 0 auto;
      }
      .box {
        position: fixed;
        left: 50%;
        margin-left: 320px;
        top: 50px;
        width: 50px;
        height: 300px;
        background-color: orange;
      }
      .box1 {
        position: fixed;
        right: 50%;
        margin-right: 320px;
        top: 50px;
        width: 50px;
        height: 300px;
        background-color: orange;
      }
    </style>
  </head>
  <body>
    <div class="box"></div>
    <div class="box1"></div>
    <div class="w">
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
      <h1>滚动条</h1>
    </div>
  </body>
</html>

效果图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/31315.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用SOCKET搭建linux和window实现实时摄像头传输(linux传输win端使用C++mfc显示)--Win端开发

1.使用MFC搭建框架 配置: Window10VS2013opencv249 如果VS和opencv配置不一样&#xff0c;让版本对应 Opencv与VS版本 1.1 MFC项目搭建 通过这些步骤就创建了一个MFC基础项目。 1.2项目属性配置 本项目因为要使用opencv,所以就要配置以下opencv的环境 首先在opencv官网下载…

(十一)CSharp-LINQ(1)

一、LINQ 数据库可以通过 SQL 进行访问&#xff0c;但在程序中&#xff0c;数据要被保存在差异很大的类对象或结构中。由于没有通用的查询语言来从数据结构中获取数据。所以可以使用 LINQ 可以很轻松地查询对象集合。 LINQ 高级特性&#xff1a; LINQ 代表语言集成查询。LIN…

王道计算机网络学习笔记(1)——计算机网络基本知识

前言 文章中的内容来自B站王道考研计算机网络课程&#xff0c;想要完整学习的可以到B站官方看完整版。 一&#xff1a;计算机网络基本知识 1.1.1&#xff1a;认识计算机网络 计算机网络的功能 网络把许多计算机连接在一起&#xff0c;而互联网则将许多网络连接在一起&#x…

vue3+ts+vite+electron打包exe

文章目录 一. 前言二. 准备写好的vue项目打包2.1 修改ts打包代码检测.这个比较烦人. 在package.json中 2.2 配置打包参数2.3 打包vue 三. 打包exe3.1 拉取electron官方demo3.2 下载打包插件3.3 在electron-quick-start项目中找到入口文件 main.js &#xff0c;修改打包的文件路…

【大数据hive】hive 拉链表设计与实现

目录 一、前言 二、拉链表业务背景 2.1 数据同步引发的问题 2.1.1 解决方案1 2.1.2 解决方案2 2.1.3 解决方案3 三、拉链表设计与原理 3.1 功能与应用场景 3.2 实现步骤 3.2.1 Step1 3.2.2 Step2 3.2.3 Step3 3.3 操作演示 3.3.1 创建一张表并加载数据 3.3.2 模…

segment anything环境配置与使用测试

硬件&#xff1a;RTX3070 i9-11900H 内存16G 目录 一、环境配置 二、使用测试--predictor_example.ipynb 1.jupyter notebook准备操作 2.Object masks from prompts with SAM与Environment Set-up 3.Set-up 4.Example image 5.Selecting objects with SAM 6.Specifyin…

在openSUSE-Leap-15.5-DVD-x86_64的gnome下使用远程桌面tigervnc

在openSUSE-Leap-15.5-DVD-x86_64的gnome下使用远程桌面tigervnc 在openSUSE-Leap-15.5-DVD-x86_64的tigervnc-1.12.0软件设计有变动了&#xff0c;变为一开机就启动远程桌面服务&#xff0c;没有vncserver取而代之是Xvnc&#xff0c;也在自己之前写的一篇博文的基础上作了修改…

开源大型语言模型(llm)总结

大型语言模型&#xff08;LLM&#xff09;是人工智能领域中的一个重要研究方向&#xff0c;在ChatGPT之后&#xff0c;它经历了快速的发展。这些发展主要涉及以下几个方面&#xff1a; 模型规模的增长&#xff1a;LLM的规模越来越大&#xff0c;参数数量显著增加。这种扩展使得…

Elasticsearch:DSL Query

Query DSL的分类 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括&#xff1a; 查询所有&#xff1a;查询出所有的数据&#xff0c;一般测试用&#xff0c;例如&#xff1a;match_all&#xff0c;但有分页限制&#xff0c;一次20…

i5 3470+XSB75M-PK+HD 7750安装黑苹果macOS Big Sur 11.7.7

我本次使用的是 HD 7750 进行安装黑苹果&#xff08;闲鱼80元买的&#xff09;&#xff0c;这款显卡直接就是免驱&#xff0c;最高可以安装的版本是 macOS Monterey &#xff0c;但是建议安装至 macOS Big Sur 以获得较好的体验。 EFI&#xff08;OC引导&#xff09; EFI.zip …

【网络2】MII MDIO

文章目录 1.MII&#xff1a;ISO网络模型中物理层&#xff08;phy&#xff09;和数据链路层&#xff08;mac&#xff09;属于硬件&#xff0c;其余都属于软件kernel2.MDC/MDIO&#xff1a;不仅管phy&#xff0c;只要支持mdio协议都可以管2.1 3.RGMII时序调整&#xff1a;下面波形…

2023-06-19 Untiy进阶 C#知识补充2——C#版本与Unity的关系

文章目录 一、Unity 与 C# 版本二、Unity 的 .Net API 兼容级别 一、Unity 与 C# 版本 Unity 版本C# 版本Unity 2021.2C# 9Unity 2020.3C# 8Unity 2019.4C# 7.3Unity 2017C# 6Unity 5.5C# 4 ​ 更多信息可以在 Unity 官网说明查看&#xff1a;Unity - Manual: C# compiler (u…

EMC学习笔记(七)阻抗控制(一)

阻抗控制&#xff08;一&#xff09; 1.特征阻抗的物理意义1.1 输入阻抗1.2 特征阻抗1.3 偶模阻抗、奇模阻抗、差分阻抗 2.生产工艺对阻抗控制的影响 1.特征阻抗的物理意义 1.1 输入阻抗 在集总电路中&#xff0c;输入阻抗是经常使用的一个术语 &#xff0c;它的物理意义是: …

在 Debian 12 上安装 KubeSphere 实战入门

老 Z&#xff0c;运维架构师&#xff0c;云原生爱好者&#xff0c;目前专注于云原生运维&#xff0c;云原生领域技术栈涉及 Kubernetes、KubeSphere、DevOps、OpenStack、Ansible 等。 前言 知识点 定级&#xff1a;入门级KubeKey 安装部署 KubeSphere 和 KubernetesDebian 操…

arm64架构的linux中断分析(一)

文章目录 1. 中断的概念和作用2. Linux中断处理机制2.1 中断请求2.2 中断处理2.3 中断完成2.4.中断触发和处理步骤详解2.4.1 异常向量表的解读 2.5 硬件中断号和软件中断号 1. 中断的概念和作用 当计算机的CPU需要在执行任务的同时响应外部事件时&#xff0c;中断是一种重要的…

6月份读书学习好文记录

看看CHATGPT在最近几个月的发展趋势 https://blog.csdn.net/csdnnews/article/details/130878125?spm1000.2115.3001.5927 这是属于 AI 开发者的好时代&#xff0c;有什么理由不多去做一些尝试呢。 北大教授陈钟谈 AI 未来&#xff1a;逼近 AGI、融进元宇宙&#xff0c;开源…

kafka消息队列的初步探索

消息队列的作用就是提高运行速度&#xff0c;防止线程堵塞。 kafka的作用 异步 通过在消息队列发送消息的方式&#xff0c;将对应的业务作为监听者&#xff0c;此时我们只需要考虑发送消息的时间即可&#xff0c;大大提高了运行的速度。 解耦 如果使用原来的直接调用对应业务的…

Spring高手之路6——Bean生命周期的扩展点:BeanPostProcessor

文章目录 1. 探索Spring的后置处理器&#xff08;BeanPostProcessor&#xff09;1.1 BeanPostProcessor的设计理念1.2 BeanPostProcessor的文档说明 2. BeanPostProcessor的使用2.1 BeanPostProcessor的基础使用示例2.2 利用BeanPostProcessor修改Bean的初始化结果的返回值2.3 …

Nacos配置中心交互模型是push还是pull?

对于Nacos大家应该都不太陌生&#xff0c;出身阿里名声在外&#xff0c;能做动态服务发现、配置管理&#xff0c;非常好用的一个工具。然而这样的技术用的人越多面试被问的概率也就越大&#xff0c;如果只停留在使用层面&#xff0c;那面试可能要吃大亏。 比如我们今天要讨论的…

leetcode216. 组合总和 III(回溯算法-java)

组合总和 III leetcode216. 组合总和 III题目描述解题思路代码演示 回溯算法专题 leetcode216. 组合总和 III 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/combination-sum-iii 题目描述 找出所有相加之和为 n 的 k 个…
最新文章