css绝对定位、相对定位、固定定位

article/2025/1/18 12:59:57

css 定位

一、css的三种定位属性

1. 相对定位 position: relative;

元素相对于自己原来的位置,进行位移。

特性:

​ 1,不脱离文档流;其他元素不受影响
​ 2,相对于自己的文档流上下左右定位
​ 3,层级高于其他元素
​ 4,使用属性:top bottom left right。

属性值

指的是向哪个方向留出多少距离,例如left:50px;在左边留出50px,元素右移。和margin差不多意思。

我们给出两个div,div1加上相对定位看效果。

<style type="text/css">	body{margin: 0px;}/*相对定位:相对于自己原来的位置*/.div1{/*position: relative;left: 50px;top: 50px;*/width: 200px;height: 200px;border: 1px solid red;/*background-color: red;*/}.div2{width: 200px;height: 200px;border: 1px solid red;/*background-color: yellow;*/}</style><div><div class="div1">div1</div><div class="div2">div2</div>	</div>

image-20211201095104605

没给定位前可看到div1的位置在左上角,现在我们给div1一个相对定位,并且1,2都设置背景颜色。

image-20211201095220000

可以看到div1相对于自己原来的位置向右下各移了50px,且没有影响到div2,并且加颜色后发现,div1覆盖住了部分div2,说明它的层级高于其他元素,但是div2并没有移动到顶端上去,说明div1没有脱离文档流。

应用**

调整元素的位置,但是一般不用定位来调位置,用margin等比较多,所以它最大的应用就是作为父容器,用于绝对定位的参考。

2.绝对定位 position: absolute;

特性:

​ 1,脱离文档流,底下的元素受到了影响
​ 2,层级高于其他元素;
​ 3,转化为内联块标签;
​ 4,使用属性:top bottom left right

定位参考点:
**如果用top

定位参考点就是页面的左上角,而不是浏览器(即屏幕)的左上角.

<style type="text/css">	body{margin: 0px;}.div1{width:200px;height:200px; background-color:red; position:absolute; top:20px;       left:20px; border:1px red solid; }.div2{width: 200px;height: 200px;border: 1px solid red;background-color: yellow;}</style>

可以看到div1以页面顶端为基准,右下各偏移了20px,且div2已经顶上来了。

image-20211201102022311

如果用bottom,

定位参考点就是浏览器首屏幕(即屏幕)窗口所对应的页面的左下角.

我们举个例子理解一下:

给div2一个相对于浏览器的绝对定位。

浏览器首屏的意思是,整个浏览器页面在屏幕上的高度,假如为1366px,bottom所做的向上偏移10px,div2的底部边缘距离浏览器页面底部就是10px。这样我们都理解。

image-20211201103952338

但是当div2下面还有很多内容时,浏览器就可以上下滑动了,页面高度>1366px,此时div2就会跟着上下滑动,不会一直在浏览器底部10px。可以理解为浏览器页面首屏是一个height为1366px的框,div2在它里面,浏览器滑动,div2自然跟着滑动上去了。

image-20211201104805527

页面未滑动时div2还在最底部10px.

image-20211201104917520

页面滑动时,首屏滑上去了,div2跟着上去了。

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title></title><style type="text/css">	body{margin: 0px;}.div1{width:200px;height:200px; background-color:red; /*position:absolute;*/ top:20px;       left:20px; border:1px red solid; }.div2{width: 200px;height: 200px;border: 1px solid red;background-color: yellow;position:absolute;    bottom:10px;   /* 首屏底部为基准  */left:10px;}</style></head>
<body><div><div class="div1">div1</div><div class="div2">div2</div><!--<hr /><hr /><p>balalalall</p><hr /><p>balalalall</p><hr /><p>balalalall</p><hr /><p>balalalall</p><hr /><p>balalalall</p><hr /><p>balalalall</p><p>balalalall</p><hr /><p>balalalall</p><hr /><p>balalalall</p><hr /><p>balalalall</p><hr /><p>balalalall</p><hr /><p>balalalall</p></div>--></body></html>
如果父元素有定位

以就近的父元素(如果父元素没定位,就以爷爷作为参考点),做偏移.

一定是有定位的上级元素才可以,假设子绝对定位,父没有定位,爷爷有定位,那么要以爷爷为基准,如果父也有定位,那么就以父做基准。

一般这种情况用的多,父元素relative,子元素absolute,子相对于父做定位。

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title></title><style type="text/css">	body{margin: 0px;}.father{position: relative; /* 用relative不脱离文档流*/border: 5px solid yellow;width: 480px;height: 400px;}.div2{width: 100px;height: 100px;border: 1px solid red;background-color: yellow;position:absolute;    bottom:10px;   left:10px;}</style>
</head>
<body><div class="father">father<div class="div2">div2</div></div>
</body></html>

image-20211201105752865

3.固定定位 position: fixed;

特性

​ 1,脱离文档流;底下的元素受到了影响
​ 2,层级高于其他元素;
​ 4,转化为内联块标签;
​ 5,相对于整个浏览器来定位
​ 6,使用属性:top bottom left right

固定定位和以bottom定位的absolute不同,它是相对于浏览器定位的,不管浏览器滑动了多少高度,它都在页面某个位置。或顶部,或底部,或左。

应用

一般用作固定某元素在屏幕上,例如,导航,点击图标返回首页等

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title></title><style type="text/css">	body{margin: 0px;}.father{position: relative; /* 用relative不脱离文档流*/border: 5px solid yellow;width: 480px;height: 200px;}.div2{width: 100px;height: 100px;border: 1px solid red;background-color: yellow;position:absolute;    top:300px;   left:10px;}</style>
</head>
<body><div class="father">father<div class="div2">div2</div></div><p>balalalllll</p><p>balalalllll</p><p>balalalllll</p><p>balalalllll</p><p>balalalllll</p><p>balalalllll</p><p>balalalllll</p><p>balalalllll</p><p>balalalllll</p><p>balalalllll</p><p>balalalllll</p>
</body></html>

image-20211201111015852

4.z-index特性

首先,我们都知道,有定位的元素能压住没有定位的元素,那么都有定位,决定谁在上面用z-index。

z-index;相同位置时覆盖,数值大的在上面,只能在定位里使用。

默认的z-index值是0。

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title></title><style type="text/css">	body{margin: 0px;}.div1{position: fixed; /* 用relative不脱离文档流*/background-color:red;width: 200px;height: 200px;top:20px;z-index: 2;}.div2{width: 100px;height: 100px;border: 1px solid red;background-color: yellow;position:fixed;  top:50px; z-index: 3; /*z-index: 1;*/ }</style>
</head>
<body><div class="div1">div1</div><div class="div2">div2</div></body></html>

image-20211201112110094

div2的z-index为3时,div2在上面,div2改成z-index为1后,div1在上面。


http://chatgpt.dhexx.cn/article/LCLorMWj.shtml

相关文章

CSS定位布局详解

CSS定位布局详解 1.定位布局概述2.固定定位&#xff1a;fixed3.相对定位&#xff1a;relative4.绝对定位&#xff1a;absolute5.静态定位&#xff1a;static 1.定位布局概述 CSS定位使你可以将一个元素精确地放在页面上指定的地方。联合使用定位和浮动&#xff0c;能够创建多种…

html制作固定的菜单栏,CSS固定定位生成网页顶部导航栏实例

固定定位 position:fixed 固定定位是相对与浏览器窗口来定位, 就算页面滚动, 固定定位元素的位置不会变 固定定位元素脱离了标准文档流, 会雅盖主标准文档流里的元素 固定定位元素不再占用空间 ​ p.one { position: fixed; left: 5px; top: 5px; } ​ p.two { position: fixed…

html固定按钮相对位置,css固定定位和绝对定位的区别是什么?

CSS固定定位和绝对定位的区别是什么&#xff1f;下面本篇文章就来给大家介绍一下固定定位和绝对定位的区别。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。 绝对定位 绝对定位即脱离文档流的定位。定位参照物为自己的父级&#xff0c…

CSS固定定位 将模块固定到版心右边

目的&#xff1a;在900*1500的版心右边设置50*150固定不随页面滚动条移动的板块 方法&#xff1a;给板块添加固定定位后先用left:50%将其定位在网页中间&#xff0c;再添加版心一半宽的外边距&#xff0c;从版心的中间移动至版心的右侧 代码如下 ​​​​​​​HTML文件&…

CSS 固定定位 position fixed

简单描述&#xff1a;固定定位是将某个元素固定在浏览器的某个确定的位置&#xff0c;不随滚动条的移动而变化&#xff1b; 注意&#xff1a;固定定位的位置是 相对当前浏览器窗口 的&#xff1b; 代码示例&#xff1a; 1.我们先在页面中输出一个标准情况下的 div 元素&…

CSS 固定定位:固定在版心右侧

固定定位&#xff1a;固定在版心右侧 固定定位 定义&#xff1a;随用户滚动界面而一起移动的定位效果 CSS代码&#xff1a; position:fixed;边距:left,right,top,bottom. 距离衡量:相对于浏览器可视区域的四个角&#xff0c;可视区域即用户打开浏览器可以看到的区域 用处&…

CSS定位

定位&#xff0c;即position&#xff0c;css的基本属性之一&#xff0c;分为相对定位relative&#xff0c;绝对定位absolute&#xff0c;固定定位fixed以及粘性定位sticky&#xff0c;现在来一一介绍。 1.相对定位 相对定位&#xff0c;通过方位名词来设置位置&#xff0c;让…

css定位详解(相对定位、绝对定位和固定定位)

文章目录 一、什么是定位&#xff1f;二、各个属性值的作用1、相对定位2、绝对定位3、静态定位4、固定定位 三、相对和绝对定位1、相对定位2、绝对定位3、相对定位和绝对定位&#xff08;1&#xff09;相对定位&#xff08;2&#xff09;绝对定位 四、相对、绝对定位与浮动1、相…

Matlab日常使用需要安装的包

Matlab的包不需要全部安装&#xff0c;否则会非常的大&#xff0c;安装时间特别的长。对于CV来说&#xff0c;下面是我经常要用到的Matlab包 2021/04/27 添加System Identification Toolbox 。说明&#xff1a;使用函数goodnessOfFit

matlab通过变量调用txt文件路径,MATLAB使用load函数读取txt文档

MATLAB在数据处理方面应用非常广泛。在众多的专业领域里&#xff0c;把各种手段获取的数据存入txt文档中非常常见。如果txt文件中数据为矩阵形式&#xff0c;通常可以采用简单的load命令来读取数据&#xff0c;然后在MATLAB中进行后续的处理。 使用load函数读取txt文件的语法形…

MATLAB的基本用法

本文档内容来自W3Cshool MATLAB教程 MatLab基本语法 安装后打开出现此界面 就在中间的“命令行窗口”操作 熟悉matlab基本语法 开始使用 MATLAB 时可以在“>>”命令提示符下输入命令&#xff0c;输入命令后MatLab会立即执行。 实践 输入 55 回车&#xff0c;MATLA…

MATLAB使用Simulink 进行建模与仿真方法 - Simulink基本操作与入门教程

Simulink 是 MATLAB 很强大的功能组件&#xff0c;广泛用于系统建模、仿真和分析。下面分享给大家MATLAB使用Simulink 进行建模与仿真方法、步骤&#xff0c;希望能够帮助大家。 1 工具/原料 电脑 MATLAB及Simulink 组件 MATLAB使用Simulink 进行建模与仿真 2 方法/步骤 1 第一…

matlab使用plot画图点太密集

在使用matlab画图的时候&#xff0c;有时候画的图上点太密集了&#xff0c;这时候使用每隔几个点来画图使得图更容易看。 修改前&#xff0c;画图代码为&#xff1a; plot(x,y2,-ro,markersize,3);图像为&#xff1a; 修改后代码&#xff1a; plot(x(1:5:100),y2(1:5:100),-r…

CVX工具箱配合MATLAB使用心得

CVX工具箱配合MATLAB使用心得 使用过程中的随手笔记&#xff0c;希望可以帮到初学的朋友。 文章目录 CVX工具箱配合MATLAB使用心得 一、常见系统报错或警告二、部分重命名的数学符号使用 一、常见系统报错或警告 matlab中CVX出现警告 :Warning: A non-empty cvx problem alre…

Matlab App Designer初次使用

前一段时间帮老师弄一下前端代码 第一次接触matlab的GUI设计 即APP Designer 虽然很简单 但很充实 现学现卖 激情和冲动促使自己想写下自己第一篇博客 于是 这里即将成为我自己学习的小基地啦~ 1.打开app designer 初次学习 了解到有之前的GUI页面设计和现在的App Designer…

matlab 使用fprintf打印度数符号

写程序中碰到一个问题&#xff0c;即想在matlab输出度数符号和温度符号C&#xff0c;一时不知道怎么弄。网上查到的都是画图的时候&#xff0c;通过text命令使用/circ在matlab的figure做标注。试着直接从网页上一个温度符号到fprintf函数里&#xff0c;竟然能工作&#xff0c;虽…

Matlab函数gscatter使用

Matlab函数gscatter 一、参考资料 1.1 官方说明&#xff1a;https://ww2.mathworks.cn/help/stats/gscatter.html?searchHighlightgscatter&s_tidsrchtitle 1.2 其他参考&#xff1a; [资料文本] Matlab函数gscatter&#xff1a;画散点图的函数 二、gscatter使用说明 …

matlab使用yalmip工具箱

使用yalmip工具箱可以像书写数学模型那样输入规划问题的约束和目标函数&#xff0c;非常方便。 以下为在Matlab R2018a下添加yalmip并简单使用的例子 一、下载解压 下载地址&#xff1a;https://yalmip.github.io/download/ 我下载后解压在D盘 二、添加路径 注意&#xff0…

matlab使用杂谈5-fftshift函数的使用

matlab使用杂谈5-fftshift函数的使用 fftshift基本使用主要作用&#xff1a;将零频分量移到频谱中心 简单示例一般使用场合 fftshift基本使用 主要作用&#xff1a;将零频分量移到频谱中心 基本语法&#xff1a; Y fftshift(X) Y fftshift(X,dim) X-输入数组&#xff0c;可…

Matlab使用串口进行数据通信

Matlab进行串口通信 文章目录 Matlab进行串口通信前言问题解决方案方法一&#xff1a;Instrument Control Toolbox方法二.编写通信脚本 总结 前言 在电机运行过程中&#xff0c;需要将电机的姿态等参数通过串口传输至PC端&#xff0c;然后在Matlab进行姿态解算&#xff0c;这样…