html中的定位知识点如何使用

news2025/7/9 2:51:17

目录

系列文章目录

文章目录

前言

一、定位是什么?有什么用?

二、定位方式有哪些?怎么使用?

        1、静态定位:就是默认的定位方式,意思就是没有定位;                

        2、相对定位:

        3、绝对定位:

        4、固定定位:固定定位永远参照于浏览器的视口进行定位

三、相对定位解析:

       1、 这里我们先用标准流写一个小demo:

        2、得到一个效果图 ,是一个大盒子里面嵌了2个小盒子的效果:

3、这个时候我要开始给盒子2号加相对定位,然后让其进行一个偏移

 4、结论:

四、绝对定位解析

        1、同样的,这里我们先准备一个小demo,然后在此基础上进行操作:

        2、demo效果如下,其实就比上面多一个盒子:

         3、将盒子2号设置为绝对定位

        4、得到效果如下:

        5、我只是给2号盒子设置了一个定位,并没有将3号盒子隐藏,3号盒子却不见了,这是为什么?

        6、刚刚我们将占有这个特点得出来了,那么偏移的参考点在哪里呢?我们来看看:

        7、效果如下:

 8、总结:

五、子绝父相的应用

        这个是基于上面的绝对定位和相对定位以及项目实战得出的一个应用点,就是给元素自身设置为绝对定位后,一般都给父级元素设置为相对定位,也就是子绝父相;

总结



前言

        相信很多同学在学习html的时候,都不太能明白定位的用法,其中主要的相对定位和绝对定位更是很懵b,今天小魏就给大家分析分析这个相对定位和绝对定位的用法,相信看了这篇博客肯定有所收获!

一、定位是什么?有什么用?

        在html中有三种流:标准流、浮动流、定位流,定位就是第三种,平时我们写的<div></div>默认就是标准流,浮动流当然了,就是浮动;

        定位的作用是为了解决元素之间的层级关系;

二、定位方式有哪些?怎么使用?

        1、静态定位:就是默认的定位方式,意思就是没有定位;                

position: static;//静态定位

        2、相对定位:

position: relative;//相对定位

        3、绝对定位:

position: absolute;//绝对定位

        4、固定定位:固定定位永远参照于浏览器的视口进行定位

position: fixed;//固定定位

        在这里给大家介绍了2种的用法,静态定位和固定定位不用多说,大家能够轻易理解,这个也不是小魏做解释的重点,重点是相对定位和绝对定位,接下来用案例给大家进行分析,然后得出总结:

三、相对定位解析:

       1、 这里我们先写一个小demo:

<!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>
        /* 大盒子的样式 */
        .a1 {
            width: 400px;
            height: 400px;
            background-color: pink;
            position: relative;
            margin: 10px 10px;
        }
        /* 盒子1号的样式 */
        .a2 {
            width: 100px;
            height: 100px;
            background-color: aquamarine;
        }
        /* 盒子2号的样式 */
        .a3 {
            width: 100px;
            height: 100px;
            background-color: aqua;
        }
    </style>

</head>

<body>
    <div class="a1">
        <div class="a2">盒子1号</div>
        <div class="a3">盒子2号</div>
    </div>
</body>

</html>

        2、得到一个效果图 ,是一个大盒子里面嵌了2个小盒子的效果:

3、这个时候我要开始给盒子2号加相对定位,然后让其进行一个偏移

        ①在盒子2号里面加上相对定位的代码

/* 盒子2号的样式 */
        .a3 {
            width: 100px;
            height: 100px;
            background-color: aqua;
            position: relative;
        }

        ②截图浏览器并没有发生变化

         ③这个时候我设置一下盒子2号的一些偏移量

        /* 盒子2号的样式 */
        .a3 {
            width: 100px;
            height: 100px;
            background-color: aqua;
            position: relative;
            left: 20px;
            top: 10px;
        }

        ④截图看效果

        ⑤这个时候就会发现盒子2号进行了一定的偏移,我们就可以得到一个疑问:原点在哪里?坐标轴中心在哪儿,所以我们可以得出相对定位的结论; 

 4、结论:

        ①给元素设置了相对定位后,元素如果不设置left、top这些属性值,依旧还保持在原本的位置,也就是拥有占位的效果;

        ②位置偏移的参考点是原来盒子所在位置的左上角的点

四、绝对定位解析

        1、同样的,这里我们先准备一个小demo,然后在此基础上进行操作:

<!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>
        /* 大盒子的样式 */
        .a1 {
            width: 400px;
            height: 400px;
            background-color: pink;
            position: relative;
            margin: 10px 10px;
        }
        /* 盒子1号的样式 */
        .a2 {
            width: 100px;
            height: 100px;
            background-color: aquamarine;
        }
        /* 盒子2号的样式 */
        .a3 {
            width: 100px;
            height: 100px;
            background-color: aqua;
        }
        .a4 {
            width: 100px;
            height: 100px;
            background-color:antiquewhite;
        }
    </style>

</head>

<body>
    <div class="a1">
        <div class="a2">盒子1号</div>
        <div class="a3">盒子2号</div>
        <div class="a4">盒子3号</div>
    </div>
</body>

</html>

        2、demo效果如下,其实就比上面多一个盒子:

         3、将盒子2号设置为绝对定位

 /* 盒子2号的样式 */
        .a3 {
            width: 100px;
            height: 100px;
            background-color: aqua;
            position: absolute; /*设置为绝对定位*/
        }

        4、得到效果如下:

        5、我只是给2号盒子设置了一个定位,并没有将3号盒子隐藏,3号盒子却不见了,这是为什么?

        这个就和开始说定位是为了解决元素间的层级关系进行了一个解释;2号盒子在3号盒子之上,然后2号盒子的原本位置不会被保留,3号盒子就将其进行了占有;

        6、刚刚我们将占有这个特点得出来了,那么偏移的参考点在哪里呢?我们来看看:

我给盒子2号加上偏移的像素

        /* 盒子2号的样式 */
        .a3 {
            width: 100px;
            height: 100px;
            background-color: aqua;
            position: absolute; /*设置为绝对定位*/
            top: 20px;
            left: 20px;

        7、效果如下:

我们会发现,这个时候的基础点是浏览器的左上角

 8、总结:

        ①给元素设置了绝对定位后,该元素已经不在原位置,并且该位置被其他元素进行占有

        ②位置偏移的参考点如果父级没有设置定位的话,参考点是浏览器的左上角

五、子绝父相的应用

        这个是基于上面的绝对定位和相对定位以及项目实战得出的一个应用点,就是给元素自身设置为绝对定位后,一般都给父级元素设置为相对定位,也就是子绝父相;

        举个例子,刚刚在第四点里面我用了绝对定位,我不想他的参考点是浏览器左上角,而是最外层的这个大盒子,那么我就去给大盒子添加一个相对定位,整个代码如下:

<!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>
        /* 大盒子的样式 */
        .a1 {
            width: 400px;
            height: 400px;
            background-color: pink;
            position: relative;
            margin: 10px 10px;
            position: relative;
        }
        /* 盒子1号的样式 */
        .a2 {
            width: 100px;
            height: 100px;
            background-color: aquamarine;
        }
        /* 盒子2号的样式 */
        .a3 {
            width: 100px;
            height: 100px;
            background-color: aqua;
            position: absolute; /*设置为绝对定位*/
            top: 20px;
            left: 20px;
        }
        .a4 {
            width: 100px;
            height: 100px;
            background-color:antiquewhite;
        }
    </style>

</head>

<body>
    <div class="a1">
        <div class="a2">盒子1号</div>
        <div class="a3">盒子2号</div>
        <div class="a4">盒子3号</div>
    </div>
</body>

</html>

效果如下,这样参考点就变成了大盒子的左上角,一般在项目中就是这样使用的,既然小盒子在大盒子之中,就要参考点设置为大盒子,这样更好操作:

 


六、总结

        相对定位relative:

                Ⅰ、占位【原来所在的位置依旧在】

                Ⅱ、位置偏移的参考点:是原来盒子所在位置的左上角的点

        绝对定位absolute:

                Ⅰ、不占位【不在原来的位置了,后面的会盒子会占这个加了绝对定位的盒子的位置】

                Ⅱ、位置偏移的参考点:是根据父亲盒子来的,没有父盒子就在浏览器左上角

相信看到这儿的小伙伴肯定都懂啦,不妨留下三连啦

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

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

相关文章

PDF怎么转成Word?安利几个转换小技巧

平时我们工作学习的时候&#xff0c;经常要跟文件打交道&#xff0c;并且接触最多的文件形式就是PDF与Word两种文件格式&#xff0c;它们各有各的好处&#xff0c;PDF的保密性以及兼容性好&#xff0c;便于我们进行文件分享查阅&#xff0c;而Word就方便我们进行编辑。如果我们…

Ubuntu Server 22.04.1配置(配置root账号、设置固定IP、更改SSH端口、配置UFW、VM扩展磁盘后Ubuntu的扩容)

为了能快速的创建虚拟机&#xff0c;通过VM创建了一个2核CPU、4G内存、40G硬盘&#xff0c;安装Ubuntu Server 22.04.1的虚拟机&#xff0c;以便在需要的时候随时克隆一个新的虚拟机出来。 在新的虚拟机克隆出来后可能会调整硬件的配置&#xff0c;例如将40G硬盘扩展到50G&…

Python编程 字典创建

作者简介&#xff1a;一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.字典 1.字典介绍 &#xff08;了解&#xff09; 2.字典创建&#xff0…

艾美捷nickases内切酶活性检测及相关研究

艾美捷nickases内切酶组分&#xff1a; NLS-Cas9(D10A) Nickase(0.1 μg/μl) 500 μL 10Reaction Buffer 1 ml 艾美捷nickases内切酶切割活性检测&#xff1a; NLS-Cas9(D10A) Nickase(0.1 μg/μl) 500 μL 10Reaction Buffer 1 ml 经多次柱纯化&#xff0c;SDS-PAGE 胶检…

70. 爬楼梯(动态规划解法)

题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;2 解释&#xff1a;有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 阶 示例 2&a…

【异常】com.alicp.jetcache.CacheException: refresh error

jetcache refresh error一、背景描述二、报错内容三、报错原因四、解决方案4.1 解决方案一&#xff0c;使用一级缓存4.2 解决方案二&#xff0c;开启写入权限一、背景描述 技术栈&#xff1a;Spring Boot(2.1.5.RELEASE) Spring Cloud Oopenfeign(2.1.1.RELEASE) jetCache(2.…

基于nodejs电商购物系统的设计与实现(论文+源码+ppt文档+视频录制)

资料下载地址&#xff1a;请点击》》》》 1 前言 2 1.1课题背景 2 1.2课题内容 3 2 需求分析 4 2.1 功能需求 4 2.2 性能需求 5 系统安全性 5 系统数据完整性 5 2.3 数据需求 6 2.4 运行环境需求 6 客户端配置 6 服务器配置 6 2.5 nodejs框架分析 6 3 系统设计 7 3.1 系统设计…

软件项目管理期中准备(自用,仅供参考)

考前拿到了样卷(#^.^#) 直接面向样卷备考 软件项目管理期中准备&#xff08;自用&#xff0c;仅供参考&#xff09;选择题计算题1.进度管理-关键路径法&#xff0c;时间压缩法2.进度管理-任务历时估计3.成本管理-COCOMO估算法4.项目的执行与控制-挣值分析法5.成本管理-专家估算…

数据库-----JDBC技术

JDBC概述 数据的持久化 持久化(persistence)&#xff1a;将内存中的数据保存到可永久保存的存储 设备中&#xff08;如磁盘&#xff09;。 持久化的主要应用是将内存中的数据存储在关系型数据库中&#xff0c;当 然也可以存储在磁盘文件、XML数据文件中。 什么是 JDBC 1、JDBC…

DIN EN ISO 4589-2塑料 用氧指数法测定燃烧行为 第2 部分:室温试验

ISO 4589-2 塑料-用氧指数法测定燃烧行为-第2部分:室温测试&#xff0d;标准名称&#xff1a; ISO 4589-2 塑料-用氧指数法测定燃烧行为-第2部分:室温测试 ISO 4589-2 Plastics-Determination of burning behaviour by oxygen index –Part 2: Ambient-temperature test ISO 4…

推荐10个不错的React开源项目

1&#xff0c;Kutt.it Kutt是一个现代的URL缩短器&#xff0c;支持自定义域&#xff0c;可以用来缩短网址、管理链接并查看点击率统计信息。Kutt支持自定义域名&#xff0c;设置链接密码和描述&#xff0c;缩短URL的私人统计信息&#xff0c;查看、编辑、删除和管理链接&#…

LPWA物联网通信

物联网LPWA是物联网中的无线通信技术之一。 根据物联网无线通信技术的覆盖距离&#xff0c;大致可分为两类&#xff1a;一类是短距离通信技术&#xff0c;包括蓝牙(蓝牙)&#xff1b;NFC,Zigbee、WIFI、NFC&#xff0c;主要用于室内智能家庭、消费电子等场景&#xff1b;另一种…

C++异常

21 C异常 21.1 什么时候会发生异常 1.打开一个不存在的文件 2.请求存储空间失败 3.数组越界等等 21.2 使用abort()函数 1.包含在cstdlib头文件中&#xff0c;包含在std命名空间中 2.当调用abort()函数时&#xff0c;会引发异常并中断程序(Visual Studio 2019)&#xff1b;…

【PlasticSCM Could Edition】新版本云托管浅试 (与踩一些坑)

【PlasticSCM Could Edition】新版本云托管浅试前言尝试对比前言 UnityHub 3.3.0-c7 中&#xff0c;下载了一个 2021LST 的版本&#xff0c;毕竟为了做毕设&#xff0c;用 2020LST 的感觉老了点… 然后新建了一个项目&#xff0c;勾选使用 版本控制 &#xff0c;但是报错 那先…

【附源码】计算机毕业设计JAVA药品管理系统

【附源码】计算机毕业设计JAVA药品管理系统 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JAVA mybati…

STM32CubeMX学习笔记(48)——USB接口使用(MSC基于外部Flash模拟U盘)

一、USB简介 USB&#xff08;Universal Serial BUS&#xff09;通用串行总线&#xff0c;是一个外部总线标准&#xff0c;用于规范电脑与外部设备的连接和通讯。是应用在 PC 领域的接口技术。USB 接口支持设备的即插即用和热插拔功能。USB 是在 1994 年底由英特尔、康柏、IBM、…

HTTP —— HTTP 响应详解, 构造 HTTP 请求

JavaEE传送门JavaEE 【前端】JavaScript —— WebAPI HTTP —— HTTP 协议中的细节(超详细!!) 目录HTTP 响应详解认识 "状态码"状态码小结认识响应 "报头" headerContent-Type认识响应 "正文" body构造 HTTP 请求form 表单ajaxpostmanHTTP 响应…

API接口怎么使用(教你使用api接口获取数据)

API是应用程序的开发接口&#xff0c;在开发程序的时候&#xff0c;我们有些功能可能不需要从到到位去研发&#xff0c;我们可以拿现有的开发出来的功能模块来使用&#xff0c;而这个功能模块&#xff0c;就叫做库(libary)。比如说&#xff1a;要实现数据传输的安全&#xff0c…

【Linux】常见指令汇总

每个优秀的人&#xff0c;都有一段沉默的时光。 那段时光&#xff0c;是付出了很多努力&#xff0c;却得不到结果的日子&#xff0c;我们把它叫做扎根。 文章目录一、xshell的介绍操作系统1.1 xshell1.2 操作系统二、Linux下基本指令2.1 ls(显示当前目录下的文件列表&#xff…

【IVIF:引入注意力机制:GAN:双鉴别器】

AttentionFGAN: Infrared and Visible Image Fusion Using Attention-Based Generative Adversarial Networks &#xff08; AttentionFGAN&#xff1a;使用基于注意的生成对抗网络进行红外和可见光图像融合&#xff09; 在本论文中&#xff0c;我们将多尺度注意机制集成到GAN…