当前位置: 首页 > news >正文

前端css高级

day08-CSS高级

目标:掌握定位的作用及特点;掌握 CSS 高级技巧

01-定位

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

实现:

1.定位模式:position

2.边偏移:设置盒子的位置

  • left
  • right
  • top
  • bottom

相对定位

position: relative

特点:

  • 不脱标,占用自己原来位置
  • 显示模式特点保持不变
  • 设置边偏移则相对自己原来位置移动
div {position: relative;top: 100px;left: 200px;
}	

绝对定位

position: absolute

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

特点:

  • 脱标,不占位
  • 显示模式具备行内块特点
  • 设置边偏移则相对最近的已经定位的祖先元素改变位置
  • 如果祖先元素都未定位,则相对浏览器可视区改变位置
.father {position: relative;
}.father span {position: absolute;top: 0;right: 0;
}

定位居中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4Ax7z7CI-1691944115335)(assets/1680340142857.png)]

实现步骤:

  1. 绝对定位
  2. 水平、垂直边偏移为 50%
  3. 子级向左、上移动自身尺寸的一半
  • 左、上的外边距为 –尺寸的一半
  • transform: translate(-50%, -50%)
img {position: absolute;left: 50%;top: 50%;/* margin-left: -265px;margin-top: -127px; *//* 方便: 50% 就是自己宽高的一半 */transform: translate(-50%, -50%);
}

固定定位

position: fixed

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

特点:

  • 脱标,不占位
  • 显示模式具备行内块特点
  • 设置边偏移相对浏览器窗口改变位置
div {position: fixed;top: 0;right: 0;width: 500px;
}

堆叠层级z-index

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q1PPEBBe-1691944115337)(assets/1680340281795.png)]

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

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

属性名:z-index

属性值:整数数字(默认值为0,取值越大,层级越高)

.box1 {background-color: pink;/* 取值是整数,默认是0,取值越大显示顺序越靠上 */z-index: 1;
}.box2 {background-color: skyblue;left: 100px;top: 100px;z-index: 2;
}

02-高级技巧

CSS精灵

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2M2fVKwY-1691944115337)(assets/1680340401800.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VTDqY6U4-1691944115338)(assets/1680340411600.png)]

实现步骤:

  1. 创建盒子,盒子尺寸小图尺寸相同
  2. 设置盒子背景图为精灵图
  3. 添加 background-position 属性,改变背景图位置

​ 3.1 使用 PxCook 测量小图片左上角坐标

​ 3.2 取负数坐标为 background-position 属性值(向左上移动图片位置)

案例-京东服务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-agDduXRH-1691944115338)(assets/1680340481861.png)]

HTML结构

<div class="service"><ul><li><h5></h5><p>品类齐全,轻松购物</p></li><li><h5></h5><p>多仓直发,极速配送</p></li><li><h5></h5><p>正品行货,精致服务</p></li><li><h5></h5><p>天天低价,畅选无忧</p></li></ul>
</div>

CSS样式

<style>* {margin: 0;padding: 0;box-sizing: border-box;}li {list-style: none;}.service {margin: 100px auto;width: 1190px;height: 42px;/* background-color: pink; */}.service ul {display: flex;}.service li {display: flex;padding-left: 40px;width: 297px;height: 42px;/* background-color: skyblue; */}.service li h5 {margin-right: 10px;width: 36px;height: 42px;/* background-color: pink; */background: url(./images/sprite.png) 0 -192px;}.service li:nth-child(2) h5 {background-position: -41px -192px;}.service li:nth-child(3) h5 {background-position: -82px -192px;}.service li:nth-child(4) h5 {background-position: -123px -192px;}.service li p {font-size: 18px;color: #444;font-weight: 700;line-height: 42px;}
</style>

字体图标

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yg4k6Pyj-1691944115339)(assets/1680340562425.png)]

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

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

优点

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

下载字体

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DHUyfR69-1691944115339)(assets/1680340665988.png)]

使用字体

  1. 引入字体样式表(iconfont.css)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rWCvrqCY-1691944115340)(assets/1680340697011.png)]

  1. 标签使用字体图标类名
    • iconfont:字体图标基本样式(字体名,字体大小等等)
    • icon-xxx:图标对应的类名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VBPLZGCW-1691944115341)(assets/1680340718890.png)]

上传矢量图

作用:项目特有的图标上传到 iconfont 图标库,生成字体

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BEYZiSON-1691944115341)(assets/1680340775611.png)]

上传步骤:上传 → 上传图标 → 选择 svg 矢量图,打开 → 提交 → 系统审核

03-CSS修饰属性

垂直对齐方式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aIHXlCjQ-1691944115342)(assets/1680340838945.png)]

属性名:vertical-align

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cFTFLJ99-1691944115342)(assets/1680340829633.png)]

过渡

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

属性名:transition(复合属性)

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

提示:

  • 过渡的属性可以是具体的 CSS 属性
  • 也可以为 all(两个状态属性值不同的所有属性,都产生过渡效果)
  • transition 设置给元素本身
img {width: 200px;height: 200px;transition: all 1s;
}img:hover {width: 500px;height: 500px;
}

透明度opacity

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

属性名:opacity

属性值:0 – 1

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

光标类型cursor

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

属性名:cursor

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SckRNtB2-1691944115343)(assets/1680342344485.png)]

04-综合案例-轮播图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZsYAWmzA-1691944115343)(assets/1680342362855.png)]

图片效果

HTML结构

<div class="banner"><!-- 图: ul > li --><ul><li><a href="#"><img src="./images/banner1.jpg" alt=""></a></li><li><a href="#"><img src="./images/banner2.jpg" alt=""></a></li><li><a href="#"><img src="./images/banner3.jpg" alt=""></a></li></ul>
</div>

CSS样式

* {margin: 0;padding: 0;box-sizing: border-box;
}li {list-style: none;
}.banner {position: relative;margin: 100px auto;width: 564px;height: 315px;/* background-color: pink; */overflow: hidden;
}/* 图片 */
.banner img {width: 564px;border-radius: 12px;vertical-align: middle;
}.banner ul {display: flex;
}

箭头

HTML结构

<!-- 箭头 -->
<!-- 上一张 prev -->
<a href="#" class="prev"><i class="iconfont icon-zuoce"></i>
</a>
<!-- 下一张 next -->
<a href="#" class="next"><i class="iconfont icon-youce"></i>
</a>

CSS样式

/* 箭头 */
.banner .prev,
.banner .next {/* 隐藏 */display: none;position: absolute;top: 50%;transform: translateY(-50%);width: 20px;height: 30px;background-color: rgba(0,0,0, 0.3);text-decoration: none;color: #fff;line-height: 30px;
}/* 鼠标滑到banner区域,箭头要显示 display:block */
.banner:hover .prev,
.banner:hover .next {display: block;
}.banner .prev {left: 0;border-radius: 0 15px 15px 0;
}.banner .next {right: 0;border-radius: 15px 0 0 15px;text-align: center;
}

圆点

HTML结构

<!-- 圆点 -->
<ol><li></li><li class="active"></li><li></li>
</ol>

CSS样式

/* 圆点 */
.banner ol {position: absolute;bottom: 20px;left: 50%;transform: translateX(-50%);height: 13px;background-color: rgba(255,255,255,0.3);display: flex;border-radius: 10px;
}.banner ol li {margin: 3px;width: 8px;height: 8px;background-color: #fff;border-radius: 50%;cursor: pointer;
}/* 橙色的li */
.banner ol .active {background-color: #ff5000;
}

相关文章:

前端css高级

day08-CSS高级 目标&#xff1a;掌握定位的作用及特点&#xff1b;掌握 CSS 高级技巧 01-定位 作用&#xff1a;灵活的改变盒子在网页中的位置 实现&#xff1a; 1.定位模式&#xff1a;position 2.边偏移&#xff1a;设置盒子的位置 leftrighttopbottom 相对定位 posit…...

华为OD真题--字符串中最小的整数和--带答案

1. 华为OD机考题 答案 2023华为OD统一考试&#xff08;AB卷&#xff09;题库清单-带答案&#xff08;持续更新&#xff09; 2023年华为OD真题机考题库大全-带答案&#xff08;持续更新&#xff09; 2. 面试题 一手真实java面试题&#xff1a;2023年各大公司java面试真题汇总--…...

9月30日生效:微软官方服务协议更新,防止人工智能进行逆向工程

微软最近更新了其官方服务协议&#xff0c;新规则将于9月30日生效&#xff0c;包括多个新增和变化&#xff0c;具体细节请参考最新的微软服务协议。 微软最新更新涉及使用Bing Chat聊天机器人、Windows Copilot和Microsoft 365 Copilot服务&#xff0c;引起了广泛关注。这次更新…...

HarmonyOS教育类APP项目实战系列课结课考试答案(1-10讲)80分就合格

王丹辉&#xff08;第一讲&#xff09;&#xff1a;HarmonyOS教育类APP项目实战开课及低代码初体验 结课考试 及格分80/ 满分100 评价 判断题 1. DevEco Studio不能同时支持HarmonyOS和OpenHarmony应用/服务开发 正确(True)错误(False) 回答正确 2. DevEco Studio…...

为什么要学习Oracle技术?

为什么要学习Oracle技术? 众所周知&#xff0c;Oracle占据着企业数据库领域超过48.1%的市场份额&#xff0c;成为高端企业数据库软件的绝对领导者。随着时间的推移&#xff0c;企业数据库的规模不断扩大&#xff0c;富有经验的资深OracleDBA越来越受到企业的欢迎。我们从著名的…...

ffmpeg+intel核显实现硬解码

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、前言二、检查方法1.图形法2.nvidia-smi3.intel-gpu-tools 三、安装使用1.libva-dev2.libva-utils3.编译安装4.测试1.vainfo2.ffmpeg测试解码 总结 前言 之…...

电脑开机出现Boot Device怎么办?

开机出现Boot Device这个问题很常见&#xff0c;有时还会出现No Boot Device的问题&#xff0c;虽然多了一个单词&#xff0c;但意思是相同的&#xff0c;这些问题说明你的系统盘出现了问题&#xff0c;或者是引导出现了问题。这该如何解决呢&#xff1f; 方法1. 检查主板或硬盘…...

面试题. 一次编辑

字符串有三种编辑操作:插入一个英文字符、删除一个英文字符或者替换一个英文字符。 给定两个字符串&#xff0c;编写一个函数判定它们是否只需要一次(或者零次)编辑。 示例 1: 输入: first "pale" second "ple" 输出: True 示例 2: 输入: first &…...

Unity悬浮显示提示内容

在编写unity时&#xff0c;需要实现鼠标在某一个按钮上时&#xff0c;就显示其子物体中对应的下拉菜单&#xff0c;为此编写了一个公共类&#xff0c;对于需要悬浮显示的控件均可挂载此类。代码如下&#xff1a; using UnityEngine; using UnityEngine.EventSystems; using Un…...

变形金刚在图像识别方面比CNN更好吗?

链接到文 — https://arxiv.org/pdf/2010.11929.pdf 一、说明 如今&#xff0c;在自然语言处理&#xff08;NLP&#xff09;任务中&#xff0c;转换器已成为goto架构&#xff08;例如BERT&#xff0c;GPT-3等&#xff09;。另一方面&#xff0c;变压器在计算机视觉任务中的使用…...

【Javascript】ES6新增之类的认识

在现代编程语言中&#xff0c;类是面向对象编程范式中的核心概念之一。 与函数类似&#xff0c;类本质上是一种特殊的函数&#xff0c;它允许我们将数据和操作封装在一起&#xff0c;以创建具有共同行为和状态的对象。 在类的世界里&#xff0c;我们有类表达式和类声明&#xf…...

C#随机法 双峰函数 求极值 避免落入局部最优解

避免落入局部最优解&#xff0c;只要让步长够长即可。 x1 resultX1 random1.NextDouble()*100; 如果后面不乘以100&#xff0c;则很大概率落入负数的最大值 Random random1 new Random(DateTime.Now.Millisecond);double x1 0, resultX10,max-999999,maxTemp0;for (int i …...

JavaScript高级:常见设计模式

设计模式是在软件开发中重复出现的问题的解决方案&#xff0c;它们是经过验证的、被广泛接受的最佳实践。设计模式可以让我们避免重复造轮子&#xff0c;提高代码质量和可维护性。在本文中&#xff0c;我们将介绍几种常见的设计模式&#xff0c;以及它们的实现和应用。 1. 单例…...

32bit国产低功耗无线MCU芯片

超低功耗无线MCU芯片MS1642&#xff0c;集成了高性能的32位ARMCortex-M0内核&#xff0c;宽电压工作范围的MCU。嵌入高达64Kbytes高可靠Flash和8Kbytes SRAM存储器&#xff0c;最高工作频率32MHz。芯片集成多路I2C、USART等通讯外设&#xff0c;1路12bit ADC&#xff0c;5个16b…...

scope组件穿透

今天我们以单选框为例来探究一下样式的穿透问题 1.代码 <template><div class""><el-radio v-model"radio" label"1">备选项</el-radio><el-radio v-model"radio" label"2">备选项</el-r…...

分类预测 | Python实现LR逻辑回归多输入分类预测

分类预测 | Python实现LR逻辑回归多输入分类预测 目录 分类预测 | Python实现LR逻辑回归多输入分类预测基本介绍模型描述源码设计学习小结参考资料基本介绍 逻辑回归是一种广义线性的分类模型且其模型结构可以视为单层的神经网络,由一层输入层、一层仅带有一个sigmoid激活函数…...

【微信小程序】通过使用 wx.navigateTo方法进行页面跳转,跳转后的页面中通过一些方式回传值给原页面

以下是几种常见的回传值的方式&#xff1a; 使用 wx.navigateTo 方法传递参数&#xff1a; 在跳转时&#xff0c;可以在目标页面的 URL 中携带参数&#xff0c;然后在目标页面的 onLoad 方法中获取参数&#xff0c;并在目标页面中进行处理。例如&#xff1a; // 原页面跳转到目…...

DIP: Spectral Bias of DIP 频谱偏置解释DIP

On Measuring and Controlling the Spectral Bias of the Deep Image Prior 文章目录 On Measuring and Controlling the Spectral Bias of the Deep Image Prior1. 方法原理1.1 动机1.2 相关概念1.3 方法原理频带一致度量与网络退化谱偏移和网络结构的关系Lipschitz-controlle…...

【考研数学】概率论与梳理统计 | 第一章——随机事件与概率(1)

文章目录 一、随机试验与随机事件1.1 随机试验1.2 样本空间1.3 随机事件 二、事件的运算与关系2.1 事件的运算2.2 事件的关系2.3 事件运算的性质 三、概率的公理化定义与概率的基本性质3.1 概率的公理化定义3.2 概率的基本性质 写在最后 一、随机试验与随机事件 1.1 随机试验 …...

LeetCode 36题:有效的数独

题目 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 &#xff0c;验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。&#xff08;请参考示例图&#xff…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...