re:从0开始的CSS之旅 17. 定位

1. 定位

定位:将盒子指定到页面中的任意位置。

  1. position 属性可以开启元素的定位
    可选值:
    static 没有开启定位(默认值)
    relative 开启元素相对定位
    absolute 开启元素的绝对定位
    fixed 开启元素的固定定位
    sticky 开启元素的粘性定位

  2. 开启定位后,通过 top right bottom left 四个属性设置元素的位置

2. 相对定位

  1. 相对于元素原来的位置进行定位
  2. 相对定位元素会提升一个层级
  3. 相对定位元素不会脱离文档流
  4. 相对定位元素不会改变元素的显示模式,(块还是块,行内还是行内)
  5. 元素移动后,原来的位置依然占用

3. 绝对定位

  1. 绝对定位会脱离文档流
  2. 绝对定位元素会改变元素的显示模式,具有行内块元素的特点
  3. 绝对定位参照开启了定位的祖先元素进行定位的
  4. 如果有没有祖先元素或者祖先元素没有开启定位,则以浏览器为参照进行定位
    如果有开启了定位的祖先元素,则参照最近一级的祖先元素进行定位

4. 固定定位

  1. 固定定位会脱离文档流
  2. 固定定位会改变元素的显示模式,具有行内块元素的特点
  3. 固定定位参照浏览器的可视窗口进行定位
  4. 元素会固定在浏览器可视窗口的某个位置

5. 粘性定位(兼容性不好,IE不支持)

  1. 可以理解为相对定位和固定定位的结合
  2. 粘性定位不会脱离文档流
  3. 粘性定位参照浏览器可视窗口进行定位
  4. 粘性定位可以在元素到达某个位置时将其固定

示例如下:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>div {width: 200px;height: 200px;}.box1 {background-color: #c7edcc;/* 开启元素定位 *//* position: relative; *//* 移动元素位置 *//* left: 300px; *//* top: 300px; *//* 开启绝对定位 */position: absolute;/* 移动元素的位置 */left: 100px;top: 100px;}.box2 {background-color: #fde6e0;}/* .father {width: 300px;height: 300px;background-color: indianred;margin-top: 100px;margin-left: 200px; *//* 开启定位 *//* position: relative;} */.bbdbb {width: 500px;height: 500px;background-color: #dce2f1;/* 开启定位 */position: relative;}.box3 {background-color: #c7edcc;/* 开启固定定位 */position: fixed;/* 移动元素位置 *//* left: 100px;top: 100px; */right: 10px;bottom: 10px;}.box4 {background-color: #fde6e0;}.father {width: 300px;height: 300px;background-color: #dce2f1;margin-top: 100px;margin-left: 100px;position: relative;}body {height: 5000px;}.box5 {width: 1000px;height: 80px;background-color: #c7edcc;margin: 100px auto 0;/* 开启粘性定位 */position: sticky;/* 移动元素位置 */top: 10px;}
</head><body><!-- <div class="bbdbb"> --><!-- <div class="father"> --><!-- <div class="box1">我是div</div> --><!-- </div> --><!-- </div> --><!-- <div class="box2"></div> --><!-- <div class="father"><div class="box3">唔系渣渣辉,系兄弟就来砍我</div></div><div class="box4"></div> --><div class="box5"></div>
</body></html>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不同的AI修改同一篇文章标题

提问AI 我写了一篇文章&#xff0c;请帮我把标题重新改一下&#xff1a;“比较不同AI分析同一个错误代码及给出解决方案的能力&#xff08;结果出我意料&#xff09;” 这篇文章的原地址为&#xff1a;https://blog.csdn.net/snans/article/details/136132211 答案对比结果&am…

分享拼多多商家电话采集软件使用指南

简介 拼多多商家电话采集软件是一款方便实用的工具&#xff0c;可以帮助用户快速采集拼多多平台上商家的电话信息。通过该软件&#xff0c;用户可以获得商家的联系电话&#xff0c;并且加快用户信息采集的速度&#xff0c;提高工作效率。 安装和配置 首先&#xff0c;需要下…

Qt:Qt3个窗口类的区别、VS与QT项目转换

一、Qt3个窗口类的区别 QMainWindow&#xff1a;包含菜单栏、工具栏、状态栏 QWidget&#xff1a;普通的一个窗口&#xff0c;什么也不包括 QDialog&#xff1a;对话框&#xff0c;常用来做登录窗口、弹出窗口&#xff08;例如设置页面&#xff09; QDialog实现简易登录界面…

【网工】学习笔记

ip地址 ip地址通常是用来唯一标志网络中的一台主机 通常用32位点分十进制表示 十进制 192.168.1.1 二进制表示&#xff1a;11000000.10101000.00000001.000000001 网络位与子网掩码 子网掩码决定了ip地址的网络位与主机位范围&#xff0c;常见的子网掩码为255.255.255.0&a…

网络原理-TCP_IP(6)

网络层 在复杂的网络环境中确定一个合适的路径. IP协议 与TCP协议并列,都是网络体系中最核心的协议. 基本概念 主机:配有IP地址,但是不进行路由控制的设备; 路由器:即配有IP地址,又能进行路由控制; 节点:主机和路由器的统称; 协议头格式 4位版本号(version):指定IP协议的版…

c入门第十七篇——数据持久化,读写文件

上一节说道师弟的学生成绩管理系统缺少数据持久化&#xff0c;关于数据持久化的方法基本都是落盘&#xff0c;将内存信息回写磁盘。回写磁盘的方式有很多种&#xff0c;典型的就是普通的文件操作&#xff0c;还有就是数据库操作。这里将重点使用普通的文件操作&#xff0c;来实…

java测试junit

JUnit Platform是底层的测试执行引擎&#xff0c;JUnit Jupiter是JUnit 5的主要测试框架&#xff0c;而JUnit Vintage允许在JUnit 5平台上运行旧版本的测试。 所以想要使用junit5&#xff0c;必须包含platform和jupiter。 JUnit Platform ├── JUnit Jupiter └── JUnit Vi…

【机器学习基础】决策树(Decision Tree)

&#x1f680;个人主页&#xff1a;为梦而生~ 关注我一起学习吧&#xff01; &#x1f4a1;专栏&#xff1a;机器学习 欢迎订阅&#xff01;后面的内容会越来越有意思~ ⭐特别提醒&#xff1a;针对机器学习&#xff0c;特别开始专栏&#xff1a;机器学习python实战 欢迎订阅&am…

OpenTitan- 开源安全芯片横空出世

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Linux——系统文件I/O

系统文件I/O 注&#xff1a;学习本次内容之前&#xff0c;最好先对C语言文件操作有所了解 本章思维导图&#xff1a; 注&#xff1a;思维导图对应的.xmind文件和.png文件都已同步导入至资源&#xff0c;可供免费查阅 在以前学习的C语言中&#xff0c;我们可以通过fwrite和fre…

设计模式之:状态模式(State Pattern)

状态模式&#xff08;State Pattern&#xff09; 状态模式是一种行为设计模式&#xff0c;允许一个对象在其内部状态改变时改变它的行为。这种模式通过把状态的变化逻辑分布到State的子类之间&#xff0c;减少了相互间的依赖&#xff0c;使得状态的切换更加清晰。 状态模式的…

通过玩游戏学会AWS

游戏名字&#xff1a; Cloud Quest 类型&#xff1a;亚马逊云科技官方出了一款 3D 角色扮演、虚拟城市建造形式的游戏实验课 进入方法&#xff1a;浏览器搜索 Cloud Quest&#xff08;或扫描下方二维码&#xff09;进入 Cloud Quest 课程页。 选择以下的链接 点击进行注册 进…

云计算基础-虚拟机迁移原理

什么是虚拟机迁移 虚拟机迁移是指将正在运行的虚拟机实例从一个物理服务器&#xff08;或主机&#xff09;迁移到另一个物理服务器&#xff08;或主机&#xff09;的过程&#xff0c;而不会中断虚拟机的运行。 虚拟机拟机迁移分类虚 热迁移&#xff1a;开机状态下迁移 冷迁…

ChatGPT和LLM

ChatGPT和LLM&#xff08;大型语言模型&#xff09;之间存在密切的关系。 首先&#xff0c;LLM是一个更为抽象的概念&#xff0c;它包含了各种自然语言处理任务中使用的各种深度学习模型结构。这些模型通过建立深层神经网络&#xff0c;根据已有的大量文本数据进行文本自动生成…

单部10层电梯控制系列之UDT数据类型的建立(SCL代码)

这篇博客开始介绍单部10层电梯的完整控制程序编写过程,编程语言:SCL,控制器型号:S7-1200PLC。开篇博客我们介绍电梯控制用到的所有UDT数据类型。在学习本篇博客之前大家可以参考下面文章,了解博途PLC里的UDT数据类型是如何建立的。 博途UDT数据类型介绍: https://rxxw-…

如何在Java中创建线程?

在Java中创建线程主要有两种方式&#xff1a;通过继承Thread类&#xff0c;或者实现Runnable接口。下面将对这两种方式进行详细介绍。 1. 继承Thread类 继承Thread类是创建线程的一种直接方式。在这种方式中&#xff0c;你需要创建一个Thread的子类&#xff0c;并重写它的run…

P2P 应用

P2P 工作方式概述 在 P2P 工作方式下&#xff0c;所有的音频/视频文件都是在普通的互联网用户之间传输。 1 具有集中目录服务器的 P2P 工作方式 Napster 最早使用 P2P 技术&#xff0c;提供免费下载 MP3 音乐。 Napster 将所有音乐文件的索引信息都集中存放在 Napster 目录服…

C++中const关键字的常见用法【常成员变量/常成员函数/常引用/常量指针/指针常量/常量参数】

看下面这样一个例子&#xff0c;其中出现了9个const&#xff1a; class MyClass {【1】const int n;……【2】const char * function(【3】const int & aa) 【4】const{……} } ;int main(void) {【5】const MyClass c(10);【6】const char * p1;……int * 【7】const p2 …

Ubuntu Desktop 显示文件路径

Ubuntu Desktop 显示文件路径 1. GUI hot key2. CLIReferences 1. GUI hot key Ctrl L: 显示文件路径 2. CLI right click -> Open in Terminal -> pwd strongforeverstrong:~/Desktop$ pwd /home/strong/DesktopReferences [1] Yongqiang Cheng, https://yongqiang…

(08)Hive——Join连接、谓词下推

前言 Hive-3.1.2版本支持6种join语法。分别是&#xff1a;inner join&#xff08;内连接&#xff09;、left join&#xff08;左连接&#xff09;、right join&#xff08;右连接&#xff09;、full outer join&#xff08;全外连接&#xff09;、left semi join&#xff08;左…