HTML5和CSS3新增特性
HTML5的新特性
HTML5新增的语义化标签
HTML5 的新增特性主要是针对于以前的不足,增加了一些新的标签、新的表单和新的表单属性等。
这些新特性都有兼容性问题,基本是 IE9+ 以上版本的浏览器才支持,如果不考虑兼容性问题,可以大量使用这 些新特性。
好图当赏
一千布局我们是用div来做的,但是div对搜索引擎来说是没有语义的
<div class=“header”> </div>
<div class=“nav”> </div>
<div class=“content”> </div>
<div class=“footer”> </div>
HTML5新增了语义化标签:
tips:
这种语义化标准主要是针对搜索引擎的
这些新标签页面中可以使用多次
在IE9中,需要把这些元素转换为块级元素
HTML5新增的多媒体标签
新增的多媒体标签主要包含:
音频:<audio>
视频:<video>
使用他们可以更方便的在页面中嵌入音频和视频,而不再使用flash和其他浏览器插件
HTML5 在不使用插件的情况下,也可以原生的支持视频格式文件的播放,支持的格式是有限的
当前<video>元素支持三种视频格式,尽量使用MP4格式
<video src="文件地址" controls="controls"></video>
有些低版本浏览器可能不支持这个格式
video有一些常见的属性:
关于音频,当前的 <audio>元素支持三种音频格式:
<audio src="文件地址" controls="controls"></audio>
< audio controls="controls" > <source src="happy.mp3" type="audio/mpeg" > <source src="happy.ogg" type="audio/ogg" >
</ audio>
音频的常见属性:
谷歌浏览器吧音频和视频的自动播放给禁止了
多媒体标签总结:
HTML5新增的input类型
语义化会更明显
我们需要重点记住number tel search这三个
有了这个提交表单如果格式不一样会报错
HTML5新增的表单属性
我们可以通过以下的方式修改placeholder里面的字体颜色:
input::placeholder { color: pink; }
CSS3的新特性
CSS3现状
新增的CSS3特性有兼容性问题,ie9+才支持
移动端支持优于PC端
不断的改进中
应用相对广泛
CSS新增选择器
CSS新增的选择器可以更加便捷更加自由的选择目标元素
属性选择器
属性选择器可以根据元素特定的属性来选择元素,这样就可以不用借助类或者id选择器
看到了吗孩子这就是属性选择器
<!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>input[value]{color: pink;}</style>
</head>
<body><input type="text" value="请输入"><input type="text">
</body>
</html>
类选择器,属性选择器,伪类选择器的权重为10
结构伪类选择器
结构伪类选择器主要根据文档结构来选择器元素,经常用于根据父级选择器里面的子元素
这个nth-child可以选择某个父元素的一个或者多个特定的子元素
n可以是数字,关键字和公式
n如果是数字,就是选择第n个子元素,里面的数字从1开始
n 可以是关键字:even 偶数,odd 奇数
n 可以是公式:常见的公式如下 ( 如果n是公式,则从0开始计算,但是第 0 个元素或者超出了元素的个数会被忽略 )
这俩的区别:
1. nth-child 对父元素里面所有孩子排序选择(序号是固定的)
先找到第n个孩子,然后看看是否和E匹配
2. nth-of-type 对父元素里面指定子元素进行排序选择
先去匹配E ,然后再根据E找第n个孩子
小结
伪元素选择器
伪元素选择器可以帮助我们利用CSS创建新标签元素,而不需要HTML标签从而简化HTML结构
tips:
1.before 和 after 创建一个元素,但是属于行内元素
2.新创建的这个元素在文档树中是找不到的,所以我们称为伪元素
3.语法: element::before {}
4.before 和 after 必须有 content 属性
5.before 在父元素内容的前面创建元素,after 在父元素内容的后面插入元素
6.伪元素选择器和标签选择器一样,权重为 1
伪元素选择器有使用的场景:伪元素字体图标
p::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>p{position: relative;width: 300px;height: 100px;background-color: pink;}p::before {position: absolute;right: 20px;top: 10px;background-color: aqua;content: '>';font-size: 20px;}</style>
</head>
<body><p>你好</p>
</body>
</html>
content是必须要写的,否则显示不出来
伪元素选择器使用场景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>.tudou{position: relative;width: 500px;height: 400px;}.tudou img{width: 100%;height: 100%;}.tudou::before{display: none;position: absolute;top: 0;left: 0;width: 100%;height: 100%;content: '';background-color: rgb(0,0,0,0.4);}.tudou:hover::before{display: block;}</style>
</head>
<body><div class="tudou"><img src="./1714915128_new_IMG-20240503-WA0094.jpg" alt=""></div>
</body>
</html>
就是这个
然后伪元素还有一个使用场景是:伪元素清除浮动
伪元素清除浮动
1.额外标签法也称为隔墙法,是W3C推荐的做法
2.父级添加overflow属性
3.父级添加after伪元素
4.父级添加双伪元素
这个要求新的空标签必须是块级元素
伪元素清除浮动算是第一种额外标签法的升级和优化
CSS3盒子模型
CSS3中可以通过box-sizing来指定盒模型,有两个值: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宽度)
CSS3还有其他特性,了解即可,可以让图片变模糊,计算盒子宽度width:calc函数
filter CSS属性将模糊或颜色偏移等图形效果应用于元素。
filter: 函数(); 例如: filter: blur(5px); blur模糊处理 数值越大越模糊
calc()此CSS函数让我们声明CSS属性值时执行一些计算
width: calc(100% - 80px);
括号里面可以使用 + - * / 来进行计算
CSS过渡
这是一个重点的特性,过渡(transition)是CSS3中具有颠覆性的特征之一,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果。 过渡动画: 是从一个状态 渐渐的过渡到另外一个状态 可以让我们页面更好看,更动感十足,虽然 低版本浏览器不支持(ie9以下版本) 但是不会影响 页面布局。
现在经常和:hover一起搭配使用
transition: 要过渡的属性 花费时间 运动曲线 何时开始;
1.属性 : 想要变化的 css 属性, 宽度高度 背景颜色 内外边距都可以 。如果想要所有的属性都 变化过渡, 写一个all 就可以。
2. 花费时间: 单位是 秒(必须写单位) 比如 0.5s
3. 运动曲线: 默认是 ease (可以省略)
4.何时开始 :单位是 秒(必须写单位)可以设置延迟触发时间 默认是 0s (可以省略)
过渡就是谁需要就给谁加
<!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>div{width: 200px;height: 100px;background-color: pink;transition: width .5s;}div:hover{width: 400px;}</style>
</head>
<body><div></div>
</body>
</html>
如果想要写多个属性,就要利用,进行分割
<!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>div{width: 200px;height: 100px;background-color: pink;transition: width .5s,height .5s;}div:hover{width: 400px;height: 400px;}</style>
</head>
<body><div></div>
</body>
</html>
在Linux阶段我们自己手工搓了一个进度条,很原始(我们后端原始人是这样的)
前端可以实现更优雅的进度条(至少看起来是这样,代码难度肯定是后端高)
<!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>.bar{width: 250px;height: 10px;border: 1px solid red;border-radius: 7px;padding: 1px;}.bar_in{width: 50%;height: 100%;background-color: red;transition: width .8s;}.bar:hover .bar_in{width: 100%;}</style>
</head>
<body><div class="bar"><div class="bar_in"></div></div>
</body>
</html>
针对H5和C3有他们自己的相对论
HTML5结构标签本身:
CSS3相关样式:
而广义的HTML5是HTML5+CSS3+JS
这是HTML5 MDN的介绍:
https://developer.mozilla.org/zh-CN/docs/Web/Guide/HTML/HTML
课后作业
制作这样的模块
有点不完全一样但是也还行
<!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>.box{height: 300px;width: 200px;background-color: white;}.box1 img{width: 100%;height: 180px;}span{font-size: 14px;color: #707070;}.old{font-size: 22px;color: rgb(226, 49, 49);font-weight: 700;}.new{font-weight: 700;text-decoration: line-through;}.box2{width: 150px;height: 30px;}.box2-in{width: 100px;height: 8px;border: 1px solid red;border-radius: 7px;padding: 1px;}.box2-in-in{width: 50%;height: 100%;background-color: red;transition: width .8s;}.box2-in:hover .box2-in-in{width: 100%;}.box3{width: 200px;height: 50px;color: white;font-weight: 700;background-color: rgb(179, 25, 27);text-align: center;line-height: 50px;}</style>
</head>
<body><div class="box"><div class="box1"><img src="./1714915128_new_IMG-20240503-WA0094.jpg" alt=""></div><span>安分守己,苹果石榴,(128G) 银色移动联通电信5G手机</span><span class="old">$6088</span><span class="new">$6988</span><div class="box2"><div class="box2-in"><div class="box2-in-in"></div></div></div><div class="box3">立即抢购</div></div>
</body>
</html>
这就是前端
相关文章:
HTML5和CSS3新增特性
HTML5的新特性 HTML5新增的语义化标签 HTML5 的新增特性主要是针对于以前的不足,增加了一些新的标签、新的表单和新的表单属性等。 这些新特性都有兼容性问题,基本是 IE9 以上版本的浏览器才支持,如果不考虑兼容性问题,可以大量…...
linux运行vue编译后的项目
如果你的 Vue 项目使用了 history 模式(而非默认的 hash 模式),在纯静态服务器中会出现类似的问题。因为 Vue Router 的 history 模式要求所有未匹配的路径都重定向到 index.html,以便 Vue 前端处理路径。 首先在本地执行npm run…...
论文阅读:A Software Platform for Manipulating theCamera Imaging Pipeline
论文代码开源链接: A Software Platform for Manipulating the Camera Imaging Pipelinehttps://karaimer.github.io/camera-pipeline/摘要:论文提出了一个Pipline软件平台,可以方便地访问相机成像Pipline的每个阶段。该软件允许修改单个模块…...
【MySQL篇】持久化和非持久化统计信息的深度剖析(第一篇,总共六篇)
💫《博主介绍》:✨又是一天没白过,我是奈斯,DBA一名✨ 💫《擅长领域》:✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌️…...
Ubuntu下安装Qt
1.如图1所示,在Index of /archive上下载安装包; 图1 2.将图1安装包下载好之后,通过共享文件夹的方式拷贝到ubutntu,如图2所示; 图2 3.如图3所示,执行chmod x qt-creator-opensource-linux-x86_64-10.0.2.…...
丹摩征文活动 | AI创新之路,DAMODEL助你一臂之力GPU
目录 前言—— DAMODEL(丹摩智算) 算力服务 直观的感受算力提供商的强大 平台功能介绍 镜像选择 云磁盘创建 总结 前言—— 只需轻点鼠标,开发者便可拥有属于自己的AI计算王国 - 从丰富的GPU实例选择,到高性能的云磁盘,再到预配置的深度学习…...
数据库(总结自小林coding)|索引失效的场景、慢查询、原因及如何优化?undo log、redo log、binlog 作用、MySQL和Redis的区别
数据库(总结自小林coding)|索引失效的场景、慢查询、原因及如何优化?undo log、redo log、binlog 作用、MySQL和Redis的区别 说一下索引失效的场景?什么是慢查询?原因是什么?可以怎么优化?undo …...
Docker容器运行CentOS镜像,执行yum命令提示“Failed to set locale, defaulting to C.UTF-8”
最近对运维比较感兴趣,以前虽然对公司负责的项目做过运维工作,但用的都是最原始的方法,例如是在阿里云服务器上直接安装jdk,tomcat,redis ,nginx 。这种方式对不大的项目还能够支持,随着项目变大,服务增加&…...
OpenCV基本图像处理操作(六)——直方图与模版匹配
直方图 cv2.calcHist(images,channels,mask,histSize,ranges) images: 原图像图像格式为 uint8 或 float32。当传入函数时应 用中括号 [] 括来例如[img]channels: 同样用中括号括来它会告函数我们统幅图 像的直方图。如果入图像是灰度图它的值就是 [0]如果是彩色图像 的传入的…...
【LLM学习笔记】第四篇:模型压缩方法——量化、剪枝、蒸馏、分解
文章目录 1. 为什么要进行模型压缩2. 模型量化2.1 常见数据类型2.2 浮点数表示2.3 线性量化2.4 非线性量化2.5 挑战2.6 实际应用 3. 模型剪枝4. 模型蒸馏4.1 模型蒸馏的基本流程4.2 模型蒸馏的优势4.3 实际应用 5. 低秩分解(低秩近似)5.1 基本概念5.2 实…...
python3 自动更新的缓存类
这个类会在后台自动更新缓存数据,你只需要调用方法来获取数据即可。 自动更新缓存类 以下是 AutoUpdatingCache 类的实现: import threading import timeclass AutoUpdatingCache:def __init__(self, update_function, expiry_time60):""&qu…...
英语知识网站开发:Spring Boot框架应用
3系统分析 3.1可行性分析 通过对本英语知识应用网站实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本英语知识应用网站采用SSM框架,JAVA作为开发语…...
文件上传upload-labs-docker通关
(图片加载不出,说明被和谐了) 项目一: sqlsec/ggctf-upload - Docker Image | Docker Hub 学习过程中,可以对照源码进行白盒分析. 补充:环境搭建在Linux虚拟机上的同时,以另一台Windows虚拟机进行测试最…...
git(Linux)
1.git 三板斧 基本准备工作: 把远端仓库拉拉取到本地了 .git --> 本地仓库 git在提交的时候,只会提交变化的部分 就可以在当前目录下新增代码了 test.c 并没有被仓库管理起来 怎么添加? 1.1 git add test.c 也不算完全添加到仓库里面&…...
Doris实战—构建日志存储与分析平台
构建日志存储与分析平台 日志是系统运行的详细记录,包含各种事件发生的主体、时间、位置、内容等关键信息。出于运维可观测、网络安全监控及业务分析等多重需求,企业通常需要将分散的日志采集起来,进行集中存储、查询和分析,以进一步从日志数据里挖掘出有价值的内容。 针…...
【vue3+Typescript】unapp+stompsj模式下替代plus-websocket的封装模块
由于plus-websocket实测存在消息丢失的问题,只能寻找替代的方案,看文章说使用原生的即可很好的工作。而目前在stompjs里需要使用websocket类型的封装模块,看了下原来提供的接口,采用uniapp原生的websocket模式,对原模块…...
Tcon技术和Tconless技术介绍
文章目录 TCON技术(传统时序控制器)定义:主要功能:优点:缺点: TCONless技术(无独立时序控制器)定义:工作原理:优点:缺点: TCON与TCONl…...
C#-利用反射自动绑定请求标志类和具体执行命令类
文章速览 概述例程请求类命名空间父类示例子类示例 命令类命名空间子类示例 记录的数据结构实现绑定方法 坚持记录实属不易,希望友善多金的码友能够随手点一个赞。 共同创建氛围更加良好的开发者社区! 谢谢~ 概述 需求: 将指定的两种类型的…...
高中数学练习:初探均值换元法
文章目录 1. 均值换元法定义2. 均值换元法优点3. 均值换元法应用4. 均值换元法示例4.1 求解分式方程4.2 求解指数方程4.3 计算最大值 5. 实战小结 1. 均值换元法定义 均值换元法是一种数学技巧,通过引入新变量 t t t将两个变量 x x x和 y y y表示为它们的平均值加上…...
数据结构单链表,顺序表,广义表,多重链表,堆栈的学习
单链表 比如一个多项式,主要包括x的系数,x的指数,那么可以创建一个一维数组来存储它的系数和指数,用数组下标来表示。它的系数可以用数组下标对应的数组元素来储存。 可是这样储存会浪费空间所以采用单链表形式来存储。 即创建一…...
【保姆级教程】使用lora微调LLM并在truthfulQA数据集评估(Part 2.在truthfulQA上评估LLM)
上一期我们成功用lora微调了一个模型传送门,怎样评估模型呢?目前LLM没有一个统一的BENCHMARK。我们今天选用truthfulQA。 truthfulQA数据集格式如下所示 {question: What is the smallest country in the world that is at least one square mile in ar…...
thinkphp中对请求封装
请求的封装 //调用 $res Http::post($this->baseUrl . $url,$params,[CURLOPT_HTTPHEADER > [Content-Type: application/json,Content-Length: . strlen($params),],]);<?php namespace fast; /*** 字符串类*/ class Http {/*** 发送一个POST请求*/public static …...
leetcode hot100【LeetCode 215.数组中的第K个最大元素】java实现
LeetCode 215.数组中的第K个最大元素 题目描述 给定一个整数数组 nums 和一个整数 k,请返回数组中第 k 个最大的元素。 请注意,要求排名是从大到小的,因此第 k 个最大元素是排序后的第 k 个元素。你需要设计一个高效的算法来解决这个问题。…...
簡單易懂:如何在Windows系統中修改IP地址?
無論是為了連接到一個新的網路,還是為了解決網路連接問題,修改IP地址都是一個常見的操作。本文將詳細介紹如何在Windows系統中修改IP地址,包括靜態IP地址的設置和動態IP地址的獲取。 IP地址是什麼? IP地址是互聯網協議地址的簡稱…...
Python中的23种设计模式:详细分类与总结
设计模式是解决特定问题的通用方法,分为创建型模式、结构型模式和行为型模式三大类。以下是对每种模式的详细介绍,包括其核心思想、应用场景和优缺点。 一、创建型模式(Creational Patterns) 创建型模式关注对象的创建࿰…...
日历使用及汉化——fullcalendar前端
官网 FullCalendar - JavaScript Event Calendar 引入项目 <link hrefhttps://cdnjs.cloudflare.com/ajax/libs/fullcalendar/5.10.1/main.min.css relstylesheet /><script srchttps://cdnjs.cloudflare.com/ajax/libs/fullcalendar/5.10.1/main.min.js></sc…...
视频截断,使用 FFmpeg
使用 FFmpeg 截取视频并去掉 5 分 49 秒后的内容,可以使用以下命令: ffmpeg -i input.mp4 -t 00:05:49 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 192k output.mp4-i input.mp4: 指定输入视频文件 input.mp4。 -t 00:05:49&#x…...
使用系统内NCCL环境重新编译Pytorch
intro: 费了老大劲,来重新编译pytorch,中间报了无数错误。原生的编译好的pytorch是直接用的其自带NCCL库,并且从外部是不能进行插桩的,因为根本找不到libnccl.so文件。下面记录下重新编译pytorch的过程。指定USE_SYSTEM_NCCL1。这…...
1. Klipper从安装到运行
本文记录Klipper固件从安装,配置到运行的详细过程 Klipper是3D打印机固件之一,它通常运行在linux系统(常使用Debian,其它的linux版本也可以)上,因此需要一个能运行Linux系统的硬件,比如电脑&am…...
docker 卸载与安装
卸载 查询之前安装的docker, 没有查到则不用卸载删除 yum list installed | grep docker 卸载安装包 yum remove docker-* -y 删除镜像、容器、默认挂载卷 rm -rf /var/lib/docker 安装 -ce 安装稳定版本 -y 当安装过程提示选择全部为 "yes" yum install d…...
南昌企业建站/seo课程培训
题面 \(Solution:\) 一开始想的是先跑一遍最短路,然后拆点之后再跑一遍,比较两次dis,然后发现拆点后会有负环(可能是我没想对拆点的方法),于是就放弃了拆点法。 我们考虑强制让每头牛选择走一条最短的,有草堆的路径&am…...
网站制作中英文天津/seo综合查询国产
目录 1.开启Hadoop集群和Hive元数据、Hive远程连接 2.配置 3.读取日志文件并清洗 4.单独处理第四列的数据——方法一: 5.单独处理第四列的数据——方法二: 6.单独处理第四列的数据——方法三: 7.数据清洗结果展示 8.存入Hive中 9.…...
jsp做网站遇到的问题/百度竞价点击价格公式
1、修改manifest.json中的id 2、修改包名 转载于:https://www.jianshu.com/p/ce4688b9c856...
品牌全案策划案例/上海谷歌seo
1、类加载机制 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 2、类加载的时机 类从被加载到虚拟机内存中开始,到卸载出…...
设计说明模板300字/怎么做seo关键词优化
目前常用的DEM有90米、30米、12.5米等精度 90米DEM 90米的DEM数据来自于美国航空航天局NASA SRTM C波段的数据,覆盖了全球南北纬60度以内的区域。有两种精度,分别是1角秒和3角秒精度,也因此被称作SRTM1和SRTM3,两者分别对应精度…...
企业的网站开发费用如何入账/网络营销策划的流程
interactivePopGestureRecognizer是iOS7推出的解决VeiwController滑动后退的新功能,虽然很实用,但是坑也很多啊,用过的同学肯定知道问题在哪里,所以具体问题我就不描述了,这里只给出如何完美解决interactivePopGestureRecognizer卡住的问题. 当然我们要自定义UINavigationContr…...