border-radius
),阴影(box-shadow
),text-shadow
),线性渐变(gradient
),旋转(transform
)transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);
// 旋转,缩放,定位,倾斜rgba
::selection
border-image
W3C CSS3 border-image 属性HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,地理定位等功能的增加。
SGML、HTML、XML、XHTML、HTML5 之间的关系,知道否?
新特性:
header,nav,footer,aside,article,section
)localStorage
长期存储数据,浏览器关闭后数据不丢失;sessionStorage
的数据在浏览器关闭后自动删除calendar
、date
、time
、email
、url
、search
webworker, websocket, Geolocation
移除的元素:
basefont,big,center,font, s,strike,tt,u
;frame,frameset,noframes
;支持HTML5新标签,浏览器兼容问题:
普通浏览器
普通不支持HTML5
新标签的浏览器 —— 能正常解析,但会当初成inline
元素对待
在不支持HTML5
新标签的浏览器里,会将这些新的标签解析成行内元素inline
对待,所以我们只需要将其转换成块元素block
即可使用;经常会到初始化 css
中看到:
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
IE9以下的浏览器
IE9 (不含IE9)以下浏览器 —— 不能解析,即使想办解析了也会当成 inline
元素对待
我们需要先想办法让浏览器能够正常解析后,再将其转化成块级元素 block
。常见有两种方法
方法一:
将HTML5
的新标签全部通过document.createElement('tagName')
来创建一遍,这样IE低版本也能正常解析HTML5
新标签了。再通过css
将其转化成block
元素
方法二:
在实际开发中我们更多采用的是通过检测IE浏览器的版本来加载三方的一个JS库html5shiv.js
来解决兼容问题
<!--[if lt IE 9]>
<script src="js/respond.js"></script> // respond.js是解决 ie低版本的CSS3媒体查询兼容性问题
<script src="js/html5shiv.min.js"></script>
<![endif]-->
如何区分HTML,HTML5:
DOCTYPE声明新增的结构元素、功能元素
HTML声明:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
HTML5声明:
<!doctype html>
Cookies:
本地存储:
POST
或者GET
通道发送给服务器;Javascript
代码移除cookie localStorage sessionStorage (¦3」∠) 看完你居然就懂了!!!
调用 localstorge
、cookies
等本地存储方式
【前端性能优化】 不懂优化的前端 不是好前端…
【前端性能优化】JS优化,难么?
静态资源优化:图片优化
它是关于网页制作的过程中让不同的设备有不同的尺寸和不同的功能。
响应式设计是让所有的人能在这些设备上让网站运行正常
HTML5文档类型:
HTML5使用的编码:
Canvas 元素用于在网页上绘制图形,该元素标签强大之处在于可以直接在 HTML 上进行图形操作。
JS五彩连珠小游戏(Canvas绘制)
JS打砖块小游戏 canvas绘制
主要有:
Media API
、Text Track API
、Application Cache API
、User Interaction
、Data Transfer API
、Command API
、Constraint Validation API
、History API
box-sizing: border-box;
CSS盒模型 ╰(‵□′)╯So Easy!
伪类:
一个 CSS 伪类是以一个冒号:
作为前缀,被添加到一个选择器末尾的关键字,可以让指定的元素在特定的状态呈现指定的样式。
例如 :hover,当用户悬停在指定元素时,可以在这个状态给指定元素添加相应的样式。
:first-child
表示在一组兄弟元素中的第一个元素。:first-of-type
表示一组兄弟元素中指定类型的第一个元素。:last-child
表示在一组兄弟元素中的最后一个元素(类似:first-child)。:last-of-type
表示一组兄弟元素中指定类型的最后一个元素(类似:first-of-type)。:not
一个否定伪类,用于匹配不符合参数选择器的元素。:nth-child(n)
选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。:nth-of-type(n)
选择器匹配属于父元素的特定类型的第 N 个子元素的每个元素.:nth-last-child(n)
选择器匹配属于其元素的第 N 个子元素的每个元素,不论元素的类型,从最后一个子元素开始计数。:nth-last-of-type(n)
选择器匹配属于父元素的特定类型的第 N 个子元素的每个元素,从最后一个子元素开始计数。注意:
:nth-child(even)
匹配偶数位,:nth-of-type(odd)
匹配奇数位伪元素:
伪元素的前缀是两个冒号::
, 同样是添加到选择器后面去选择某个元素的某个部分。
伪元素创建了不存在 DOM 树中的元素,并为其添加样式。
::after(:after)
伪元素在元素之后添加内容。::before(:before)
选择器在被选元素的内容前面插入内容。::first-letter(:first-letter)
伪元素向文本的第一个字母添加特殊样式。(某些语言有一些要处理为单个字符的字母组合,如果是这样,用户代理可能会把首字母同时应用到这个字母组合。)::first-line (:first-line)
伪元素向文本的首行添加特殊样式。::selection
用于文档中被用户高亮的部分(比如使用鼠标或其他选择设备选中的部分)。注意:
::after表示法
是在CSS 3中引入的,::符号
是用来区分伪类和伪元素的。支持CSS3的浏览器同时也都支持CSS2中引入的表示法:after
。
注: IE8仅支持:after。
<div class="test"></div>
.test{
width: 200px;
height: 100px;
border-radius: 10px;
box-shadow: 10px 10px 5px #888888;
background-color: pink;
transition: 0.7s;
}
.test:hover {opacity: 0;}
css的content属性专门应用在 before/after 伪元素上,用来插入生成内容。
<div class="test">好好学习</div>
.test::before{
content:url('https://img-blog.csdnimg.cn/20200216171758318.gif')
}
.test::after{
content:" 多敲代码"
}
HTML 5 包含嵌入音频文件的标准方式,支持的格式包括 MP3、Wav 和 Ogg:
<audio controls>
<source src="audio.mp3" type="audio/mpeg">
您的浏览器不支持音频嵌入功能。
</audio>
和音频一样,HTML5 定义了嵌入视频的标准方法,支持的格式包括:MP4、WebM 和 Ogg:
<video width="450" height="340" controls>
<source src="video.mp4" type="video/mp4">
您的浏览器不支持视频嵌入功能。
</video>
新的 form 属性:
autocomplete
规定 form 或 input 域应该拥有自动完成功能。该属性有可能在 form元素中是开启的
novalidate
是一个 boolean(布尔) 属性。novalidate 属性规定在提交表单时不应该验证 form 或 input 域。
新的 input 属性:
autocomplete
规定 form 或 input 域应该拥有自动完成功能。该属性有可能在input元素中是关闭的
autofocus
规定在页面加载时,域自动地获得焦点。这个属性在注册登录页面以及表单的第一项input中还是比较实用的。(height 和 width 属性只适用于 image 类型的 标签。)
form
form 属性规定输入域所属的一个或多个表单。
form overrides (formaction, formenctype, formmethod, formnovalidate, formtarget)
表单重写属性(form override attributes)允许您重写 form 元素的某些属性设定。
height 和 width
规定用于 image 类型的 标签的图像高度和宽度。
list
list 属性引用的 元素中包含了
元素的预定义选项。
min, max 和 step
min 和 max 属性规定 元素的最小值和最大值。
multiple
multiple 属性是布尔属性
如果设置,则规定允许用户在 元素中输入一个以上的值
pattern (regexp)
pattern 属性规定用于检查 元素值的正则表达式。
placeholder
该属性提供一种提示(hint),描述输入域所期待的值。在微信小程序中应用广泛,而且非常非常实用,避免了再使用JS判断该输入项应该填什么。
required
必填项属性,当该项加入该属性后,则不能为空
W3C HTML5 表单属性