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

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 中的选择器

  1. 层级选择器
    使用大于号(>)表示 E ~ F
    子选择器 选择匹配的F元素,且匹配的F元素所匹配的E元素的子元素
    使用波浪线(+)表示 E + F
    相邻兄弟选择器 选择匹配的F元素,且匹配的F元素紧位于匹配的E元素的后面
    使用波浪线(~)表示 E ~ F
    相邻选择器类似,选择匹配的F元素,且位于匹配的E元素后的所有匹配的F元素

  2. 属性选择器
    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-”开头的值

  3. 结构伪类选择器
    (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 的元素

  4. 否定伪类选择器
    :not(el) 选择所有 el 以外的元素

  5. 状态(表单元素)伪类选择器
    :focus 选择元素输入后具有焦点
    :enabled 匹配每个已启用的元素
    :disabled 匹配每个被禁用的元素
    :checked 匹配每个已被选中的 元素
    :required 选择有"required"属性指定的元素属性
    :optional 选择没有"required"的元素属性
    :read-only 选择只读属性的元素属性
    :read-write 选择没有只读属性的元素属性
    :valid 选择所有有效值的属性
    :invalid 在表单元素中的值是非法时设置指定样式
    :in-range 用于标签的值在指定区间值时显示的样式
    :out-of-range 选择指定范围以外的值的元素属性

  6. 目标伪类选择器
    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&#xff08;层叠样式表&#xff09;技术的升级版…...

奇安信_防火墙部署_透明桥模式

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

C语言——字符串函数(2)和内存函数

(一)strtok函数dilimiters参数是个字符串&#xff0c;定义了用作分隔符的字符集合第一个参数指定一个字符串&#xff0c;它包含了0个或者多个由dilimiters字符串中一个或者多个分隔符分割的标记。strtok函数找到str中的下一个标记&#xff0c;并将其用 \0 结尾&#xff0c;返回…...

第1节 线性回归模型

1. 模型概述 对于收集到的数据(xi,yi)(x_i,y_i)(xi​,yi​)&#xff0c;建立线性回归模型yiθTxiεi(1)y_i\theta^{^T} x_i \varepsilon_i (1)yi​θTxi​εi​(1) 需要估计的参数为θT\theta^{^T}θT&#xff0c;我们的目的是让估计的参数θT\theta^{^T}θT和xix_ixi​…...

CodeGeeX 130亿参数大模型的调优笔记:比FasterTransformer更快的解决方案

0x0 背景 相信大家都使用或者听说过github copilot这个高效的代码生成工具。CodeGeeX类似于github copilot&#xff0c;是由清华大学&#xff0c;北京智源研究院&#xff0c;智谱AI等机构共同开发的一个拥有130亿参数的多编程语言代码生成预训练模型。它在vscode上也提供了插件…...

Linux驱动之并发与竞争

文章目录并发与竞争的概念原子操作原子整形操作 API 函数原子位操作 API 函数自旋锁自旋锁简介自旋锁结构体自旋锁 API 函数自旋锁的注意事项读写自旋锁读写自旋锁的API顺序锁顺序锁的APIRCU(Read-Copy-Update)RCU的API信号量信号量API互斥体互斥体的API完成量(Completion)完成…...

【密码学复习】第四讲分组密码(三)

AES算法的整体结构 AES算法的轮函数 1&#xff09;字节代换&#xff08;SubByte&#xff09; 2&#xff09;行移位&#xff08;ShiftRow&#xff09; 3&#xff09;列混合&#xff08;MixColumn&#xff09; 4&#xff09;密钥加&#xff08;AddRoundKey&#xff09;1-字节代换…...

JVM(内存划分,类加载,垃圾回收)

JVMJava程序&#xff0c;是一个名字为Java 的进程&#xff0c;这个进程就是所说的“JVM”1.内存区域划分JVM会先从操作系统这里申请一块内存空间&#xff0c;在这个基础上再把这个内存空间划分为几个小的区域在一个JVM进程中&#xff0c;堆和方法区只有一份&#xff1b;栈和程序…...

工作中遇到的问题 -- 你见过哪些写的特别好的代码

strPtr : uintptr((*(*stringStruct)(unsafe.Pointer(&str))).str)代码解析&#xff1a; 这是一段 Go 代码&#xff0c;它的作用是获取一个字符串变量 str 的底层指针&#xff0c;即字符串数据的起始地址。 这段代码涉及到了 Go 语言中的指针、类型转换和内存布局等概念&…...

基于chatGPT设计卷积神经网络

1. 简介 本文主要介绍基于chatGPT&#xff0c;设计一个针对骁龙855芯片设计的友好型神经网络。 提问->跑通总共花了5min左右&#xff0c;最终得到的网络在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 中的日期类&#xff0c;精确到时、分、秒、毫秒java.sql.Date 与数据库 Date 相对应的一个类型&#xff0c;只有日期部分&#xff0c;时分秒都会设置为 0&#xff0c;如&#xff1a;2019-10-23 00:00:0…...

动态规划---线性dp和区间dp

动态规划(三) 目录动态规划(三)一&#xff1a;线性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碰撞检测算法

分离轴分离轴定理&#xff08;Separating Axis Theorem&#xff09;是用于解决2D或3D物体碰撞检测问题的一种方法。其基本思想是&#xff0c;如果两个物体未发生碰撞&#xff0c;那么可以找到一条分离轴&#xff08;即一条直线或平面&#xff09;&#xff0c;两个物体在该轴上的…...

STM32 10个工程篇:1.IAP远程升级(二)

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

Unity+ChatGpt的联动 AICommand

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

STM-32:按键控制LED灯 程序详解

目录一、基本原理二、接线图三、程序思路3.1库函数3.2程序代码注&#xff1a;一、基本原理 左边是STM322里电路每一个端口均可以配置的电路部分&#xff0c;右边部分是外接设备 电路图。 配置为 上拉输入模式的意思就是&#xff0c;VDD开关闭合&#xff0c;VSS开关断开。 浮空…...

北邮22信通:(8)实验1 题目五:大整数加减法(搬运官方代码)

北邮22信通一枚~ 跟随课程进度每周更新数据结构与算法的代码和文章 持续关注作者 解锁更多邮苑信通专属代码~ 上一篇文章&#xff1a; 北邮22信通&#xff1a;&#xff08;7&#xff09;实验1 题目四&#xff1a;一元多项式&#xff08;节省内存版&#xff09;_青山如…...

Fiddler抓取https史上最强教程

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

STM32开发基础知识入门

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

学习操作系统的必备教科书《操作系统:原理与实现》| 文末赠书4本

使用了6年的实时操作系统&#xff0c;是时候梳理一下它的知识点了 摘要&#xff1a; 本文简单介绍了博主学习操作系统的心路历程&#xff0c;同时还给大家总结了一下当下流行的几种实时操作系统&#xff0c;以及在工程中OSAL应该如何设计。希望对大家有所启发和帮助。 文章目录…...

大数据的常用算法(分类、回归分析、聚类、关联规则、神经网络方法、web数据挖掘)

在大数据时代&#xff0c;数据挖掘是最关键的工作。大数据的挖掘是从海量、不完全的、有噪声的、模糊的、随机的大型数据库中发现隐含在其中有价值的、潜在有用的信息和知识的过程&#xff0c;也是一种决策支持过程。其主要基于人工智能&#xff0c;机器学习&#xff0c;模式学…...

【数据结构】详解二叉树与堆与堆排序的关系

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;别人可以拷贝我的模式&#xff0c;但不能拷贝我不断往前的激情 &#x1f6f8;C语言专栏&#xff1a;https://blog.csdn.net/vhhhbb/category_12174730.html &#x1f680;数据结构专栏&#xff…...

【Pandas】数据分析入门

文章目录前言一、Pandas简介1.1 什么是Pandas1.2 Pandas应用二、Series结构2.1 Series简介2.2 基本使用三、DataFrame结构3.1 DataFrame简介3.2 基本使用四、Pandas-CSV4.1 CSV简介4.2 读取CSV文件4.3 数据处理五、数据清洗5.1 数据清洗的方法5.2 清洗案例总结前言 大家好&…...

【c++】:list模拟实现“任意位置插入删除我最强ƪ(˘⌣˘)ʃ“

文章目录 前言一.list的基本功能的使用二.list的模拟实现总结前言 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。2. list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0…...

QT表格控件实例(Table Widget 、Table View)

欢迎小伙伴的点评✨✨&#xff0c;相互学习&#x1f680;&#x1f680;&#x1f680; 博主&#x1f9d1;&#x1f9d1; 本着开源的精神交流Qt开发的经验、将持续更新续章&#xff0c;为社区贡献博主自身的开源精神&#x1f469;‍&#x1f680; 文章目录前言一、图示实例二、列…...

第二章Vue组件化编程

文章目录模块与组件、模块化与组件化模块组件模块化组件化Vue中的组件含义非单文件组件基本使用组件注意事项使用 kebab-case使用 PascalCase组件的嵌套模板templateVueComponent一个重要的内置功能单文件组件Vue脚手架使用Vue CLI脚手架先配置环境初始化脚手架分析脚手架结构实…...

面试官:vue2和vue3的区别有哪些

目录 多根节点&#xff0c;fragment&#xff08;碎片&#xff09; Composition API reactive 函数是用来创建响应式对象 Ref toRef toRefs 去除了管道 v-model的prop 和 event 默认名称会更改 vue2写法 Vue 3写法 vue3组件需要使用v-model时的写法 其他语法 1. 创…...

【TopK问题】——用堆实现

文章目录一、TopK问题是什么二、解决方法三、时间复杂度一、TopK问题是什么 TopK问题就是从1000个数中找出前K个最大的数或者最小的数这样的类似问题。 不过并不要求这k个数字必须是有序的&#xff0c;如果题目有要求&#xff0c;则进行堆排序即可。 还有比如求出全国玩韩信…...

【Spring从成神到升仙系列 四】从源码分析 Spring 事务的来龙去脉

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小黄&#xff0c;独角兽企业的Java开发工程师&#xff0c;CSDN博客专家&#xff0c;阿里云专家博主&#x1f4d5;系列专栏&#xff1a;Java设计模式、数据结构和算法、Kafka从入门到成神、Kafka从成神到升仙…...

使用Nginx反向代理OpenAI API

由于OpenAI的API在国内无法访问&#xff0c;所以可以通过海外服务器利用Nginx实现反向代理。 安装Nginx 这一步就不赘述了&#xff0c;不同的Linux系统安装方式略有不同&#xff0c;根据自己的服务器的系统自行百度即可。 OpenSSL创建证书 因为OpenAI的接口是https协议的&a…...

wordpress 最新教程视频/qq刷赞网站推广快速

传统的部署方式&#xff1a;将项目打成war包&#xff0c;放入tomcat 的webapps目录下面&#xff0c;启动tomcat&#xff0c;即可访问。 SpringBoot项目改造打包成war的流程 1、pom.xml配置修改 <packaging>jar</packaging> //修改为 <packaging>war</p…...

建盏产业品牌/百度seo排名优化排行

刚接触mongodb不久。踩到许多坑&#xff0c;记录下一些基于spring-data-mongodb的东西吧 首先。应该了解下什么情况下使用mongodb&#xff0c;什么情况下用mysql&#xff1a; 业务需要事物&#xff0c;使用mysql&#xff0c;因为mongodb不支持事物数据量大&#xff0c;但是数据…...

网站建设初期目标/关键词优化排名软件

来于&#xff1a;http://segmentfault.com/q/1010000000422506 没有缓冲区时&#xff0c;每次读取操作都会导致一次文件读取操作&#xff08;就是告诉操作系统内核我要读这个文件的这个部分&#xff0c;麻烦你帮我把它取过来&#xff09;。有缓冲区时&#xff0c;会一次性读取…...

网站建设 济南/热搜榜上能否吃自热火锅

政府与管理 区块链技术在政府及管理领域有着广泛的应用前景&#xff0c;大致可以分为三类&#xff1a;1.国家、州、省、县、城市、自治区等现有辖区。2.国家与组织的虚拟化管理。3.公司的董事会管理。将区块链技术应用于服务&#xff0c;是对现有“砖块水泥”式实体政府推行的电…...

帮别人做网站多少钱/网络营销方案的制定

总体的感觉&#xff1a;在家打比赛的感觉真的不如有人看着。 水了俩小时码完代码后&#xff0c;就没心情继续码下去了&#xff0c;感觉前三题都是纯知识点&#xff0c;掌握得熟练便能轻松拿下。就是T4还有点考验思维&#xff0c;但推了个式子&#xff0c;码了一下&#xff0c;就…...

武汉网站设计师培训学校/淘宝运营培训班

计算机软硬件实训报告汇编新疆大学实习(实训)报告实习(实训)名称&#xff1a; 计算机软硬件工程实践学 院&#xff1a; 电气工程学院专 业、 班 级&#xff1a; 电气15-3指 导 教 师&#xff1a; 蔺红 娄毅报 告 人&#xff1a; 赵泽明学 号&#xff1a; 20152101202时 间&…...