HTML5CSS3提高导读
2024/2/20
HTML5 的新增特性主要是针对于以前的不足,增加了一些新的标签、新的表单和新的表单属性等。
这些新特性都有兼容性问题,基本是 IE9+ 以上版本的浏览器才支持,如果不考虑兼容性问题,可以大量使用这 些新特性。
声明:
- 新特性增加了很多,但是我们专注于开发常用的新特性。
- 基础班我们讲解部分新特性,到了就业班还会继续讲解其他新特性。
HTML5 的新特性
1.1 HTML5 新增的语义化标签
<header>:头部标签
<nav>:导航标签
<article>:内容标签
<section>:定义文档某个区域
<aside>:侧边栏标签
<footer>:尾部标签
注意:
这种语义化标准主要是针对搜索引擎的
这些新标签页面中可以使用多次
在 IE9 中,需要把这些元素转换为块级元素
其实,我们移动端更喜欢使用这些标签
HTML5 还增加了很多其他标签,我们后面再慢慢学
1.2 HTML5 新增的多媒体标签
新增的多媒体标签主要包含两个:
-
音频:
<audio>
-
视频:
<video>
使用它们可以很方便的在页面中嵌入音频和视频,而不再去使用 flash 和其他浏览器插件
-
视频
<video>
当前
<video>
元素支持三种视频格式: 尽量使用 mp4格式
常见属性 :
-
音频
<audio>
当前
<audio>
元素支持三种音频格式:
常见属性
-
多媒体标签总结
1.音频标签和视频标签使用方式基本一致 2.浏览器支持情况不同 3.谷歌浏览器把音频和视频自动播放禁止了 4.我们可以给视频标签添加 muted 属性来静音播放视频,音频不可以(可以通过JavaScript解决) 5.视频标签是重点,我们经常设置自动播放,不使用 controls 控件,循环和设置大小属性
1.3 HTML5 新增的 input 类型
重点记住: number tel search 这三个
1.4 HTML5 新增的表单属性
可以通过以下设置方式修改placeholder里面的字体颜色:
input::placeholder { color: pink; }
CSS3 的新特性
2.1 CSS3 的现状
- 移动端支持优于 PC 端
- 不断改进中
- 应用相对广泛
- 现阶段主要学习:新增选择器和盒子模型以及其他特性
CSS3 给我们新增了选择器,可以更加便捷,更加自由的选择目标元素。
- 属性选择器
- 结构伪类选择器
- 伪元素选择器
2.2 伪元素选择器(重点)
伪元素选择器可以帮助我们利用CSS创建新标签元素,而不需要HTML标签,从而简化HTML结构。
选择符 | 简介 |
---|---|
::before | 在元素内部的前面插入内容 |
::after | 在元素内部的后面插入内容 |
注意:
- before 和 after 创建一个元素,但是属于行内元素
- 新创建的这个元素在文档树中是找不到的,所以我们称为伪元素
- 语法: element::before {}
- before 和 after 必须有 content 属性
- before 在父元素内容的前面创建元素,after 在父元素内容的后面插入元素
- 伪元素选择器和标签选择器一样,权重为 1
2.3 CSS3 盒子模型
CSS3 中可以通过 box-sizing 来指定盒模型,有2个值:即可指定为 content-box、border-box,这样我们 计算盒子大小的方式就发生了改变。
可以分成两种情况:
- box-sizing: content-box 盒子大小为 width + padding + border (以前默认的)
- box-sizing: border-box 盒子大小为 width
如果盒子模型我们改为了box-sizing: border-box , 那padding和border就不会撑大盒子了(前提padding 和border不会超过width宽度)
2.4 CSS3 过渡(重点)
过渡(transition)是CSS3中具有颠覆性的特征之一,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果。
过渡动画: 是从一个状态 渐渐的过渡到另外一个状态
我们现在经常和 :hover 一起 搭配使用。
transition: 要过渡的属性 花费时间 运动曲线 何时开始;
1.属性 : 想要变化的 css 属性, 宽度高度 背景颜色 内外边距都可以 。如果想要所有的属性都 变化过渡, 写一个all 就可以。
- 花费时间: 单位是 秒(必须写单位) 比如 0.5s
- 运动曲线: 默认是 ease (可以省略)
- 何时开始 :单位是 秒(必须写单位)可以设置延迟触发时间 默认是 0s (可以省略)
模块化开发
所谓的模块化:将一个项目按照功能划分, 一个功能一个模块,互不影响
模块化开发具有重复使用、更换方便等优点
HTML页面引入favicon图标:
在html 页面里面的<head></head>
元素之间引入代码。
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
网站TDK三大标签SEO优化
SEO(Search Engine Optimization)汉译为搜索引擎优化,是一种利用搜索引擎的规则提高网站在有关搜索 引擎内自然排名的方式。
SEO 的目的是对网站进行深度的优化,从而帮助网站获取免费的流量,进而在搜索引擎上提升网站的排名,提高网站的知名度。
页面必须有三个标签用来符合 SEO 优化。
-
title 网站标题
建议:网站名(产品名)- 网站的介绍 (尽量不要超过30个汉字)
-
description 网站说明
简要说明我们网站主要是做什么的。
-
keywords 关键字
keywords 是页面关键词,是搜索引擎的关注点之一。
2024/2/20/15点06分
2D转换
2024/2/21
设置转换中心点transform-origin: x y;参数可以是方位名词、百分比、像素
translate平移
语法:
transform: translate(x,y);
rotate旋转
语法:
transform:rotate(度数);
/*正值为顺时针,度数的单位是deg,比如45deg*/
scale缩小放大
语法:
transform:scale(x,y);
transform:scale(1,1);相当于没有放大
transform:scale(2,2);放大两倍
transform:scale(0.5,0.5);缩小
transform:scale(2,1);宽度放大两倍,高度不变
2D转换综合写法
transform:translate() rotate() scale();
位移必须放到首位
CSS3动画(animation)
1)定义动画
语法:
@keyframes 动画名称 {0%(或from) {样式声明}100%(或to) {样式声明}
}
/*用百分比可以做多个状态的变化keyframs关键帧,里面的百分比要是整数*/
/*比如顺时针旋转一圈,可以设置左上角为0%右上角为25%右下角为50%左下角为75%,左上角为100%*/
2)调用动画
语法:
标签名 {/*调用动画*/animaton-name:动画名称;/*持续时间*/animation-duration:持续时间;
}
2024/2/24/01点46分
0%(或to) {
样式声明
}
}
/用百分比可以做多个状态的变化keyframs关键帧,里面的百分比要是整数/
/比如顺时针旋转一圈,可以设置左上角为0%右上角为25%右下角为50%左下角为75%,左上角为100%/
### 2)调用动画语法:
标签名 {
/调用动画/
animaton-name:动画名称;
/持续时间/
animation-duration:持续时间;
}
2024/2/24/01点46分