CSS HTML5
前端 CSS 学习目录导航
HTML5 新增元素 以及 新增属性
HTML5 新增语义化元素
-
首先我们的网页是具备层级的,这个时候就可以使用我们的语义化的元素来实现具体的布局
-
header nav main footer-
以前的时候,我们实现布局一个网页是通过的我们的
div中添加对应的属性来实现的,但是现在是可以直接通过这些元素替代 -
使用过多的
div的劣势- 使用过多的
id或者class来实现区分元素 - 浏览器中的元素不够语义化
- 对于搜素引擎来说,不利于
SEO优化
- 使用过多的
-
-
对此,HTML5 为我们增加的元素含有
<headers>头部元素<nav>导航元素<section>定义的某个区域的元素<article>内容区域<aside>侧边栏元素<footer>尾部元素-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <!-- 开始实现使用我们的语义化元素 --> <!-- div.header -->> <header></header> <!-- div.nav --> <nav></nav> <!-- div.section --> <section> <!-- div.article --> <article></article> <article></article> <article></article> </section> <!-- div.aside --> <aside></aside> <!-- div.footer --> <footer></footer> </body> </html>
HTML5 视频和音频元素
-
为了我们的网页中可以实现更好嵌入
音屏 和 视频,所以说就新增了两个元素:video和audio-
只要有了音频 和 视频,这个时候,我们就可以通过监听事件实现一些功能的
-
音频
<audio>和 视频<video>- 直接通过元素使用这两个
- 或者说使用 javascript 的 API 实现特定的功能
-
-
video元素的使用-
用来实现的是我们的在页面中实现嵌入媒体播放器,用于实现支持文档内的视频播放
-
<video src=""></video> -
当然我们的这个还是具有兼容性写法的
-
就是当我们的 video 里面的 src 中的不支持播放的时候,我们是可以通过在里面添加其他格式的视频的
-
<source src="">可以多个<video src=""><source src=""><p>视频格式当前浏览器不支持,请更换浏览器试试</p></video>
-
-
-
audio元素的使用- 这个就是我们的
audio音频元素:mp3的格式 - 同时也是具有兼容性的写法的:
<audio src=""><source src=""><audio>
- 这个就是我们的
HTML5 新增属性
-
input新增的内容-
表单新增属性
placeholder输入框的占位文字multiple多个值,用于select的下面,这个时候就可以实现我们的多选autofocus实现的是自动聚焦
-
表单新增
type类型color颜色选择器time时间选择器search搜素框
-
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input type="text" placeholder="请输入文本内容">
<select name="" id="" multiple>
<option value="香蕉">香蕉</option>
<option value="西瓜">西瓜</option>
<option value="苹果">苹果</option>
</select>
<input type="text" autofocus>
</body>
</html>
-
新增全局属性
-
data-*- 这个就是来实现的定义我们的自己的全局属性,这个就是为了方便我们可以实现在js中获取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> </head> <body> <div data-name="juwenzhang" data-age="18" class="box"></div> </body> <script> // 开始实现通过我们的 js 获取得到 html 中的数据 // 通过 `.dataset` function 我们就可以实现获取得到我们的 html 中的数据了 console.log(document.querySelector(".box").dataset) </script> </html> - 通过
data实现我们的设置属性,我们是可以实现的是在JavaScript的 DOM 来实现通过.dataset实习那获取 - 通常用于我们的 HTML 和 JavaScript 之间的数据传递
- 然后这种方式也是我们实现小程序开发的时候,就可以通过
data-数据名来实现的传递我们的数据(必须掌握)
-
CSS 函数拓展
-
首先我们前面使用的 CSS 函数就包括了一些:
rgba/rgb/translate/totate/scale/url,这些都是我们的函数- 为什么使用我们的 CSS函数,就是因为使用CSS函数,我们是可以实现的是更加灵活的来编写我们的样式的值
-
拓展
CSS函数-
var用来实现定义 CSS 变量- 属性名必须是
--开始的 - 属性值可以是任意有效的 CSS 值
-
<!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> :root { /* 自定义我们的变量 */ /* 又可以抽离代码了哟 nice!!! */ --main-color: red; --main-font-size: 100px } .box { color: var(--main-color); font-size: var(--main-font-size) } </style> </head> <body> <div class="box">hello front-end</div> </body> </html>
- 属性名必须是
-
calc用来实现计算 CSS 值,用来实现的是计算元素的大小或者位置-
<!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> html { /* 开始实现自定义属性 */ --box-color: skyblue; --item-1-color: red; --item-2-color: orange; body { padding: 0; margin: 0; .box { width: 300px; height: 300px; background-color: var(--box-color); .item1, .item2{ width: calc(100%/3); height: calc(100%/2); } .item1 { background-color: var(--item-1-color); } .item2 { background-color: var(--item-2-color); } } } } </style> </head> <body> <div class="box"> <div class="item1"></div> <div class="item2"></div> </div> </body> </html>
-
-
blur用来实现的是设置我们的模糊的效果(毛玻璃(高斯模糊)效果)-
使用的基本语法:
blur(redius)radius就是设置的是模糊半径,值越大,越模糊
-
通常会和两个属性一起连用
filter将模糊或者颜色偏移等图形效果应用于元素backdrop-filter将元素后面区域添加模糊或者其他效果
-
<!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> html { /* 开始实现自定义属性 */ --box-color: rgba(22, 161, 216, .5); --item-1-color: rgba(230, 20, 20, .5); --item-2-color: rgba(232, 159, 23, .5); --blur-value: 10px; body { padding: 0; margin: 0; .box { width: 300px; height: 300px; background-color: var(--box-color); .item1, .item2{ width: calc(100%/3); height: calc(100%/2); } .item1 { background-color: var(--item-1-color); backdrop-filter: var(--blur-value); } .item2 { background-color: var(--item-2-color); } } } } </style> </head> <body> <div class="box"> <div class="item1"></div> <div class="item2"></div> </div> </body> </html>
-
-
gradient用来实现的是设置颜色渐变的效果-
用于实现的是我们的两种或者多种的颜色的过渡转变
-
用于实现的是设计自己
2D图像,我们是可以通过<gradient>来实现一些过度渐变的,相当于就是设计的是一张图片<iamge> -
可以实现应用的地方是:
background-image list-style-iamge border-iamge content -
我们需要注意的是我们的这个实际上是设计的是我们的图片的效果
-
实现设计我们的渐变的方法
linear-gradient()用来实现的是表示的是我们的线性渐变的效果radial-gradient()用来实现设计的是我们的那种辐射式渐变的样式的设计repeating-linear-gradient()重复线性渐变的实现repeating=radial-geadient()重复的辐射式渐变的实现-
<!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> :root { /* 设置的是我们的线性渐变的图片设置 50% 就是设置的是颜色的位置 */ --linear-gradient-image: linear-gradient(rgba(214, 27, 27, .5), rgba(32, 32, 200, .5) 50%, rgba(38, 154, 200, .5), rgba(135, 186, 35, .5)); /* 开始实现从左到右的渐变 to 就是实现决定了颜色的渐变方向 */ --linear-right-gradient-iamge: linear-gradient(to right bottom,rgba(214, 27, 27, .5), rgba(32, 32, 200, .5), rgba(38, 154, 200, .5), rgba(135, 186, 35, .5)); /* 开始实现设置我们的辐射式的渐变过程 at 就是实现的是设置颜色渐变的原点设置 */ --radial-gradient-image: radial-gradient(at 20% top,rgba(214, 27, 27, .5), rgba(32, 32, 200, .5), rgba(38, 154, 200, .5), rgba(135, 186, 35, .5)); body { padding: 0; margin: 0; .box, .box01, .box02 { width: 300px; height: 200px; margin: 10px; } .box { background-image: var(--linear-gradient-image); } .box01 { background-image: var(--radial-gradient-image); } .box02 { background-image: var(--linear-right-gradient-iamge); } } } </style> </head> <body> <div class="box"></div> <div class="box01"></div> <div class="box02"></div> </body> </html>
-