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

news2025/1/10 11:38:43

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

(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.coloradmin.cn/o/567740.html

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

相关文章

chatgpt赋能python:PythonSearchGroup-Python搜索小组

Python Search Group - Python搜索小组 如果你是一个Python程序员&#xff0c;或者对Python编程语言感兴趣&#xff0c;那么你一定听说过Python Search Group。Python Search Group是一个专注于Python搜索和搜索引擎的小组&#xff0c;他们致力于提供高效的Python搜索工具和搜…

【Netty】字节缓冲区 ByteBuf(七)(下)

文章目录 前言一、实现原理二、ByteBuf 的使用案例三、ByteBuf 的3种使用模式3.1 堆缓冲模式3.2 直接缓冲区模式3.3 复合缓冲区模式 总结 前言 回顾Netty系列文章&#xff1a; Netty 概述&#xff08;一&#xff09;Netty 架构设计&#xff08;二&#xff09;Netty Channel 概…

鸿蒙Hi3861问题解决-DevEco VSCode无法跳转

一、问题描述 使用Windows和Ubuntu混合编译下载&#xff0c;在windows下搭建VSCodeDevEco Device Tool环境。通过SSH远程Ubuntu系统进行代码修改与编译。 在VSCode中&#xff0c;Ctrl左键&#xff0c;无法跳转。按住Ctrl键&#xff0c;鼠标移到函数上&#xff0c;也不会有任何反…

Flink+hadoop部署及Demo

Hadoop集群高可用部署 下载hadoop包地址 https://dlcdn.apache.org/hadoop/common/hadoop-3.2.4/hadoop-3.2.4.tar.gz 上传并解压到3台服务器 配置3台主机的hosts和免密登录 1.修改.bash_profile vi .bash_profile # HADOOP_HOME export HADOOP_HOME/apps/svr/hadoop-3.2.…

一分钟掌握技术术语:API(接口)|电商平台API接口展示示例

很多产品经理在项目开发过程中经常听到&#xff1a;你调我这个接口就好了&#xff1b;这个功能你写个接口给我&#xff1b;有什么不懂的就看下API接口文档。 开发经常说的接口是什么意思呢&#xff1f;术语解释&#xff1a;API&#xff08;Application Programming Interface&a…

GPT虚拟直播Demo系列(一)|GPT接入直播间实现主播与观众互动

摘要 ChatGPT和元宇宙都是当前数字化领域中非常热门的技术和应用。结合两者的优势和特点&#xff0c;可以探索出更多的应用场景和商业模式。例如&#xff0c;在元宇宙中使用ChatGPT进行自然语言交互&#xff0c;可以为用户提供更加智能化、个性化的服务和支持&#xff1b;在Ch…

成功拿到B站测开岗年薪50W+offer,面经分享

一面 首先&#xff0c;自我介绍&#xff0c;我介绍了自己的技术栈和项目。 技术栈提到过Spring、Redis、Kafka、Docker、K8s、大数据。 项目提到过接口和UI自动化。 我有个大数据平台项目&#xff0c;问了比较多&#xff0c;聊着聊着&#xff0c;提到自己研究过Selenium、T…

Vue3:组件基础(上)

Vue3&#xff1a;组件基础&#xff08;上&#xff09; Date: April 11, 2023 Sum: vite的基本使用、组件化开发思想、vue组件的构成、组件的基本使用、封装组件的案例 单页面应用程序 什么是单页面应用程序 单页面应用程序&#xff08;英文名&#xff1a;Single Page Applic…

【网络安全篇】如何当着面试官的面优雅地装逼!

从胡子的长度和忧郁的眼神我察觉到&#xff0c;面前坐着的这位面试官应该有点东西。 浑身上下流露着打过CTF的气场。我像以往一样&#xff0c;准备花3分钟的时间进行自我介绍。 在此期间&#xff0c;面试官面无表情但很有耐心的听着我balabala。 我按照原定计划顺利地介绍(吹…

国内行业垂直型SaaS公司有哪些?发展前景如何?

01 国内行业垂直型SaaS公司有哪些&#xff1f; 根据艾瑞咨询测算&#xff0c;2021年中国企业级应用软件市场规模达到2592亿元&#xff0c;SaaS在其中占比达到28.1%。 在企业数字化转型的全景图中&#xff0c;SaaS扮演着应用场景层面的关键作用&#xff0c;往往是企业特定环节数…

什么是护网?护网怎么参加?

一、什么是护网行动&#xff1f; 护网行动是以公安部牵头的&#xff0c;用以评估企事业单位的网络安全的活动。 具体实践中。公安部会组织攻防两方&#xff0c;进攻方会在一个月内对防守方发动网络攻击&#xff0c;检测出防守方&#xff08;企事业单位&#xff09;存在的安全…

智慧水务系统如何进行有效的数据架构整改?三个企业的改造实践分享

在智慧水务系统中&#xff0c;往往需要对设备中产生的液位、电流、水量等实时指标数据进行存储、分析及监控操作&#xff0c;而这些都是典型的时序数据。面对这些数据的处理时&#xff0c;很多企业在前期选择的大都是传统的实时数据库甚至关系型数据库&#xff0c;随着设备数量…

字段信息 详解,以易举例,创建数据库,程序自动创建数据库的前提,程序读写数据库的第一步

今天要做一个处理比较多数据的工具&#xff0c;就是桌面小软件&#xff0c;重新收拾起以前的易语言来编写&#xff0c;C#等也可以&#xff0c;反正就是最后的成品是绿色免安装。 数据多&#xff0c;优先考虑的就是数据库操作了&#xff0c;又快又好是吧&#xff1f; 第一步&am…

MyBatis源码学习五之插件

MyBatis源码学习五之插件 官网MyBatis插件介绍&#xff1a;https://mybatis.org/mybatis-3/zh/configuration.html#plugins MyBatis的插件使用的范围比较广&#xff0c;像PageHelper就是利用的插件的原理去实现的。插件会做一些通用的功能&#xff0c;比如打印日志&#xff0…

行业报告 | 2022文化科技十大前沿应用趋势(下)

原创 | 文 BFT机器人 04 商业创新 趋势7&#xff1a;区块链技术连接传统文化&#xff0c;数字藏品市场在探索中发展 核心内容&#xff1a; 2022年&#xff0c;数字藏品在区块链技术的助力下应运而生。狭义的数字藏品是指使用区块链技术、基于特定的文化资源所生成唯一的数字凭…

Linux学习记录——이십사 多线程(1)

文章目录 1、以Linux角度理解2、并不是所有的操作系统都这样管理3、页表和物理内存4、线程优缺点5、进程和线程的区别6、线程接口1、pthread_create.2、pthread_join3、线程终止取消正在终止的线程 4、线程分离 1、以Linux角度理解 创建一个进程时&#xff0c;会有pcb结构体&a…

Java集合回顾

能不能和你竭尽全力奔跑 / 向着海平线 / 余晖消逝之前都不算终点 文章目录 集合概述Java 集合概览List, Set, Queue, Map 四者的区别&#xff1f;集合框架底层数据结构总结如何选用集合?为什么要使用集合&#xff1f; ListArrayList 和 Array&#xff08;数组&#xff09;的区…

Java SpringBoot自动化网页爬虫项目

介绍 Java SpringBoot自动化网页爬虫&#xff0c;以图形化方式定义爬虫流程&#xff0c;不写代码即可完成爬虫。 平台以流程图的方式定义爬虫,是一个高度灵活可配置的爬虫平台 功能根据需要可定制化开发。 特性 支持Xpath/JsonPath/css选择器/正则提取/混搭提取 支持JSON/XML/二…

aop+springboot实现数据字典表

文章目录 概要整体架构流程目录结构方式pom文件信息application.yml文件信息aop实现方式(重点方式)我们这里主要的实现了&#xff0c;就是在前段请求数据的时候&#xff0c;我们利用aop&#xff0c;拦截数据&#xff0c;将code编码进行翻译&#xff0c;翻译的方式就是我们将cod…

LabVIEWCompactRIO 开发指南34 在模拟模式下调试

LabVIEWCompactRIO 开发指南34 在模拟模式下调试 在仿真模式下执行LabVIEW FPGA VI时&#xff0c;可以访问标准LabVIEW调试功能&#xff0c;包括突出显示执行、探测和断点。LabVIEW2013及更高版本包含了一个额外的调试工具&#xff0c;称为采样探针。在仿真中运行时插入FPGA设…