【必看】CSS如何调整一个元素的任意位置-外边距-浮动-定位

在HTML5和CSS中,有多种方法可以用来调整子元素的显示位置 在使用HTML定义页面效果的网站中,往往需要大量或重复的表格和font元素形成各种规格的文字样式,这样做的后果就是会产生大量的HTML标签,从而使页面文件的大小增加。- CSS可以将样式定义在HTML元素的style属性中,也可以将其定义在HTML文档的header部分,也可以将样式声明在一个专门的CSS文件中,以供HTML页面引用。- 另外,可以将相同样式的元素进行归类,使用同一个样式进行定义,也可以将某个样式应用到所有同名的HTML标签中,也可以将一个CSS样式指定到某个页面元素中。 阅读详情
AI摘要

本文详细介绍如何使用CSS通过外边距、浮动、相对定位、绝对定位和固定定位来调整元素的位置,包括每种方法的原理、参照物及应用场景。

调整一个元素的任意位置

在界面设计中最常见的就是调整任意元素的任意位置,这也是一个难点!

说到调整元素的位置就不得不提一下【参照物】,这个很重要,参照物决定了一个元素的移动范围,并不是想怎么移动就能怎么移动的。

方法1:外边距-margin

外边距既是一个元素的外部距离,作用是控制多个元素之间的间距,但是也可以用来改变一个元素的自身位置。

参照物:自己

可以利用外边距调整一个元素在原本位置上的位置,这种方法在某些特殊情况下会出现一些问题:例如:外边距合并、影响其他元素等。因此不太推荐用词方法来调整一个元素的位置。通常用于调整元素间的间距。

方法:

  • margin-left: ???px; - 距离上级元素左边的距离,正值自身向右移动,负值向左移动,下面的元素会跟着一起移动
  • margin-right: ???px; - 距离上级元素右边的距离,正值把右边的元素挤开,负值和右边的元素叠在一起,自身不移动
  • margin-top: ???px; - 距离上级元素顶部的距离,正值自身向下移动,负值向上移动,下面的元素会跟着一起移动
  • margin-bottom: ???px; - 距离上级元素底部的距离,正值把下面的元素挤开,负值和下面的元素叠在一起,自身不移动

案例:
在这里插入图片描述
代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<link rel="stylesheet" href="new_file.css"/>
	</head>
	<body>
		<div class="parent">
			上级元素
			<div class="child-1"> 
				第一个子元素<br>
				/*距离上级元素左边50像素,自身往右移动*/<br>
				/*距离上级元素顶部-18像素,自身往上移动*/<br>
				/*距离下面的元素的顶部-18像素,自身不移动,
				下面的向上移动10像素*/
			</div>
			<div class="child-2"> 
				第二个子元素 <br>
				会随同【第一个子元素】一起向上移动
			</div>
		</div>
	</body>
</html>
.parent {
	width: 500px;
	height: 400px;
	background-color: green;
}
.child-1{
	width: 350px;
	height: 200px;
	background-color: yellow;
	/***********************/
	/*距离自身原本位置左边50像素,自身往右移动*/
	margin-left: 100px;
	/*距离自身原本位置顶部-18像素,自身往上移动*/
	margin-top: -18px;
	/*自身底部-18像素,自身不移动,下面的向上移动10像素*/
	margin-bottom: -50px;
	/***********************/
}
.child-2{
	width: 300px;
	height: 100px;
	background-color: palevioletred;
}

方法2:浮动-float

浮动功能比较单一,只能实现向左和向右排版。

参照物:上一级父元素

再上一级的范围内浮动,如果上级没有高度,则会影响后面的元素。

方法:

  • float:left; - 浮动到上级父元素的左边
  • float:right; - 浮动到上级父元素的右边

案例:
在这里插入图片描述
代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<link rel="stylesheet" href="new_file.css"/>
	</head>
	<body>
		<div class="parent">
			上级元素
			<div class="child-1"> 
				第一个子元素
			</div>
			<div class="child-2"> 
				第二个子元素
			</div>
		</div>
	</body>
</html>
.parent {
	width: 500px;
	height: 400px;
	background-color: green;
}
.child-1{
	width: 100px;
	height: 200px;
	background-color: yellow;
	/***********************/
	/* 整个元素在上级元素的左边 */
	float: left;
	/***********************/
}
.child-2{
	width: 300px;
	height: 100px;
	background-color: palevioletred;
	/***********************/
	/* 整个元素在上级元素的右边 */
	float: right;
	/***********************/
}

方法3:相对定位-relative

相对定位是三种定位中的一种,相对于自身的位置移动,有点类似外边距margin,但是此种方法不会影响其他元素,最多就是移动后会把别的元素覆盖住,使用z-index属性可以调整覆盖顺序。

参照物:自身

方法:
先定位,载使用left、right、top、bottom四个属性来调整位置。

  • left:??px; - 距离左边的距离,正值自身往右移动,负值自身往左移动
  • right:??px; - 距离右边的距离,正值自身往左移动,负值自身往右移动
  • top:??px; - 距离顶部的距离,正值自身往下移动,负值自身往上移动
  • bottom:??px; - 距离底部的距离,正值自身往上移动,负值自身往下移动

一把左右只需要使用一个,上下也只需要使用一个即可。

案例:
在这里插入图片描述
代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<link rel="stylesheet" href="new_file.css"/>
	</head>
	<body>
		<div class="parent">
			上级元素
			<div class="child-1"> 
				第一个子元素
			</div>
			<div class="child-2">
				后面的元素,被【第一个子元素】覆盖住了
			</div>
		</div>
	</body>
</html>
.parent {
	width: 500px;
	height: 400px;
	background-color: green;
}
.child-1{
	width: 100px;
	height: 200px;
	background-color: yellow;
	/***********************/
	position: relative;
	/* 向下移动100像素 */
	top: 100px;
	/* 向右移动100像素 */
	left: 100px;
	/***********************/
}
.child-2{
	height: 80px;
	background-color: red;
}

方法4:绝对定位-absolute

绝对定位也是三种定位中的一种,主要功能是在某个上级的范围内移动。

参照物:已经定位的上级(不一定是上一级)

方法:

  1. 给需要调整位置的元素使用绝对定位
  2. 对某个范围限制的父元素上使用三种定位中的一种

案例:
在这里插入图片描述
代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<link rel="stylesheet" href="new_file.css"/>
	</head>
	<body>
		<div class="parent">
			第一级
			<div class="child"> 
				第二级
				<div class="son">
					第三级
				</div>
			</div>
		</div>
	</body>
</html>
.parent {
	width: 500px;
	height: 400px;
	background-color: green;
	/* 作为第二级的参照物 */
	position: relative;
}
.child{
	width: 400px;
	height: 300px;
	background-color: yellow;
	/***********************/
	/* 给自己定位,同时也是下级的参照物 */
	position: absolute;
	/* 绝对居住的第一种方法 */
	left: 0;right: 0;top: 0;bottom: 0;
	margin: auto;
	/***********************/
}
.son{
	width: 300px;
	height: 200px;
	background-color: red;
	/***********************/
	/* 给自己定位,同时也是下级的参照物 */
	position: absolute;
	/* 绝对居住的第二种方法 */
	left: 50%;top: 50%;
	margin-left: -150px;
	margin-top: -100px;
	/***********************/
}

方法5:固定定位-fixed

固定定位三种定位中的一种,相对于整个浏览器窗口左定位。不会跟随页面滚动,时固定的。

参照物:整个浏览器页面

案例:
在这里插入图片描述
代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<link rel="stylesheet" href="new_file.css"/>
	</head>
	<body>
		<div class="parent">
			<div class="child"> 
				固定定位
			</div>
		</div>
	</body>
</html>
.parent {
	width: 500px;
	height: 1000px;
	background-color: green;
}
.child{
	width: 100px;
	height: 100px;
	background-color: yellow;
	/***********************/
	position: fixed;
	/* 固定到页面的右边的中间 */
	/* 不会跟随页面滚动,永远固定 */
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	/***********************/
}

总结

当然还有别的方法,最常用的就是这几种,并且这几种的用法也只是简单涉猎,真正使用的时候比这个复杂多了,比较企业真实需求是变化多端的,并且是复杂的。

因此本次知识带大家入门,如果需要完整的学习CSS的核心技术,推荐我的录制视频:

视频教程

1、2020年新型前端HTML5 CSS3 JS Canvas AJAX Http前后端交互(文档课件)

使用CSS设置网页元素的位置 通过使用CSS的position属性、float属性和flexbox布局,您可以轻松地设置网页元素的位置。position属性提供了绝对定位和相对定位的选项,float属性用于创建多栏布局,而flexbox布局则提供了更高级的布局控制。根据您的设计需求和布局目标,选择适合的方法来设置元素的位置,并使用相应的CSS属性来实现所需的效果。在网页设计和开发中,CSS(层叠样式表)是一种强大的工具,用于控制网页元素的样式和布局。通过使用CSS,您可以轻松地设置和调整网页元素的位置,以创建各种各样的布局。 阅读详情

相关推荐

CSS盒模型与浮动定位深入解析

本文深入探讨了CSS盒模型的各个方面,包括外边距、边框、内边距以及内容溢出控制等,同时解析了浮动定位的原理及其在布局中的应用。通过具体的HTML和CSS代码示例,展示了如何实现元素的居中显示、解决浮动带来的父盒子高度塌陷问题,以及如何利用不同的清除浮动方法来优化网页布局。

weixin_28787801的博客 508

css中如何调整元素位置

当这个div变成弹性容器时,那弹性容器对应的项目属性才有用,才会有效果。5种方法去解决元素位置问题,诚然,如果掌握了弹性容器,就完全没有必要使用float,但是transform却还是非常常用的。我们通常把样式层叠表叫做css,它是用来修饰html内容的,给内容加各种各样的样式和效果。可以使用top, left, right, bottom四个方向的值去调整元素的位置。absolute 绝对定位,根据最近的有定位方式的父元素进行定位。sticky 粘性定位,根据页面滚动的位置进行定位,

杜永康的博客 1万+

面试中常考的数学题——截木棍、圆上取点、赛马、红蓝墨水,测试毒药、坐到正确座位问题

文章目录1.将一根木棒截成三段,问能够组成三角形的概率;2.在圆上任取三点,问能够组成锐角、直角、钝角三角形的概率;3.共有25匹马,找出最快的3匹,只有5个赛道,每次比赛只能得到5匹马的速度排序,最少需要多少次比赛;4 有两瓶红蓝墨水,体积一样,现在从红墨水中舀一勺加入蓝墨水中,搅拌均匀后,在从蓝墨水中舀一勺加到红墨水中,试问这两瓶墨水哪瓶纯度更高。 1.将一根木棒截成三段,问能够组成三角形的概率; 来源:https://blog.youkuaiyun.com/weixin_41245919/article/deta

weixin_41558411的博客 4906

CSS元素定位

默认情况下,元素都是按照(标准流、常规流、正常流、文档流【document flow】)进行排布在标准流中,可以使用对元素进行定位比较明显的缺点是如果我们希望一个元素可以跳出标准量,单独的对某个元素进行定位呢?定位允许您从正常的文档流布局中取出元素,并使它们具有不同的行为:定位在开发中非常常见:利用position可以对元素进行定位,常用取值有5个:默认值:使用下面的值, 可以让元素变成 定位元素(positioned element)position属性的默认值元素按照 normal flow 布局,原有

Welisit的博客 530

【硬件自锁开关】用两个D触发器完成实用的自锁开关电路

性价比是做电子设计的人要考虑的事,在学会了用单片机解决大多数问题的时候,是否你也想过用简单的手段解决一个多数场合要解决的问题呢?按一下,输出状态由关闭变成开启,再按一下开启变成关闭。机械弹簧式的开关可以实现自锁的功能:钩子和弹簧将当前状态“储存”起来,这个能量为下一次触发的提供状态“翻转”的动力;在电子设计中,经常通过单片机的程序指令实现自锁:通过寄存器将当前电平状态暂存起来,下一次触发的时候寄存器内容“取反”,再将其输出到端口。可否用电路实现以上过程呢?完全可以,方案很简单,通过两个D触发器即可实现。

qq_33175704的博客 4261

pi-star图形界面安装指南

pi-star图形界面安装指南,MMDVM热点安装,树莓派3B+热点

blueisman的专栏 1909

CSS定位

作用:灵活的改变盒子在网页中的位置。

分享各类实战项目,提供源码与教程,供大家学习参考。 475

避开这5个坑!Tushare数据获取与清洗的常见问题解决方案

本文详细解析了使用Tushare进行金融数据分析时常见的5大问题,包括Token失效、数据缺失、频率限制等,并提供了Python实战解决方案。通过智能填充策略、队列化管理和分层存储设计,帮助开发者高效获取和清洗金融数据,提升量化分析效率。特别适合金融数据分析师和Python开发者参考。

f9g0h的博客 422

pink_CSS_3/标准流、浮动、定位、元素隐藏

行内元素为了照顾兼容性,尽量只设置左右内外边距,不要设置上下内外边距。若转换为块级元素和行内块元素,则可设置!去掉<li>前面的项目符号(小圆点)——lengthlengthlengthh-shadowv-shadowblurspreadcolorinset。

xzh12x的博客 2002

MIC卡的OFED驱动安装

 IB网络和OFED驱动安装 IB InfiniBand是一个统一的互联结构,可以处理存储I/O、网络I/O和进程间通信(IPC)。它可以将磁盘阵列、SANs、LANs、服务器和集群服务器进行互联,也可以连接外部网络(比如WAN、VPN、互联网)。设计InfiniBand的目的主要是用于企业数据中心,大型的或小型的。目标主要是实现高的可靠性、可用性、可扩展性和高的性能。Inf

beglorious的专栏 5106

【HTML+CSS】CSS页面布局:盒子模型+浮动+定位

一、盒子模型 1、盒子模型组成 CSS 盒子模型本质上是一个盒子,封装周围的 HTML 元素,它包括:边框、外边距、内边距、和实际内容。 2、边框(border) border可以设置元素的边框。边框有三部分组成:边框宽度(粗细)、边框样式、边框颜色。 边框会影响盒子的实际大小。 /* 边框语法 */ border : border-width || border-style || border-color /* 边框简写-无顺序 */ border: 1px solid

qq_30148319的博客 5689

【汇编实战开发笔记】一段汇编代码如何“反编译”成C代码?

介绍了一种由汇编代码得到C代码的方法

一个专注于嵌入式IoT领域的架构师,深耕IoT领域多年,深度掌握IoT领域的相关技术栈,包括但不限于RTOS内核的实现及其移植、硬件驱动移植开发、网络通讯协议开发、编译构建原理及其实现、底层汇编及编译原理、编译优化及代码重构、嵌入式IoT系统的架构设计等。 1万+

【CSS】使用绝对定位 / 浮动解决外边距塌陷问题 ( 为父容器 / 子元素设置内边距 / 边框 | 为子元素设置浮动 | 为子元素设置绝对定位 )

一、外边距塌陷描述 1、没有塌陷的情况 2、外边距塌陷情况 二、传统方法解决外边距塌陷 - 为父容器 / 子元素设置内边距 / 边框 三、使用浮动解决外边距塌陷 - 为子元素设置浮动 四、使用绝对定位解决外边距塌陷 - 为子元素设置绝对定位

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 1725

Easy系列PLC远程IO模块的安装配置和地址访问(EtherCAT总线)

EtherCAT分布式时钟DC(SOEM源码解析)EtherCAT分布式时钟DC(SOEM源码解析)_soem dc同步-优快云博客文章浏览阅读1.2k次。分布式时钟(DC,Dsitributed Clock)可以使所有 EtherCAT设备使用相同的系统时间,从而控制各设备任务的同步执行。_soem dc同步1200PLC连接分布式IO组态编程应用(ES200SP固件版本不同解决方法)

RXXW_Dor的博客 175

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

CSS定位与浮动

CSS 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠,还可以完成多年来通常需要使用多个表格才能完成的任务

m0_49034593的博客 2511

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

CSS进阶(盒子模型、浮动、定位、伪类、伪元素)

盒子模型指的是 HTML 元素在页面中所占有的空间,其包括标签的元素内容(content),内边距(padding),边框(border)和外边距(margin)四个部分。这四个部分围成了一个盒子,它的大小由宽度和高度定义。这四个部分的大小可通过 CSS 设置。上图是一个盒子模型的示例。其中,黄色区域为元素内容,橙色区域为内边距,红色区域为边框,蓝色区域为外边距。就是最中间的长方形,写东西的地方就是内容到边框中间的那一部分的距离就是边框的那条把盒子包起来的线就是盒子本身距离盒子外的元素的距离。

weixin_73972399的博客 2329

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

CSS外边距合并和CSS清除浮动

外边距合并 外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。 外边距合并(叠加)是一个相当简单的概念。但是,在实践中对网页进行布局时,它会造成许多混淆。 简单地说,外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。 当一个元素出现在另一个...

小马过河 1796

CSS之负外边距

前言 之前学习CSS的时候,对负外边距的理解不是很透彻,最近看三栏布局的内容,负外边距很关键,所以打算多方位搜索资料,对负外边距这个技巧好好学习一番。 正文 负外边距,顾名思义,就是margin的值为负,通常设置时需要区分margin-right、margin-bottom、margin-left、margin-top。 1.margin-left、margin-top会把元素向左或向上拉...

weixin_39006917的博客 1133

html中浮动与定位,CSS浮动与定位

1.浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响?答:浮动模型也是一种可视化格式模型,浮动的框可以左右移动(根据float属性值而定),直到它的外边缘碰到包含框或者另一个浮动元素的框的边缘。浮动元素不在文档的普通流中,文档的普通流中的元素表现的就像浮动元素不存在一样。对父容器的影响:如果父元素只包含浮动元素,且父元素未设置高度和宽度的时候。那么它的高度就会塌缩为零,也就...

weixin_42226116的博客 401

CSS盒子、浮动、定位

Emmet语法 快速生成html结构语法: 直接写上标签名 标签名*n,n为生成多少个相同的标签 父子级关系的标签,可以用> 兄弟级关系的标签,可以用+ 如果生成class,标签名.类名 如果生成id,标签名#id名 (.类名或者是#id名,都是默认标签是div) div类名是有顺序的可以用$,表示从1开始自增,一般是搭配* 标签内部的内容可以用{}来表示 快速生成CSS样式语法: 采取...

Monkey_nini的博客 365

CSS--盒子的浮动

本章讲述了关于CSS中的盒子浮动,针对盒子各种浮动方式进行了详细的讲解及实验。

2301_82005922的博客 1290

css中浮动与定位的理解,CSS中的浮动和定位

在了解CSS中的浮动和定位之前有必要先了解清楚标准流和脱离标准流的特性标准流的默认特性1、分行、块级元素,并且能够dispay转换。2、块级元素(block):默认独占一行,不能并列显示,能够设置宽、高,宽度为父盒子的100%。例如:div、p、标题元素(h1-h6)、列表元素(ul li、dl dt dd)3、行内元素(inline):默认并排显示,不能设置宽、高,宽度为内容的宽度。例如:spa...

weixin_42602726的博客 1138

CSS—float浮动,清除浮动的6种方式、显示模式display、定位position、元素溢出overflow

CSS—浮动float,清除浮动的6种方式。显示模式display、定位position、元素溢出overflow。

m0_74556076的博客 1327

html中浮动到固定位置,CSS浮动与定位详细解析

1.文档流文档即一个网页,文档流处在网页的最底层,它表示的是页面中的一个位置,我们所创建的元素默认都处在文档流当中。通过浮动和定位可以脱离文档流。元素在文档流中的特点块元素:1.块元素会在文档流中独占一行,块元素会至上而下排列。2.块元素在文档流中的宽度默认值为auto(自动),即为父元素的100%。3.块元素在文档流中的高度默认为内容高度,即被内容撑开,没有内容就为0,有内容的话,内容多少它就多...

weixin_30278943的博客 2195

可视化格式模型:css的浮动、定位、盒模型

桃子叔叔原创,转帖请注明 桃子叔叔有话说: 在很多前端工程师的认知里,前端三剑客中js是重中之重,学好了js,掌握了spa框架和自动化工程化的一系列工具就无敌了,而往往忽略了css基础的知识,特别是平时忙于业务,随便问上一嘴,基本都是磕磕巴巴,很难像js一样了然于胸。桃子叔叔今天特意回头去看css最基础最重要但也是最容易忽视的部分,拿起来温习,希望可以和小伙伴们一起切磋,有任何...

franktaoge的博客 660
上一篇: 【必看】HTML+CSS去掉img图片底部的空白的3种通用方法
下一篇: 【必看】JAVA反射机制原理5分钟掌握就这么简单Reflect、Method、Field使用反射构建SQL语句
Java全栈开发架构师
博客等级 码龄7年 103粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java全栈开发架构师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值