web前端 --- CSS(03) -- 元素定位

news/2024/10/31 3:27:29/

元素定位:标签在页面中的位置问题

(1)分类

  • 绝对定位:将需要的元素直接定位固定的位置

PS:绝对定位,必须指定一个相对点(一般是父标签)。相对的标签必须是相对定位或者绝对定位【重点】

  • 相对定位:某个标签做了相对定位,则某个标签的绝对定位会相对于它做定位

PS:若父标签没有做相对定位,则会向上查找;如果最后都没有,则会相对于body做绝对定位。

父相子绝

  • 浮动定位:相对于浏览器的定位,滚动条滚动,浮动定位不会发生变化

(2)示例

例1:定位问题

<!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"><link rel="stylesheet" href="css/01.css"><title>定位问题</title>
</head>
<body><div class="content"><div class="box"></div><p>这是一个段落</p></div></body>
</html>
*{margin:0;padding:0;
}
.content{width: 1200px;height: 3000px;border: 1px solid rebeccapurple;margin: auto;position: relative;/* 做个相对点 */
}
.box{width: 150px;height: 300px;border: 1px solid rgb(197, 211, 37);position: absolute;/* 针对相对点做绝对定位 *//* 绝对定位,若输入内容则不会到标签下方,而是飘在标签上方 */left: 100px;top: 100px;/* 若此时未在相对标签做相对点,则并非相对标签的绝对定位,而是相对左上角的绝对定位 */
}

例2:图片的透明提示栏

<!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"><link rel="stylesheet" href="css/02.css"><title>图片的透明提示栏</title>
</head>
<body><div class="box"><div class="box-img"><img src="img/456.jpg" alt=""><div class="box-img-nav">2325</div></div><p><a href="#">天阶夜色凉如水,坐看牵牛织女星</a></p></div>
</body>
</html>
/* 最后一步将边线都去掉 */
*{padding: 0;margin: 0;
}
.box, .box-img, .box-img-nav{width: 150px;height: 200px;/* border: 1px solid red; */
}
.box-img{height: 150px;/* border: 1px solid greenyellow; */position: relative;/* 做相对点 */
}
.box-img > img{width: 100%;height: 100%;/* 使得图片铺满标签 */
}
.box-img-nav{height: 30px;background-color: rgba(0, 0, 0, 0.2);position: absolute;/* 绝对定位 */left: 0;bottom: 0;color: white;line-height: 30px;font-size: 14px;
}
.box a{color: #222;font-size: 14px;text-decoration: none;/* 下划线设为none */margin-left: 2px;
}

例3:点击浮动标签回到顶部

<!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"><link rel="stylesheet" href="css/03.css"><title>浮动定位,回到顶部</title>
</head>
<body><div id="box"></div><div class="content"></div><div class="go-top"><a href="#box">GO-TOP</a></div></body>
</html>
html{scroll-behavior: smooth;/* 增加滚动效果 */
}
*{margin: 0;padding: 0;
}
#box{width: 100%;
}
.go-top{width: 100px;height: 100px;border-radius: 10px;background-color: #eee;box-shadow: 3px 3px 10px #999;cursor: pointer;/* 鼠标放置,点击回到顶部 */font-size: 25px;line-height: 100px;position: fixed;/* 浮动定位 */right: 50px;bottom: 100px;
}
.content{width: 1200px;height: 3000px;border: 1px solid rebeccapurple;margin: auto;
}

(3)浮动(float)及相关问题

本质作用:用来实现文字环绕图片,现常被用作让块元素横向排列。

例:浮动及商品列表页面

<!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"><link rel="stylesheet" href="css/04.css"><title>浮动及商品列表页面</title>
</head>
<body><div class="content"><div class="goods"><img src="img/123.jpg_.webp" alt=""><p class="price"><span>$499.00</span><span>20000+人付款</span></p><p><a href="#">xxxxx美女成群</a></p></div><div class="goods"><img src="img/123.jpg_.webp" alt=""><p class="price"><span>$499.00</span><span>20000+人付款</span></p><p><a href="#">xxxxx美女成群</a></p></div><div class="goods"><img src="img/123.jpg_.webp" alt=""><p class="price"><span>$499.00</span><span>20000+人付款</span></p><p><a href="#">xxxxx美女成群</a></p></div><div class="goods"><img src="img/123.jpg_.webp" alt=""><p class="price"><span>$499.00</span><span>20000+人付款</span></p><p><a href="#">xxxxx美女成群</a></p></div><div class="goods"><img src="img/123.jpg_.webp" alt=""><p class="price"><span>$499.00</span><span>20000+人付款</span></p><p><a href="#">xxxxx美女成群</a></p></div><div class="goods"><img src="img/123.jpg_.webp" alt=""><p class="price"><span>$499.00</span><span>20000+人付款</span></p><p><a href="#">xxxxx美女成群</a></p></div></div><p>用户的密码加密后放在每一行的第二个字段里,这个 /etc/passwd文件在一般情况下是所有用户可读,只有root用户可写的,这样不良用户就可能读取加密后的密码字串来取得密码。</p>
</body>
</html>
*{margin: 0;padding: 0;
}
.content{width: 1200px;height: 2000px;margin: auto;border: 1px solid royalblue;
}
.goods{width: 250px;height: 395px;border: 1px solid rebeccapurple;float: left;margin: 23px ;
}
.goods > img{width: 250px;
}
p.price{line-height: 30px;height: 30px;
}p.price > span:nth-child(1){font-size: 18px;color: orange;font-weight: bold;
}
p.price > span:nth-child(1)::after{height: 25px;content: "包邮";color: white;font-size: 10px;text-align: center;/* 字体居中 */background-color: orange;
}p.price > span:nth-child(2){margin-right: 10px;float: right;font-size: 13px;color: #999;
}
p > a{text-decoration: none;color: black;
}

  • 浮动问题:盒子在浮动过程中,会影响后面的元素,浮动会导致后面产生空隙,而这些空隙会被后面的元素去填充

PS:如果浮动影响了后面元素的排列,建议清除浮动

<div style="clear: both;"><p>用户的密码加密后放在每一行的第二个字段里,这个 /etc/passwd文件在一般情况下是所有用户可读,只有root用户可写的,这样不良用户就可能读取加密后的密码字串来取得密码。</p>
</div>


http://www.ppmy.cn/news/83072.html

相关文章

qt实现简单计算器推荐博客

Qt5简单函数计q算q器_ouening的博客-CSDN博客 基于QT的科学计算器_杜康o的博客-CSDN博客_qt科学计算器 Qt5 计算器的实现_salmonwilliam的博客-CSDN博客 Qt计算器界面的实现_洋葱汪的博客-CSDN博客_qt计算器界面设计 8.用C/C实现一个科学计算器———&#xff08;超级详细完…

EasyGBS国标GB28181视频平台添加针对H.265视频流的告警信息

EasyGBS国标视频云服务支持设备/平台通过国标GB28181协议注册接入&#xff0c;可实现视频的实时监控直播、录像、检索与回看、语音对讲、云存储、告警、平台级联等功能。平台支持将接入的视频流进行全终端、全平台分发&#xff0c;分发的视频流包括RTSP、RTMP、FLV、HLS、WebRT…

SQL基础培训14-重复记录查询

进度14-重复记录查询-SQL基础培训 知识点 create table RepeatTest ( id int, name varchar(10),

毫米波雷达模块在自动驾驶系统中的关键功能

随着自动驾驶技术的快速发展&#xff0c;毫米波雷达模块作为一项关键技术&#xff0c;为自动驾驶系统提供了重要的感知和决策能力。毫米波雷达模块通过实时探测和跟踪周围环境中的车辆、行人和障碍物&#xff0c;提供精确的距离和速度信息&#xff0c;帮助自动驾驶车辆做出准确…

Tomcat安装与启动和配置

目录 Tomcat 简介 Tomcat 安装 Tomcat 启动和配置 文件夹作用 启动&#xff0c;关闭Tomcat&#xff1b; 常见问题 配置 环境变量 IDEA中配置Tomcat Tomcat 简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在…

postgrepsql字符串分函数、数组长度函数、分割符分割字符串为数组

postgrepsql字符串分函数、数组长度函数、分割符分割字符串为数组 场景需求 某张表里有存储字符传为文件名&#xff08;如下&#xff09;&#xff0c;现在有一个数据需求&#xff0c;要求查询文件的都有那些后缀 xx.jar xxx.pom xxx.aar xxx_xxx_1.6.0.jar xxx_xxx_1.5.0.po…

弹性伸缩AS:实现资源优化利用的未来趋势

在信息技术日新月异的今天&#xff0c;人们对计算机性能的要求越来越高。然而&#xff0c;无论是家庭用户还是企业用户&#xff0c;其计算需求都会随着时间的推移而发生变化。为了满足这种需求&#xff0c;弹性伸缩AS应运而生。本文将从概念、应用和优缺点三个方面来探讨弹性伸…

Real-Time C++ 嵌入式C++ 程序设计(一)

翻译自 Real-Time C Efficient Object-Oriented and Template Microcontroller Programming 4th Edition - Kormanyos, Christopher&#xff0c;这书涉及了从C11 到C20 的内容&#xff0c;主要介绍使用C 的模板、面向对象等特性设计嵌入式程序。书里的示例代码都是公开的&#…