CSS新增
系列文章目录
前端系列文章——传送门
CSS系列文章——传送门
文章目录
- 系列文章目录
- 什么是 CSS3
- 渐进增强和优雅降级
- CSS3 中的选择器
- CSS3 中的背景
- CSS3 中的边框
- CSS3 中的文本效果
- CSS3 中的字体 `@font-face`
什么是 CSS3
-
CSS3是CSS(层叠样式表)技术的升级版本,
于1999年开始制订,2001年5月23日W3C完成了CSS3的工作草案,
主要包括盒子模型、列表模块、超链接方式、语言模块、背景和边框、文字特效、多栏布局等模块 -
CSS演进的一个主要变化就是W3C决定将CSS3分成一系列模块
浏览器厂商按CSS节奏快速创新,因此通过采用模块方法,
CSS3规范里的元素能以不同速度向前发展,因为不同的浏览器厂商只支持给定特性
但不同浏览器在不同时间支持不同特性,这也让跨浏览器开发变得复杂
渐进增强和优雅降级
-
渐进增强(Progressive Enhancement):
一开始就针对低版本浏览器进行构建页面,完成基本的功能,
然后再针对高级浏览器进行效果、交互、追加功能达到更好的体验
渐进增强相当于向上兼容 -
优雅降级(Graceful Degradation):
一开始就构建站点的完整功能,然后针对浏览器测试和修复
比如一开始使用 CSS3 的特性构建了一个应用
然后逐步针对各大浏览器进行 hack 使其可以在低版本浏览器上正常浏览
优雅降级相当于向下兼容 -
区别
优雅降级是从复杂的现状开始,并试图减少用户体验的供给而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要
-
降级(功能衰减)意味着往回看
-
而渐进增强则意味着朝前看,同时保证其根基处于安全地带
CSS3 中的选择器
-
层级选择器
使用大于号(>
)表示 E ~ F
子选择器 选择匹配的F元素,且匹配的F元素所匹配的E元素的子元素
使用波浪线(+
)表示 E + F
相邻兄弟选择器 选择匹配的F元素,且匹配的F元素紧位于匹配的E元素的后面
使用波浪线(~
)表示 E ~ F
相邻选择器类似,选择匹配的F元素,且位于匹配的E元素后的所有匹配的F元素 -
属性选择器
E[attr]
:只使用属性名,但没有确定任何属性值
E[attr="value"]
:指定属性名和属性值(值完整)
E[attr~="value"]
:指定属性名,并且具有属性值,
此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词
E[attr^="value"]
:属性值是以value开头的(一部分也可以)
E[attr$="value"]
:属性值是以value结束的(一部分也可以)
E[attr*="value"]
:属性值中包含了value(一部分也可以)
E[attr|="value"]
:属性值是value或者以“value-”开头的值 -
结构伪类选择器
(el):first-child
匹配属于任意元素的第一个子元素的 el 元素
(el):first-of-type
选择父元素中的第一个 el 元素
(el):last-child
选择所有 el 元素的最后一个子元素
(el):last-of-type
选择父元素中最后一个 el 元素
(el):empty
匹配没有子元素(包括文本节点)的 el 元素
(el):nth-child(n)
选择所有 el 元素的父元素的第 n 个子元素
(el):nth-of-type(n)
选择所有p元素第 n 个为 el 的子元素
(el):nth-last-child(n)
选择所有 el 元素倒数的第 n 个子元素
(el):nth-last-of-type(n)
选择所有p元素倒数的第 n 个为 el 的子元素
odd even numN
(el):only-child
选择所有仅有一个子元素,并且子元素是 el 元素
(el):only-of-type
选择所有仅有一个子元素中为 el 的元素 -
否定伪类选择器
:not(el)
选择所有 el 以外的元素 -
状态(表单元素)伪类选择器
:focus
选择元素输入后具有焦点
:enabled
匹配每个已启用的元素
:disabled
匹配每个被禁用的元素
:checked
匹配每个已被选中的 元素
:required
选择有"required"属性指定的元素属性
:optional
选择没有"required"的元素属性
:read-only
选择只读属性的元素属性
:read-write
选择没有只读属性的元素属性
:valid
选择所有有效值的属性
:invalid
在表单元素中的值是非法时设置指定样式
:in-range
用于标签的值在指定区间值时显示的样式
:out-of-range
选择指定范围以外的值的元素属性 -
目标伪类选择器
E:target
用来匹配文档中url中某个标志符的目标元素
url中的标志通常会包含一个#,后面带有一个标志符名称
target 实现 tab 切换的案例
CSS3 中的背景
-
background-clip
规定背景的绘制区域
content-box
padding-box
border-box
-
background-origin
规定背景图片的定位区域
content-box
padding-box
border-box
-
background-size
规定背景图片的尺寸 !!!
length
第一个值设置宽度,第二个值设置的高度。如果只给出一个值,第二个是设置为 auto(自动)
percentage
第一个值设置宽度,第二个值设置的高度。如果只给出一个值,第二个是设置为 auto(自动)
cover
完全覆盖背景定位区域的最小尺寸
contain
完全覆盖背景定位区域的最大尺寸 -
多背景
background:url(),url();
CSS3 中的边框
-
border-radius
设置 圆角边框
每个半径的四个值的顺序是:左上角,右上角,右下角,左下角。
如果省略左下角,右上角是相同的
如果省略右下角,左上角是相同的
如果省略右上角,左上角是相同的border-radius: 1-4 length|% / 1-4 length|%;
按顺时针的顺序,斜杠/左边是四个圆角的水平半径,右边是四个圆角的垂直半径
但是通常我们很少写右边的参数,那就是默认右边等于左边的值
div { border-radius:10px 20px 30px 40px/40px 30px 20px 10px }
绘制网站 —— 直通车 -
border-image
border-image-source
路径
border-image-slice
图片边框向内偏移 没有单位 一个数值
border-image-width
图像边界的宽度
border-image-repeat
平铺(repeat)铺满(round)拉伸(stretch)
border-image-outset
边框图像区域超出边框的量
border-image: source slice width outset repeat|initial|inherit;
box-shadow
设置一个或多个下拉阴影的框
h-shadow
必需的。水平阴影的位置。允许负值
v-shadow
必需的。垂直阴影的位置。允许负值
blur
可选。模糊距离
spread
可选。阴影的大小
color
可选。阴影的颜色。在CSS颜色值寻找颜色值的完整列表
inset
可选。从外层的阴影(开始时)改变阴影内侧阴影
box-shadow: h-shadow v-shadow blur spread color inset;
多个
box-shadow: h-shadow v-shadow blur spread color inset,h-shadow v-shadow blur spread color inset;
/* 像素点阴影---- */
filter: drop-shadow(4px 4px 1px #ccc);
CSS3 中的文本效果
text-shadow
向文本添加阴影
h-shadow
必需。水平阴影的位置。允许负值
v-shadow
必需。垂直阴影的位置。允许负值
blur
可选。模糊的距离
color
可选。阴影的颜色。参阅 CSS 颜色值
text-shadow: h-shadow v-shadow blur color;
-
word-break
规定非中日韩文本的换行规则normal
使用浏览器默认的换行规则
break-all
允许在单词内换行
keep-all
只能在半角空格或连字符处换行
word-break: normal|break-all|keep-all;
-
word-wrap
允许对长的不可分割的单词进行分割并换行到下一行normal
只在允许的断字点换行(浏览器保持默认处理)
break-word
在长单词或 URL 地址内部进行换行
word-wrap: normal|break-word;
- text-overflow 规定当文本溢出包含元素时发生的事情
clip
修剪文本
ellipsis
显示省略符号来代表被修剪的文本
string
使用给定的字符串来代表被修剪的文本
text-overflow: clip|ellipsis|string;
CSS3 中的字体 @font-face
使用以前 CSS 的版本,网页设计师不得不使用用户计算机上已经安装的字体
使用 CSS3,网页设计师可以使用他/她喜欢的任何字体
当你发现您要使用的字体文件时,只需简单的将字体文件包含在网站中,它会自动下载给需要的用户
Internet Explorer 8 以及更早的版本不支持新的 @font-face
规则
font-family
必需,规定字体的名称
src URL
必需,定义字体文件的 URL
font-stretch
可选,定义如何拉伸字体
font-style
可选,定义字体的样式
font-weight
可选,定义字体的粗细。
unicode-range
可选,定义字体支持的 UNICODE 字符范围
<style>@font-face{font-family: myFirstFont;src: url(sansation_light.woff); /* IE9+ */}div{font-family: myFirstFont;}
</style>
阿里巴巴矢量图标库 iconfont —— 直通车
选择class方式,按说明引入字体文件
相关文章:
CSS新增
系列文章目录 前端系列文章——传送门 CSS系列文章——传送门 文章目录系列文章目录什么是 CSS3渐进增强和优雅降级CSS3 中的选择器CSS3 中的背景CSS3 中的边框CSS3 中的文本效果CSS3 中的字体 font-face什么是 CSS3 CSS3是CSS(层叠样式表)技术的升级版…...

奇安信_防火墙部署_透明桥模式
奇安信_防火墙部署_透明桥模式一、预备知识二、项目场景三、拓扑图四、基本部署配置1. 登录web控制台2.连通性配置3.可信主机配置4.授权导入5.特征库升级6.安全配置文件五、透明桥配置1. 创建桥2. 端口绑定桥3. 创建桥端口六、结语一、预备知识 安全设备接入网络部署方式 二、…...

C语言——字符串函数(2)和内存函数
(一)strtok函数dilimiters参数是个字符串,定义了用作分隔符的字符集合第一个参数指定一个字符串,它包含了0个或者多个由dilimiters字符串中一个或者多个分隔符分割的标记。strtok函数找到str中的下一个标记,并将其用 \0 结尾,返回…...
第1节 线性回归模型
1. 模型概述 对于收集到的数据(xi,yi)(x_i,y_i)(xi,yi),建立线性回归模型yiθTxiεi(1)y_i\theta^{^T} x_i \varepsilon_i (1)yiθTxiεi(1) 需要估计的参数为θT\theta^{^T}θT,我们的目的是让估计的参数θT\theta^{^T}θT和xix_ixi…...

CodeGeeX 130亿参数大模型的调优笔记:比FasterTransformer更快的解决方案
0x0 背景 相信大家都使用或者听说过github copilot这个高效的代码生成工具。CodeGeeX类似于github copilot,是由清华大学,北京智源研究院,智谱AI等机构共同开发的一个拥有130亿参数的多编程语言代码生成预训练模型。它在vscode上也提供了插件…...
Linux驱动之并发与竞争
文章目录并发与竞争的概念原子操作原子整形操作 API 函数原子位操作 API 函数自旋锁自旋锁简介自旋锁结构体自旋锁 API 函数自旋锁的注意事项读写自旋锁读写自旋锁的API顺序锁顺序锁的APIRCU(Read-Copy-Update)RCU的API信号量信号量API互斥体互斥体的API完成量(Completion)完成…...

【密码学复习】第四讲分组密码(三)
AES算法的整体结构 AES算法的轮函数 1)字节代换(SubByte) 2)行移位(ShiftRow) 3)列混合(MixColumn) 4)密钥加(AddRoundKey)1-字节代换…...

JVM(内存划分,类加载,垃圾回收)
JVMJava程序,是一个名字为Java 的进程,这个进程就是所说的“JVM”1.内存区域划分JVM会先从操作系统这里申请一块内存空间,在这个基础上再把这个内存空间划分为几个小的区域在一个JVM进程中,堆和方法区只有一份;栈和程序…...
工作中遇到的问题 -- 你见过哪些写的特别好的代码
strPtr : uintptr((*(*stringStruct)(unsafe.Pointer(&str))).str)代码解析: 这是一段 Go 代码,它的作用是获取一个字符串变量 str 的底层指针,即字符串数据的起始地址。 这段代码涉及到了 Go 语言中的指针、类型转换和内存布局等概念&…...
基于chatGPT设计卷积神经网络
1. 简介 本文主要介绍基于chatGPT,设计一个针对骁龙855芯片设计的友好型神经网络。 提问->跑通总共花了5min左右,最终得到的网络在Cifar100数据集上与ResNet18的精度对比如下。 模型flopsparamstrain acc1/5test acc1/5ResNet18(timm)1.8211.18~98…...
java.sql.Date和java.util.Date的区别
参考答案 java.sql.Date 是 java.util.Date 的子类java.util.Date 是 JDK 中的日期类,精确到时、分、秒、毫秒java.sql.Date 与数据库 Date 相对应的一个类型,只有日期部分,时分秒都会设置为 0,如:2019-10-23 00:00:0…...

动态规划---线性dp和区间dp
动态规划(三) 目录动态规划(三)一:线性DP1.数字三角形1.1数字三角形题目1.2代码思路1.3代码实现(正序and倒序)2.最长上升子序列2.1最长上升子序列题目2.2代码思路2.3代码实现3.最长公共子序列3.1最长公共子序列题目3.2代码思路3.3代码实现4.石子合并4.1题目如下4.2代…...
常见的2D与3D碰撞检测算法
分离轴分离轴定理(Separating Axis Theorem)是用于解决2D或3D物体碰撞检测问题的一种方法。其基本思想是,如果两个物体未发生碰撞,那么可以找到一条分离轴(即一条直线或平面),两个物体在该轴上的…...

STM32 10个工程篇:1.IAP远程升级(二)
一直提醒自己要更新CSDN博客,但是确实这段时间到了一个项目的关键节点,杂七杂八的事情突然就一涌而至。STM32、FPGA下位机代码和对应Labview的IAP升级助手、波形设置助手上位机代码笔者已经调试通过,因为不想去水博客、凑数量,复制…...

Unity+ChatGpt的联动 AICommand
果然爱是会消失的,对吗 chatGpt没出现之前起码还看人家的文章,现在都是随便你。 本着师夷长技以制夷的思路,既然打不过,那么我就加入 github地址:https://github.com/keijiro/AICommand 文档用chatGpt翻译如下&#…...

STM-32:按键控制LED灯 程序详解
目录一、基本原理二、接线图三、程序思路3.1库函数3.2程序代码注:一、基本原理 左边是STM322里电路每一个端口均可以配置的电路部分,右边部分是外接设备 电路图。 配置为 上拉输入模式的意思就是,VDD开关闭合,VSS开关断开。 浮空…...

北邮22信通:(8)实验1 题目五:大整数加减法(搬运官方代码)
北邮22信通一枚~ 跟随课程进度每周更新数据结构与算法的代码和文章 持续关注作者 解锁更多邮苑信通专属代码~ 上一篇文章: 北邮22信通:(7)实验1 题目四:一元多项式(节省内存版)_青山如…...

Fiddler抓取https史上最强教程
有任何疑问建议观看下面视频 2023最新Fiddler抓包工具实战,2小时精通十年技术!!!对于想抓取HTTPS的测试初学者来说,常用的工具就是fiddler。 但是初学时,大家对于fiddler如何抓取HTTPS难免走歪路ÿ…...

STM32开发基础知识入门
C语言基础 位操作 对基本类型变量可以在位级别进行操作。 1) 不改变其他位的值的状况下,对某几个位进行设值。 先对需要设置的位用&操作符进行清零操作,然后用|操作符设值。 2) 移位操作提高代码的可读性。 3) ~取反操作使用技巧 可用于对某…...

学习操作系统的必备教科书《操作系统:原理与实现》| 文末赠书4本
使用了6年的实时操作系统,是时候梳理一下它的知识点了 摘要: 本文简单介绍了博主学习操作系统的心路历程,同时还给大家总结了一下当下流行的几种实时操作系统,以及在工程中OSAL应该如何设计。希望对大家有所启发和帮助。 文章目录…...

【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...