【CSS3】元婴篇

embedded/2025/3/14 10:42:24/

目录

  • 定位
    • 相对定位
    • 绝对定位
    • 定位居中
    • 固定定位
    • 堆叠层级 z-index
  • CSS 精灵
  • 字体图标
    • 下载字体
    • 使用字体
  • 垂直对齐方式
  • 过渡
  • 修饰属性
    • 透明度
    • 光标类型

定位

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

实现:

  • 定位模式:position
  • 边偏移:设置盒子的位置
    • 水平:left、right
    • 垂直:top、bottom

相对定位

属性名:position: relative

代码示例:

<!DOCTYPE html>
<html lang = "en"><head><meta charset = "UTF-8"><title>Title</title><style>css">*{margin: 0;padding: 0;}div{position: relative;top: 100px;left: 100px;}</style></head><body><p>樱花飘落的坡道上,校服裙摆被春风掀起涟漪。少女抱着素描本驻足,看花瓣像融化的蜂蜜般缓缓坠落。忽然有片花瓣在她眼前悬停,折射出七重光晕,化作蓝紫色蝴蝶振翅欲飞。远处传来棒球击打声与蝉鸣交织的午后,自动贩卖机旁的少年正对着她微笑,玻璃瓶装的橘子汽水在阳光下泛着金色泡沫。</p><div><img src="./img/1.png" alt=""></div><p>樱花飘落的坡道上,校服裙摆被春风掀起涟漪。少女抱着素描本驻足,看花瓣像融化的蜂蜜般缓缓坠落。忽然有片花瓣在她眼前悬停,折射出七重光晕,化作蓝紫色蝴蝶振翅欲飞。远处传来棒球击打声与蝉鸣交织的午后,自动贩卖机旁的少年正对着她微笑,玻璃瓶装的橘子汽水在阳光下泛着金色泡沫。</p></body>
</html>

结果如下:
在这里插入图片描述

注意事项

  • 改变位置的参照物是原来的位置
  • 改变位置后不会脱标,仍然占原来的位置
  • 标签显示模式不会改变

绝对定位

属性名:position: absolute

使用场景:子级绝对定位,父级相对定位

代码示例:

<!DOCTYPE html>
<html lang = "en"><head><meta charset = "UTF-8"><title>Title</title><style>css">*{margin: 0;padding: 0;}img{width: 600px;}.news{position: relative;margin: 100px auto;width: 600px;height: 540px;background-color: #f1c0c0;}.news span{position: absolute;right: 0;top: 0;display: block;width: 55px;height: 25px;background-color: rgba(0, 0, 0, 0.4);text-align: center;line-height: 25px;color: white;}</style></head><body><div class="news"><img src="./img/4.png" alt=""><span>花卉展</span><p>晴空如洗,湛蓝底色纯粹而明亮。繁茂的蔷薇在枝头铺展开绚烂画卷,粉白花瓣层层叠叠,似被阳光吻过的云朵,与翠绿枝叶交织缠绕。微风拂过,花朵轻颤,仿佛在低吟春日的浪漫絮语,每一簇绽放都浸满温柔气息,将画面晕染成动漫中独有的梦幻景致 —— 阳光倾洒,花香漫溢,连时光都在此刻变得柔软又诗意。</p></div>    </body>
</html>

结果如下:
在这里插入图片描述

注意事项

  • 改变位置后会脱标,不会占用原来位置
  • 参照物:先找最近的已经定位的先代元素,如果所有先代元素都没有定位,会参照浏览器可视区改变位置
  • 显示模式会改变,宽高生效,具备了行内块的特点

定位居中

实现步骤:

  1. 绝对定位
  2. 水平、垂直边偏移为 50%
  3. 子级向左、上移动自身尺寸的一半
    • 左、上的外边距为 -(尺寸的一半)
    • transform: translate(-50%,-50%);

代码示例:

<!DOCTYPE html>
<html lang = "en"><head><meta charset = "UTF-8"><title>Title</title><style>css">*{margin: 0;padding: 0;}img{position: absolute;left: 50%;top: 50%;/* margin-top: -150px;margin-left: -100px; */transform: translate(-50%,-50%);width: 200px;}.news{position: relative;margin: 200px auto;width: 400px;height: 400px;background-color: #e24242;} </style></head><body><div class="news"><img src="./img/1.jpg" alt=""></div>    </body>
</html>

结果如下:
在这里插入图片描述

固定定位

属性名:position: fixed

场景:元素的位置在网页滚动时不会改变

代码示例:

<!DOCTYPE html>
<html lang = "en"><head><meta charset = "UTF-8"><title>Title</title><style>css">*{margin: 0;padding: 0;}img{position: fixed;width: 1897px;height: 50px;}p{line-height: 50px;}</style></head><body><img src="./img/2.jpg" alt=""><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p><p>这是一行字</p></body>
</html>

结果如下:

屏幕录制 2025-03-09 165009

注意事项

  • 固定定位会脱标,不会占有原来的位置
  • 参照物是浏览器窗口
  • 显示模式具备行内块特点

堆叠层级 z-index

默认效果:按照标签书写顺序,后来者居上

作用:设置定位元素的层级顺序,改变定位元素的显示顺序

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>css">div{position: absolute;width: 200px;height: 200px;}.box1{background-color: #eca8a8;z-index: 2;}.box2{background-color: #a2a9ee;left: 80px;top: 80px;z-index: 1;}</style>
</head>
<body><div class="box1">box1</div><div class="box2">box2</div>
</body>
</html>

结果如下:
在这里插入图片描述

注意事项

  • 堆叠顺序默认按标签顺序后来居上

  • z-index取值是整数,默认是0,取值越大显示顺序越靠上

CSS 精灵

CSS 精灵,也叫 CSS Sprites,是一种网页图片应用处理方式。把网页中一些背景图片整合到一张图片文件中,再background-position精确的定位出背景图片的位置

优点:减少服务器被请求次数,减轻服务器的压力,提高页面加载速度

实现步骤:

  1. 创建盒子,盒子尺寸与小图尺寸相同
  2. 设置盒子背景图为精灵图
  3. 添加background-position属性,改变背景图位置
    • 使用测量工具测量图片左上角坐标
    • 取负数坐标为background-position属性值(向左上移动图片位置)

假如要将下图的字母 N 显示出来
在这里插入图片描述

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>css">div{width: 45px;height: 50px;background-color: pink;background-image: url(./img/5.png);background-position: -106px -110px;}</style>
</head>
<body><div></div>
</body>
</html>

结果如下:
在这里插入图片描述

字体图标

字体图标:展示的是图标,本质是字体

作用:在网页中添加简单的、颜色单一的小图标

优点:

  • 灵活性:灵活地修改样式,例如:尺寸、颜色等
  • 轻量级:体积小、渲染快、降低服务器请求次数
  • 兼容性:几乎兼容所有主流浏览器
  • 使用方便:先下载再使用

下载字体

iconfont 图标库:https://www.iconfont.cn/

下载字体:登录→素材库→官方图标库→进入图标库→选图标,加入购物车→购物车添加至项目→下载至本地

屏幕录制 2025-03-09 220036

使用字体

操作步骤:

  1. 引入字体样式表(iconfont.css
<link rel="stylesheet" href="./iconfont.css">
  1. 挑选相应图标并获取类名,应用于页面
<span class="iconfont icon-xxx"></span>

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./iconfont/font_4851524_dfjzseqnraq/iconfont.css"><style>css">.iconfont{font-size: 100px;color: rgb(168, 37, 168);margin: 20px;}</style>
</head>
<body><span class="iconfont icon-kongtiao"></span><span class="iconfont icon-nuanqi"></span><span class="iconfont icon-bingxiang"></span><span class="iconfont icon-xiyiji"></span><span class="iconfont icon-dianshiji"></span><span class="iconfont icon-reshuiqi"></span>
</body>
</html>

结果如下:
在这里插入图片描述

注意事项:如果要调整字体大小,选择器的优先级要高于 iconfont 类

垂直对齐方式

属性名:vertical-align

属性值:

  • baseline:基线对齐(默认)
  • top:顶部对齐
  • middle:居中对齐
  • bottom:底部对齐

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>css">div{border: 2px solid black;}img{vertical-align: middle;}</style>
</head>
<body><div><img src="./img/1.png" alt="">醉后不知天在水,满船清梦压星河</div>
</body>
</html>

结果如下:
在这里插入图片描述

过渡

作用:可以为一个元素在不同状态之间切换的时候添加过渡效果

属性名:transition(复合属性)

属性值:过渡的属性 花费时间(s)

注意事项:

  • 过渡的属性可以是具体的 CSS 属性
  • 也可以为 all(两个状态属性值不同的所有属性都产生过渡效果)
  • transition 设置给元素本身

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>css">img{width: 300px;height: 300px;transition: all 1s;}img:hover{width: 450px;height: 450px;}</style>
</head>
<body><img src="./img/1.png" alt="">
</body>
</html>

结果如下:

屏幕录制 2025-03-09 230108

修饰属性

透明度

作用:设置整个元素的透明度(包含背景和内容)

属性名:opacity

属性值:

  • 0:完全透明(元素不可见)
  • 1:不透明
  • 0 - 1 之间小数:半透明

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>css">div{width: 400px;height: 400px;background-color: rgb(226, 115, 115);opacity: 0.5;}</style>
</head>
<body><div><img src="./img/1.png" alt=""></div>
</body>
</html>

结果如下:
在这里插入图片描述

光标类型

作用:鼠标悬停在元素上时指针显示样式

属性名:cursor

属性值:

  • default:默认值,通常是箭头
  • pointer:小手效果,提示用户可以点击
  • text:工字型,提示用户可以选择文字
  • move:十字光标,提示用户可以移动

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>css">div{width: 300px;height: 300px;background-color: #e08b8b;cursor: pointer;}</style>
</head>
<body><div></div>
</body>
</html>

结果如下:

屏幕录制 2025-03-09 231536


http://www.ppmy.cn/embedded/172470.html

相关文章

全链条自研可控|江波龙汽车存储“双轮驱动”体系亮相MemoryS 2025

3月12日&#xff0c;MemoryS 2025在深圳盛大开幕&#xff0c;汇聚了存储行业的顶尖专家、企业领袖以及技术先锋&#xff0c;共同探讨存储技术的未来发展方向及其在商业领域的创新应用。江波龙董事长、总经理蔡华波先生受邀出席&#xff0c;并发表了题为《存储商业综合创新》的主…

地理信息系统(ArcGIS)在水文水资源及水环境中的应用:空间数据管理‌、空间分析功能‌、‌可视化表达‌

随着全球工业化和经济的快速发展&#xff0c;水资源短缺、水污染等问题日益严峻&#xff0c;成为制约可持续发展的重大瓶颈。地理信息系统&#xff08;GIS&#xff09;以其强大的空间数据管理和分析能力&#xff0c;在水文水资源及水环境的研究和管理中展现出独特优势。本文将深…

仓库管理系统(WMS)系统的基本流程

WMS&#xff08;仓库管理系统&#xff0c;Warehouse Management System&#xff09;是用于管理和优化仓库操作的系统&#xff0c;旨在提高库存准确性、提高仓库效率和降低成本。WMS的基本流程包括以下几个主要步骤&#xff1a; 收货&#xff08;Receiving&#xff09;&#xff…

OpenCV连续数字识别—可运行验证

前言 ​ 文章开始&#xff0c;瞎说一点其他的东西&#xff0c;真的是很离谱&#xff0c;找了至少两三个小时&#xff0c;就一个简单的需求&#xff1a; 1、利用OpenCV 在Windows进行抓图 2、利用OpenCV 进行连续数字的检测。 3、使用C&#xff0c;Qt 3、将检测的结果显示出来 …

编程考古-VCL跨平台革命:CrossVCL如何让Delphi开发者梦想成真(上)

在软件开发的世界里&#xff0c;有一句老话&#xff1a;“技术的发展总是出乎意料”。对于使用Delphi的开发者而言&#xff0c;这句话从未如此真实。今天&#xff0c;我们将探索一项名为CrossVCL的技术&#xff0c;它不仅重新定义了我们对Visual Component Library&#xff08;…

OpenAI智能体初探:使用 OpenAI Responses API 在 PDF 中实现检索增强生成(RAG)

大家好,我是大 F,深耕AI算法十余年,互联网大厂技术岗。 知行合一,不写水文,喜欢可关注,分享AI算法干货、技术心得。 欢迎关注《大模型理论和实战》、《DeepSeek技术解析和实战》,一起探索技术的无限可能! 引子 在信息爆炸的时代,从大量 PDF 文档中快速准确地检索信息…

高效图像处理工具:从需求分析到落地实现

高效图像处理工具&#xff1a;从需求分析到落地实现 在现代应用开发中&#xff0c;图像处理是一个不可或缺的功能模块。无论是社交媒体、电子商务还是企业级应用&#xff0c;都需要对图片进行各种处理操作&#xff0c;例如尺寸调整、背景替换、格式转换等。然而&#xff0c;实…

神经网络常用库-torch(基础操作张量)

1.理解张量 从简单到复杂逐步理解张量 标量&#xff1a;可以将标量看作是零维张量&#xff0c;它只有一个数值&#xff0c;比如温度、质量等。例如&#xff0c;今天的气温是 25 摄氏度&#xff0c;这里的 25 就是一个标量。向量&#xff1a;一维张量就是向量&#xff0c;它由一…