2. CSS3的新特性

2.1 CSS3的现状

●新增的CSS3特性有兼容性问题, ie9+才支持
●移动端支持优于PC端
●不断改进中
●应用相对广泛
●现阶段主要学习: 新增选择器和盒子模型以及其他特性

CSS3给我们新增了选择器,可以更加便捷,更加自由的选择目标元素:
1.属性选择器
2.结构伪类选择器
3.伪元素选择器

2.2 属性选择器

属性选择器可以根据元素的特定属性来选择元素。这样就可以不用借助于类或者id选择器。
在这里插入图片描述
第2个重点记忆
注意:类选择器、属性选择器、伪类选择器,权重为10。

【示例代码】

<!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>/* 1. */input[value] {color: pink;}/* 2. */input[type=text] {color: pink;}/* 3. */div[class^=ic] {color: red;}/* 4. */section[class$=data] {color: skyblue;}/* 5. */span[class*=ap] {color: blueviolet;}/* 权重问题  11*/div.ic2 {color: green;}</style>
</head>
<body><!-- 1.利用属性选择器就可以不用借助于类或者id选择器--><!-- <input type="text" value="请输入用户名"><input type="text"> --><!-- 2.属性选择器还可以选择属性=值的某些元素--><input type="text"><input type="password"><!-- 3.属性选择器可以选择属性值开头的某些元素--><div class="ic1">图标1</div><div class="ic2">图标2</div><div class="ic3">图标3</div><div>与我无关</div><!-- 4.属性选择器可以选择属性值结尾的某些元素--><section class="ic1-data">孙尚香</section><section class="ic2-data">小乔</section><section class="ic3-who">爱谁谁</section><!-- 5.属性选择器可以选择属性值有相同的某些元素 --><span class="1ap1">西瓜</span><span class="2ap2">草莓</span><span class="jgb">鸡公煲</span>
</body>
</html>

在这里插入图片描述

2.3 结构伪类选择器

结构伪类选择器主要根据文档结构来选择器元素,常用于根据父级选择器里面的子元素
在这里插入图片描述
区别:

  1. nth-child 对父元素里面所有孩子排序选择(序号是固定的) 先找到第n个孩子, 然后看是否和E匹配
  2. nth-of-type 对父元素里面指定子元素进行排序选择。先去匹配E , 然后再根据E找第n个孩子

nth-child ( n ) 选择某个父元素的一个或多个特定的子元素(重点)
●n可以是数字, 关键字和公式
●n如果是数字, 就是选择第n个子元素,里面的数字从1开始…
●n可以是关键字:even偶数, odd奇数
●n可以是公式:常见的公式如下(如果n是公式, 则从0开始计算,但是第 0个元素或者超出了元素的个数会被忽略)
在这里插入图片描述
【示例代码】

<!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>/* 1.选出所有偶数 even或2n*/ul li:nth-child(even) {background-color: #ccc;}/* 2.选出所有奇数 odd或2n+1 */ul li:nth-child(2n+1) {background-color: gray;}/* 3.nth-child(n) 这里面必须为n从0开始 每次加1 往后计算*//* 相当于选择了ol 里所有的 li */ol li:nth-child(n) {background-color: skyblue;}</style>
</head>
<body><ul><li>第1个</li><li>第2个</li><li>第3个</li><li>第4个</li><li>第5个</li><li>第6个</li></ul><ol><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li></ol>
</body>
</html>

在这里插入图片描述

小结
●结构伪类选择器一般用于选择父级里面的第n个孩子
●nth-child对父元素里面所有孩子排序选择(序号是固定的)先找到第n个孩子, 然后看是否和E匹配
●nth-of-type对父元素里面指定子元素进行排序选择。先去匹配E, 然后再根据E 找第n个孩子
●关于nth-child (n)我们要知道n是从0开始计算的,要记住常用的公式
●如果是无序列表, 用nth-child更多
●类选择器、属性选择器、伪类选择器, 权重为 10。

2.4 伪元素选择器(重点)

伪元素选择器可以帮助我们利用CSS创建新标签元素, 而不需要HTML标签, 从而简化HTML结构。
注意:
●before和after创建一个元素 ,但是属于行内元素
●新创建的这个元素在文档树中是找不到的, 所以我们称为伪元素
●语法: element::before {}
●before和after必须有content属性
●before在父元素内容的前面创建元素, after 在父元素内容的后面插入元素
●伪元素选择器和标签选择器一样, 权重为1

伪元素选择器使用场景1 : 伪元素 字体图标
语法

div: :before {
position: absolute;
right: 20px;
top: 10px;
content: '\e91e' ;
font-size: 20px;
}

【示例代码】

<!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>@font-face {font-family: 'icomoon';src: url('fonts/icomoon.eot?eyj54y');src: url('fonts/icomoon.eot?eyj54y#iefix') format('embedded-opentype'),url('fonts/icomoon.ttf?eyj54y') format('truetype'),url('fonts/icomoon.woff?eyj54y') format('woff'),url('fonts/icomoon.svg?eyj54y#icomoon') format('svg');font-weight: normal;font-style: normal;font-display: block;}div {position: relative;width: 200px;height: 35px;border: 1px solid black;}div::after {position: absolute;top: 10px;right: 10px;font-family: 'icomoon';/* content: ''; */content: '\ea3e';}</style>
</head>
<body><div></div>
</body>
</html>

在这里插入图片描述

伪元素选择器使用场景2:仿土豆效果

【示例代码】

<!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>.td {position: relative;width: 444px;height: 320px;margin: 30px auto;}.td img {width: 100%;height: 100%;}.td::before {content: '';display: none;position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0, 0, 0, .4) url(images/arr.png) no-repeat center;}/* 当鼠标经过td盒子就让里面的遮罩层显示出来 */.td:hover::before {display: block;}</style>
</head><body><div class="td"><div class="mask"></div><img src="images/td.png" alt=""></div>
</body></html>

在这里插入图片描述

伪元素选择器使用场景3:伪元素清除浮动

伪元素清除浮动的原理

在这里插入图片描述
在这里插入图片描述

2.5 CSS3 盒子模型

CSS3可以通过box-sizing来指定盒模型,有2个值:可指定为content-box、border-box ,这样我们计算盒子大小的方式就发生了改变。
可以分成两种情况:

  1. box-sizing: content-box 盒子大小为 width + padding + border (以前默认的)
  2. box-sizing: border-box 盒子大小为 width
    如果将盒子模型改为box-sizing: border-box,那padding和border就不会撑大盒子(前提是padding和border不会超过width宽度)
    【通用style】
* {margin: 0;padding: 0;box-sizing: border-box;
}

2.6 CSS3其他特性(了解)

1.图片变模糊
2.计算盒子宽度width: calc函数

2.6.1 滤镜filter:

filter CSS属性将模糊或颜色偏移等图形效果应用于元素。

filter: 函数();  例如: filter: blur(5px); blur模糊处理 数值越大越模糊

在这里插入图片描述

2.6.2 calc函数:

calc()此CSS函数让你在声明CSS属性值时执行一些计算。
width: calc(100% - 80px); 注意运算符号两边一定要有空格
括号里面可以使用+ - * /来进行计算。

2.7 CSS3过渡(重点)

过渡( transition)是CSS3中具有颠覆性的特征之一,我们可以在不使用Flash动画或JavaScript的情况下,当元素从一种样式变换为另一种样式时为元素添加效果。
过渡动画: 是从一个状态渐渐的过渡到另外一个状态
可以让我们页面更好看, 更动感十足,虽然低版本浏览器不支持( ie9以下版本)但是不会影响页面布局。
现在经常和 :hover 一起搭配使用。

语法:

transition:要过渡的属性 花费时间 运动曲线 何时开始;

1.属性: 想要变化的css属性,宽度高度 背景颜色 内外边距都可以。如果想要所有的属性都变化过渡,写一个all就可以。
2.花费时间: 单位是秒(必须写单位)比如0.5s
3.运动曲线: 默认是ease (可以省略)
4.何时开始: 单位是秒(必须写单位)可以设置延迟触发时间 默认是0s (可以省略)
在这里插入图片描述
过渡的使用口诀:谁做过渡给谁加

/* 多个属性变化可用逗号分割 也可用all */
transition: width 0.5s ease 0s,hight 0.5s ease 0s;
/* 所有属性都变化用 all */
transition: all 0.5s;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/4108.shtml

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

相关文章

js常用功能方法

一. 从0~9十个数字中随机选出5个数 function randomFive(){var arr [0,1,2,3,4,5,6,7,8,9];var out [];var num 5;while(out.length < num){var temp (Math.random()*arr.length) >> 0;out.push(arr.splice(temp,1));}return out}二. JS去掉字符串前后空格或去掉…

【详细介绍分析golang中map的相关知识】

golang-map 定义和初始化操作和访问添加和修改元素删除元素获取元素判断键是否存在遍历map 常见应用场景 Golang中的map是一种非常强大和灵活的数据结构&#xff0c;它可以用来存储键值对。在本文中&#xff0c;我们将深入探讨Golang中map的相关知识&#xff0c;包括其定义、初…

1.7 运维可以转行什么

文章目录 运维可以转行什么1. 云计算与DevOps2. 信息安全3. 数据分析与大数据4. 项目管理5. 咨询与培训结论 运维可以转行什么 运维&#xff08;Operations and Maintenance&#xff0c;简称O&M&#xff09;是信息技术领域中的重要职能&#xff0c;负责管理和维护企业的信…

代码随想录一刷day50

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣123.买卖股票的最佳时机III二、力扣● 188.买卖股票的最佳时机IV 前言 一、力扣123.买卖股票的最佳时机III class Solution {public int maxProfit(i…

拖动排序功能的实现 - 使用HTML、CSS和JavaScript

引言 在现代Web应用程序中&#xff0c;拖动排序是一种常见的用户界面交互方式&#xff0c;它允许用户通过拖动元素来重新排列列表或项目的顺序。本文将介绍如何使用HTML、CSS和JavaScript来实现手动拖动排序功能。 一、HTML结构 首先&#xff0c;我们需要定义一个列表&#…

电子病历编辑器源码

电子病历系统采取结构化与自由式录入的新模式&#xff0c;自由书写&#xff0c;轻松录入。化实现病人医疗记录&#xff08;包含有首页、病程记录、检查检验结果、医嘱、手术记录、护理记录等等。&#xff09;的保存、管理、传输和重现&#xff0c;取代手写纸张病历。不仅实现了…

利用深度学习进行黑白照片着色:使用 Keras 构建 GAN 进行照片自动上色的详细实践指南

利用深度学习进行黑白照片着色&#xff1a;使用 Keras 构建 GAN 进行照片自动上色的实践指南 在这篇博客文章中&#xff0c;我们将探讨一个具有挑战性的问题&#xff0c;即如何利用深度学习自动为黑白照片上色。传统的图片上色过程是一个艰苦且劳动密集型的过程&#xff0c;必…

Cannot get a STRING value from a NUMERIC cell

Cannot get a STRING value from a NUMERIC cell 错误一&#xff1a; 导入Excel表格数据&#xff0c;该列设置数据类型为String&#xff0c;输入数据是int类型 解决方法&#xff1a;cell.setCellType(CellType.STRING); 错误二&#xff1a;日期类型需要定义格式 解决方法如下&a…

朝花夕拾 - 2023 精神错乱记录

jsliang 的精神错乱记录&#xff0c;一点 2023 小思考。 也许我们曾偏离航道&#xff0c;但请不要放弃抵达终点 前言 在 2020.11 过来珠海&#xff0c;来到金山工作 2 年半的时间里&#xff1a; 在工作上&#xff0c;更换了 3 个小团队&#xff0c;达到了每年一换在工作上&…

autok3s k3d rancher研究

参考 功能介绍 | Rancher文档AutoK3s 是用于简化 K3s 集群管理的轻量级工具&#xff0c;您可以使用 AutoK3s 在任何地方运行 K3s 服务。http://docs.rancher.cn/docs/k3s/autok3s/_index 什么是 AutoK3s k3s是经过完全认证的 Kubernetes 产品&#xff0c;在某些情况下可以替…

沉淀自己的pro-table组件,并发布到npm(Vue3、element-plus)

文章目录 沉淀自己的pro-table组件&#xff0c;并发布到npmQuick Start开发过程笔记add TS Support 参考资料 沉淀自己的pro-table组件&#xff0c;并发布到npm 传送门 约定&#xff1a;npm包名vue3-el-pro-table&#xff0c;引用vue3-el-pro-table的包名为“本项目”。 声明…

Oracle EBS 客制化AP发票无法验证和关联交易的AR事务处理无法创建

背景: 在某项目上,国外账套上线以后,国外法人所有单据使用英文(US);涉及关联交易时,如国外公司使用英文环境创建AP发票,国内公司使用中文环境创建AR事务处理。 问题症状: 1、客制化AP发票接口API采用异步方式处理,每次从客制化AP发票接口表中取一定记录条数批量处理,…

iOS开发 - appstore评价与app内展示appstore

iOS开发 - appstore评价与app内展示appstore 之前开发中遇到app内通过广告直接展示某个app的appstore信息页面。StoreKit提供了SKStoreProductViewController可以app中直接访问app store 而不需要跳转到app store 一、代码实现 #import "SDStoreProductManager.h"…

linux之Ubuntu系列(四)用户管理 用户和权限 chmod 超级用户root, R、W、X、T、S 软链接和硬链接 shell

r(Read&#xff0c;读取)&#xff1a;对文件而言&#xff0c;具有读取文件内容的权限&#xff1b;对目录来说&#xff0c;具有浏览目 录的权限。 w(Write,写入)&#xff1a;对文件而言&#xff0c;具有新增、修改文件内容的权限&#xff1b;对目录来说&#xff0c;具有删除、移…

MySQL切分函数substring()的具体使用

目录 一、LEFT() 函数 二、RIGHT() 函数 三、SUBSTRING() 函数 四、SUBSTRING_INDEX() 函数 五、实战操作 MySQL字符串截取函数主要有&#xff1a;left(), right(), substring(), substring_index() 四种。各有其使用场景。今天&#xff0c;让我带大家花几分钟时间来熟知它…

恢复配置并减少网络停机时间

随着众多公司努力在商业世界中崭露头角&#xff0c;拥有可靠的 IT 基础架构比以往任何时候都更加重要。组织需要维护一个稳定的网络环境&#xff0c;避免不合时宜的网络中断以及网络连接中断、声誉受损、应用程序不可用和数据丢失。 Network Configuration Manager 提供了一种…

打磨投资论(宏观指标篇)|底层逻辑

前言&#xff1a; 根据某次美国社融通胀数据&#xff0c;预期CPI 3.1&#xff0c;实际3.0&#xff0c;说明通货膨胀水平减缓&#xff0c;有改善&#xff0c;加息概率减少&#xff0c;降息概率加大&#xff0c;钱流入市场的概率增加&#xff0c;利好股市&#xff0c;也利好黄金…

LLM微调 | LoRA: Low-Rank Adaptation of Large Language Models

&#x1f525; 发表于论文&#xff1a;(2021) LoRA: Low-Rank Adaptation of Large Language Models &#x1f604; 目的&#xff1a;大模型预训练微调范式&#xff0c;微调成本高。LoRA只微调新增的小部分参数。 文章目录 1、背景2、动机3、LoRA原理4、总结 1、背景 adapter…

LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Linux 学习记录52(ARM篇)

Linux 学习记录52(ARM篇) 本文目录 Linux 学习记录52(ARM篇)一、汇编语言相关语法1. 汇编语言的组成部分2. 汇编指令的类型3. 汇编指令的使用格式 二、基本数据处理指令1. 数据搬移指令(1. 格式(2. 指令码类型(3. 使用示例 2. 立即数(1. 一条指令的组成 3. 移位操作指令(1. 格式…