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

2024-02-10 06:32

本文主要是介绍【必看】CSS如何调整一个元素的任意位置-外边距-浮动-定位,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

  • 调整一个元素的任意位置
    • 方法1:外边距-margin
    • 方法2:浮动-float
    • 方法3:相对定位-relative
    • 方法4:绝对定位-absolute
    • 方法5:固定定位-fixed
  • 总结
  • 视频教程

调整一个元素的任意位置

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

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

方法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如何调整一个元素的任意位置-外边距-浮动-定位的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/696378

相关文章

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

python3如何找到字典的下标index、获取list中指定元素的位置索引

《python3如何找到字典的下标index、获取list中指定元素的位置索引》:本文主要介绍python3如何找到字典的下标index、获取list中指定元素的位置索引问题,具有很好的参考价值,... 目录enumerate()找到字典的下标 index获取list中指定元素的位置索引总结enumerat

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h