HTML5
HTML5提供新的标签支持网页结构,还可以使用新标签支持音频视频绘图的操作。
header/footer
页眉/页尾 可以用在某部分的开头/结尾nav
导航栏aside
边栏content
主体内容section
主体内容中的某个区域article
文章正文
audio
添加音频 支持mp3 wav ogg格式 controls="controls"
表示显示控制条1
<audio src="音频地址" controls="controls">不支持时显示的文字</audio>
video
添加视频 支持mp4 webm ogg格式1
<video src="视频地址" controls="controls">不支持时显示的文字</video>
或者使用嵌套source
标签方式 type="video/mp4"
表示视频是mp4类型 添加多个source表示不同的视频类型而不是多个视频文件 width值不需要添加单位
1
2
3
4
5<video width="值">
<source src="视频地址" type="video/mp4" />
...
不支持时显示的文字
</video>
使用js控制视频播放play()
视频播放方法pause()
视频暂停方法
canvas
绘图 结合js还可以完成小游戏
要使用canvas标签有以下步骤
1)定义画布 width/heiht
不需要带单位
2)设置画布样式
3)JS准备绘图上下文环境 相当于画笔
4)JS画图getContext("2d")
获得画布的上下文beginPath()
起始一条路径,或重置当前路径moveTo()
把路径移动到画布中的指定点,不创建线条lineTo()
添加一个新点,然后在画布中创建从该点到最后指定点的线条lineWidth
定义笔的粗细strokeStyle
定义笔的颜色stroke()
表示开始画图
练习:写字板
1 | <!DOCTYPE html> |
效果图
响应式布局
让同一个网页在不同的显示设备上显示不同的布局格式,这样可以匹配不同的终端设备,让用户更加体验和浏览网页。
布局方式
固定宽度布局
移动端用户需要缩放来显示流式布局
百分比设置宽度 排版有可能会出现错位响应式布局
根据设备不同来显示
或者以上几种混合使用
响应式布局实现方式
- 使用CSS样式中的
Media Query
媒体查询实现 - 使用第三方框架
bootstrap
Media Query媒体查询
视口Viewport 显示网页的区域
响应式布局视口规定
- 布局视口
width
=设备视觉视口device width
- 不能缩放
1)在meta标签中添加视口规定width=device-width
是规定1布局视口等于设备视觉视口 user-scalable=no
是规定2用户不允许缩放操作 在sublime使用meta:vp
1
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
2)在style标签中检测不同设备宽度的样式
屏幕 | 宽度 |
---|---|
超小屏 | x<768px |
小屏 | 768px<= x<992px |
中屏 | 992px<=x <1200px |
大屏 | x>=1200px |
1 | @media screen and (min-width:768px){...} |
@media
表示要使用媒体查询screen and (min-width:768px)
是判断设备的显示屏尺寸大于等于768px
而且媒体查询执行顺序是从上到下执行 使用min-width作为判断语句 数字从上到下依次放大 使用max-width反之
其他判断条件
Bootstrap
Bootstrap框架在做响应式布局时候会优先考虑到移动端设备的兼容性
中文官网 https://www.bootcss.com
去官网 起步下载编译版本 或者源代码版本
源代码版本目录结构如下 less js fonts目录是源代码部分 分别是css样式 js 和文字图标目录 dist目录是编译后的代码目录 docs目录是说明文档
引用bootstrap框架
- 直接把下载的bootstrap目录中的编译目录dist里面的css,js复制到本地目录下
- 引用cdn上的bootstrap的css,js文件 要引用bootstrap的js文件前先引用jQuery的js文件 参考文档 https://v3.bootcss.com/getting-started
栅格系统
bootstrap使用实现响应式布局方式。
整体思路
外层名为.container
每行放在.row
里 每行默认是12个单元格,可以用class名字设定来合并任意单元格,使用 class="col-md-8"
说明该容器在中等设备(大于等于992px)显示长度占8个单元格
属性 | 屏幕 | 宽度 |
---|---|---|
col-xs-* | 超小屏 | x<768px |
col-sm-* | 小屏 | 768px<= x<992px |
col-md-* | 中屏 | 992px<=x <1200px |
col-lg-* | 大屏 | x>=1200px |
设置在中屏设备显示的一行宽度 如果再小屏显示为两行
同时设置中屏和小屏显示的宽度
练习:课程主页
1 | <!DOCTYPE html> |
效果图