【HTML5、CSS3】新增特性总结!

文章目录

    • 23 HTML5 新增特性
      • 23.1 语义化标签
      • 23.2 多媒体标签
        • 23.2.1 视频`<video>`标签
        • 23.2.2 音频`<audio>`标签
      • 23.3 `input`属性值
      • 23.4 表单属性
    • 24 CSS3 新增特性
      • 24.1 属性选择器
      • 24.2 结构伪类选择器
        • 24.2.1 选择第n个元素
        • 24.2.2 常用的6个结构伪类选择器
      • 24.3 伪元素选择器
      • 24.5 盒子模型
      • 24.6 模糊滤镜 `filter:blur(5px); `
      • 24.7 calc 函数 `calc() `
      • 24.8 过渡效果 `transition: width 1s;`

23 HTML5 新增特性

23.1 语义化标签

image-20231211144818808

以前我们布局基本上都是使用div盒子,但是div盒子对于搜索引擎而言没有任何语义。我们可以将div再细分一下,生成一些语义化的布局标签。于是,HTML5新增加了一些新的标签、新的表单和新的表单属性等。

image-20231211145147040

注意,这些新特性都有兼容性问题,基本是IE9+以上版本的浏览器才支持。

23.2 多媒体标签

使用多媒体标签可以很方便地在页面中嵌入音频和视频,不再使用flash和其他浏览器插件。

23.2.1 视频<video>标签
<video src="文件路径" controls="controls"></video>

里面可以添加的属性(部分):

  • autoplay: autoplay 视频自动播放(谷歌浏览器还需要添加“静音播放”)
  • controls: controls 显示播放控件
  • width: 100% 设置播放器的宽度
  • height: 400 设置播放器的高度
  • loop: loop 设置循环播放
  • src: “xxx” 视频的url地址
  • poster: imgurl 加载等待的画面图片
  • muted: muted 静音播放
<video src="move.mp4" autoplay="autoplay" muted="muted" controls="controls" loop="loop" width="500px">
</video>

尽量使用mp4格式,对各个浏览器兼容性更好,不行再执行ogg格式的视频,还是不行就显示文字,写法如下:

image-20231211151900092
23.2.2 音频<audio>标签
<audio src="文件路径" controls="controls"></audio>

里面可以添加的属性(部分):

  • autoplay: autoplay 自动播放(谷歌禁用了,JS可以解决)
  • controls: controls 显示控件
  • loop: loop 循环播放
image-20231211152258736

23.3 input属性值

之前的input无论是啥都为text,满足不了所有的需求。于是HTML5新增了以下input属性值:
image-20231211153205789

将这些放到input里面,就会有新的效果。

image-20231211153400995

23.4 表单属性

image-20231211154156155

image-20231211154545983

image-20231211154649468

可以通过以下设置方式修改placeholder里面的字体颜色:

input::placeholder {color: pink;
}

同时注意:search和submit是一对的,这两个都需要在form盒子里面,才能够成为一对。

 <form action=""><input type="search" name="搜索" id="搜索" required="required"><input type="submit" value="提交"></form>

24 CSS3 新增特性

  • 新增的CSS3特性有兼容性问题,ie9+才支持
  • 移动端支持优于PC端

24.1 属性选择器

image-20231211162323294

  1. 通过属性选择 input[id]
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>input[id] {    /* 有id属性的input才会被选中 */background-color: pink;}</style>
</head><body><form action=""><input type="search" name="搜索" id="搜索"><input type="text" name="搜索" ></form>
</body></html>
  1. 通过属性值选择 input[type="text"]
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>input[type="text"] {    /* type="text"的input才会被选中 */background-color: pink;}</style>
</head><body><form action=""><input type="search" name="搜索" id="搜索"><input type="text" name="搜索" ></form>
</body></html>
  1. 选择属性值开头/结尾名称相同的标签 input[class^=icon]/ input[class$=icon]
  • 如果想要选取下面前3个text表单,可以使用^,选择属性值为icon开头的所有元素:
<form action=""><input type="text" class="icon1"><input type="text" class="icon2"><input type="text" class="icon3"><input type="text" class="lihaile">
</form>
input[class^=icon]{background-color: pink;}
  • 使用$,选择属性值为icon**结尾**的所有元素:
<form action=""><input type="text" class="1icon"><input type="text" class="2icon"><input type="text" class="3icon"><input type="text" class="lihaile">
</form>
input[class$=icon]{background-color: pink;}
  1. 选择包含某些元素的属性值 input[class*=icon]
<form action=""><input type="text" class="1icon1"><input type="text" class="2icon2"><input type="text" class="3icon3"><input type="text" class="lihaile">
</form>

选取前三个元素,使用 input[class*=icon],选择属性值中包含icon的元素:

input[class*=icon]  /*此处权重为 标签选择器1+属性选择器10=11*/{background-color: pink;}

注意:类选择器、属性选择器、伪类选择器,权重都是10

24.2 结构伪类选择器

主要根据文档结构来选择某个元素,常用于选择父级选择器里面的某个子元素

image-20231211163803742

24.2.1 选择第n个元素

当遇到这种情况,我们选择里面的某个元素时,使用class会非常麻烦。

<ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li>
</ul>
  • 选择里面的第一个元素 li:first-child
ul li:first-child {background-color: pink;}
  • 选择里面的最后一个元素 li:last-child
ul li:last-child {background-color: pink;}
  • 选择中间的第几个元素 li:nth-child(3)
ul li:nth-child(3){background-color: aqua;}
  • 选择里面的所有偶数元素 li:nth-child(even)
ul li:nth-child(even){background-color: aqua;}
  • 选择里面的所有奇数元素 li:nth-child(odd)
ul li:nth-child(odd){background-color: aqua;}
  • 依据公式进行选择 li:nth-child(n)
ul li:nth-child(n){background-color: aqua;}

这里的变量必须用n来表示,用n来表示公式,如:2n,(2n)^2等,其中,n从0开始增加,每次增加1。

image-20231211165838488

24.2.2 常用的6个结构伪类选择器
  • :first-child 得到父元素中的第一个子元素
  • :last-child 得到父元素中最后一个子元素
  • :nth-child(n) 得到父元素中第n个子元素
  • :first-of-type 得到指定类型的第一个子元素
  • :last-of-type 得到指定类型的最后一个子元素
  • :nth-of-type(n) 得到指定类型的第n个子元素

注意::nth-child(n)和:nth-of-type (n) 的区别:

image-20231211171107050

div: nth-child(1)是先从所有子元素中拿到第一个子元素,然后判断是不是div,是则选中,不是则不选。

div: nth-of-type(1)是先拿出父元素中所有的div盒子,然后再选择第一个子div。

24.3 伪元素选择器

当我们想要实现这个小三角image-20231211172353742

或者实现鼠标放在图片上,图片就会有一个小的遮罩的效果image-20231211172448066

往常我们是需要给小三角和遮罩一个div,放到html结构中,很麻烦。

现在,可以利用CSS创建新标签元素,而不需要HTML标签,从而简化HTML结构,语法: element::before {}

image-20231211172150375

  • beforeafter会创建一个行内元素
  • 新创建的这个元素在文档树中是找不到的,所以我们称为伪元素
  • before和after必须有content属性
  • before在父元素内容的前面创建元素,after在父元素内容的后面插入元素
  • 伪元素选择器标签选择器一样,权重为1
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div::before{    /* 权重为1+1=2 */content: "你";}div::after{content: "猪";}</style>
</head><body><div></div>
</body></html>

伪元素就是在父级元素里面的前面/后面插入一个行内元素,如上,我们在父级元素的前面插入一个,在父级元素的后面插入一个

其中伪元素里面必须包含content属性

24.5 盒子模型

原来的盒子模型:边框和padding都会撑大盒子。

现在:

  • box-sizing: content-box; (默认)

    盒子大小为width+padding+border,padding和border撑开盒子

  • box-sizing: border-box;

    盒子大小为width和height,padding和border不会撑开盒子

如下div,最终大小为300*300:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div{width: 300px;height: 300px;background-color: aqua;border: 20px solid black;padding: 5px;box-sizing: border-box;}</style>
</head><body><div></div>
</body></html>

24.6 模糊滤镜 filter:blur(5px);

filter属性:将元素加上模糊/颜色偏移等效果

filter:函数();

filter:blur(5px);    blur模糊处理,数值越大越模糊
image-20231211183848027

24.7 calc 函数 calc()

calc() 可以在声明CSS属性值时执行一些计算:

width: calc(100% - 80px);

效果:子盒子永远比父盒子小80像素

注意:括号里面可以使用+- */来计算

24.8 过渡效果 transition: width 1s;

不使用Flash动画和JavaScript就可以实现动画效果(一个样式变化为另一个样式)

transition:变化的属性 花费时间 运动曲线 何时开始
  • 变化的属性:如果宽度变化,那么这里就为width
  • 花费时间:完成变化所需要的时间0.5s
  • 运动曲线:默认为ease
  • 何时开始:默认为0s
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div{width: 300px;height: 300px;transition: width 1s ease 0s;background-color: blueviolet}div:hover{width: 600px;}</style>
</head><body><div></div>
</body></html>

我们定义了一个300X300px的紫色盒子,这个盒子加了一个过渡动画:当鼠标放到盒子上时,就将宽度变为600px,执行时间为1s。

注意:过渡一般搭配hover进行使用

如果想要多个属性同时过渡变化,有两种方式:

  • ①加逗号
transition: width 1s, height 1s;
  • ②直接all
transition: all 1s ease 0s;

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

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

相关文章

如何用Python向图像中加入噪声

我们在做机器视觉项目的过程中&#xff0c;有的时候需要向图像中加入噪声。Pytorch本身不支持类似的功能&#xff0c;如果自己写的话&#xff0c;不但麻烦&#xff0c;而且容易出错。好在skimage支持这个功能。代码如下&#xff1a; import skimage import matplotlib.pyplot …

抚琴成一快-布鲁斯

布鲁斯 0.理论1.音阶1.大调布鲁斯音阶2.小调布鲁斯音阶 1.基础1.shuffle节奏制音2.十二小节3.和弦4.小调五声音阶 2.演奏手法1.Lamp and Lamp1.基础和声进行2.进阶和声进行1.quick change2. call and respond:3.回旋句 2.Box1.基础和声进行2.进阶和声进行 3.Boogie1.基础节奏2.…

【教学类-06-19】20231217 (按“列”正序题)X-Y之间“加法题+题”(1页最多0-13。填满115空格)

作品展示&#xff1a;按列排序&#xff0c;从小到大正序&#xff08;没有大量空格&#xff09; 1.会有空格做分割线&#xff0c;上面部分是所有的小到大正序加法&#xff0c;下面的部分就是正序题目的不重复随机抽取题目&#xff08;乱序题&#xff09; 2、包含分割空格&…

实验记录:深度学习模型收敛速度慢有哪些原因

深度学习模型收敛速度慢有哪些原因&#xff1f; 学习率设置不当&#xff1a; 学习率是算法中一个重要的超参数&#xff0c;它控制模型参数在每次迭代中的更新幅度。如果学习率过大&#xff0c;可能会导致模型在训练过程中的振荡&#xff0c;进而影响到收敛速度&#xff1b;如果…

【Windows】windows11右键默认显示更多选项的办法

Windows11系统的右键菜单显示&#xff0c;需要多点一次“显示更多选项”才能看到所有菜单内容&#xff0c;按下面步骤简单设置一下就能恢复成Windows经典的右键菜单显示。 1. 2.输入命令【reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a…

Redis - RDB与AOF持久化技术

Redis 持久化技术 RDB 是默认持久化方式&#xff0c;但 Redis 允许 RDB 与 AOF 两种持久化技术同时 开启&#xff0c;此时系统会使用 AOF 方式做持久化&#xff0c;即 AOF 持久化技术的优先级要更高。同样的道 理&#xff0c;两种技术同时开启状态下&#xff0c;系…

css的元素显示模式(有单行文字垂直居中,侧边栏等案例)

目录 1. 什么是元素的显示模式 2. 元素显示模式的类型 块元素 行内元素 行内块元素 3. 元素显示模式的转换 4.文字垂直居中 5.具体实现案例 1. 什么是元素的显示模式 定义&#xff1a;元素显示模式就是元素&#xff08;标签&#xff09;以什么方式进行显示&#xff0c;…

HarmonyOS鸿蒙应用开发——数据持久化Preferences封装

文章目录 数据持久化简述基本使用与封装测试用例参考 数据持久化简述 数据持久化就是将内存数据通过文件或者数据库的方式保存到设备中。HarmonyOS提供两两种持久化方案&#xff1a; Preferences&#xff1a;主要用于保存一些配置信息&#xff0c;是通过文本的形式存储的&…

TCP/IP详解——FTP 协议,Telnet协议

文章目录 1. FTP 协议1.1 FTP的应用1.2 FTP传输文件的过程1.3 FTP传输模式1.4 主动模式&#xff08;Active Mode&#xff09;1.5 Active Mode 抓包分析1.6 被动模式&#xff08;Passive Mode&#xff09;1.7 Passive Mode 抓包分析 2. Telnet 协议2.1 Telnet 概念2.2 Telnet 协…

【网络安全】网络防护之旅 - Java安全机制探秘与数字证书引爆网络防线

&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《网络安全之道 | 数字征程》⏰墨香寄清辞&#xff1a;千里传信如电光&#xff0c;密码奥妙似仙方。 挑战黑暗剑拔弩张&#xff0c;网络战场誓守长。 目录 &#x1f608;1. 初识网络安…

Web前端-CSS(文本样式)

文章目录 1.font字体1.1 font-size:大小1.2 font-family:字体1.3 font-weight:字体粗细1.4 font-style:字体风格1.5 font总结 2. css外观属性2.1 color:文本颜色2.2 text-align:文本水平对齐方式2.3 line-height:行间距2.4 text-indent:首行缩进2.5 text-decoration 文本的装饰…

挑战52天学小猪佩奇笔记--day25

52天学完小猪佩奇--day25 ​【本文说明】 本文内容来源于对B站UP 脑洞部长 的系列视频 挑战52天背完小猪佩奇----day25 的视频内容总结&#xff0c;方便复习。强烈建议大家去关注一波UP&#xff0c;配合UP视频学习。 注&#xff1a;这集开始变成一段一段的猜台词&#xff0c;加…

代码随想Day39 | 62.不同路径、63. 不同路径 II

62.不同路径 每次向右或者向下走两个选择&#xff0c;定义dp数组dp[i][j] 为到达索引ij的路径和&#xff0c;状态转移公式为 dp[i][j]dp[i-1][j]dp[i][j-1]&#xff0c;初始状态的第一行和第一列为1&#xff0c;从左上到右下开始遍历即可。详细代码如下&#xff1a; class Sol…

Java并发(十九)----Monitor原理及Synchronized原理

1、Java 对象头 以 32 位虚拟机为例 普通对象 |--------------------------------------------------------------| | Object Header (64 bits) | |------------------------------------|-------------------------| | Mark W…

MySQL 报错 You can‘t specify target table for update in FROM clause解决办法

You can’t specify target table for update in FROM clause 其含义是&#xff1a;不能在同一表中查询的数据作为同一表的更新数 单独执行复合查询是正常的&#xff0c;如下&#xff1a; 但是当执行子查询删除命令时&#xff0c;报如下错误 DELETE FROM abpusers WHERE Id I…

简单介绍十款可以免费使用的API测试工具

API开发应该是后端开发最常见的工作&#xff0c;而调试和测试API是非常关键的&#xff0c;这篇文章简单介绍几款常用的工具以供大家参考。 SoapUI SoapUI是很老牌的工具的&#xff0c;在之前Webservice盛行的时候经常会用到。 现在官方推出了Pro版本的ReadyAPI&#xff0c;但要…

Python glob

参考文章&#xff1a; Python 中glob.glob()、glob.iglob&#xff08;&#xff09;的使用-CSDN博客 Python 中glob.glob()的使用 glob.glob(path)的功能&#xff1a; 返回符合path格式的所有文件的路径&#xff0c;以list存储返回。 path的表示方法&#xff1a; 利用匹配符…

数据科学知识库

​ 我的博客是一个技术分享平台&#xff0c;涵盖了机器学习、数据可视化、大数据分析、数学统计学、推荐算法、Linux命令及环境搭建&#xff0c;以及Kafka、Flask、FastAPI、Docker等组件的使用教程。 在这个信息时代&#xff0c;数据已经成为了一种新的资源&#xff0c;而机…

ES分词查询

全文检索介绍 全文检索的发展过程&#xff1a; 数据库使用SQL语句&#xff1a;select * from table where data like “%检索内容%”出现lucene全文检索工具&#xff08;缺点&#xff1a;暴露的接口相对复杂&#xff0c;且没有效率&#xff09;出现分布式检索服务框架solr&am…

python读取excel数据 附实战代码

在Python中&#xff0c;可以使用pandas库来读取Excel文件中的数据。下面是一个简单的例子&#xff1a; import pandas as pd# 读取Excel文件 df pd.read_excel(example.xlsx)# 显示前5行数据 print(df.head())在上面的代码中&#xff0c;我们首先导入了pandas库&#xff0c;并…