你是如何理解 HTML 语义化的?
让页面内容结构化,它有如下优点
1、易于用户阅读,样式丢失的时候能让页面呈现清晰的结构。
2、有利于SEO,搜索引擎根据标签来确定上下文和各个关键字的权重。
3、方便其他设备解析,如盲人阅读器根据语义渲染网页
4、有利于开发和维护,语义化更具可读性,代码更好维护,与CSS3关系更和谐
如:
meta viewport 是做什么用的,怎么写?
通常viewport是指视窗、视口。浏览器上(也可能是一个app中的webview)用来显示网页的那部分区域。在移动端和pc端视口是不同的,pc端的视口是浏览器窗口区域,而在移动端有三个不同的视口概念:布局视口、视觉视口、理想视口
meta有两个属性name 和 http-equiv
1、name
keywords(关键字) 告诉搜索引擎,你网页的关键字 description(网站内容描述) 用于告诉搜索引擎,你网站的主要内容。 viewport(移动端的窗口) 后面介绍 robots(定义搜索引擎爬虫的索引方式) robots用来告诉爬虫哪些页面需要索引,哪些页面不需要索引 author(作者) generator(网页制作软件) copyright(版权)
2、http-equiv 顾名思义,相当于http的文件头作用
content-Type 设定网页字符集 //旧的HTML,不推荐 //HTML5设定网页字符集的方式,推荐使用UTF-8 X-UA-Compatible(浏览器采用哪种版本来渲染页面) //指定IE和Chrome使用最新版本渲染当前页面 cache-control(请求和响应遵循的缓存机制) expires(网页到期时间)
canvas画布
const ctx = canvas.getContext(‘2d’); // 获取它的2d上下文 ctx.fillStyle = ‘green’; // 设置笔刷的填充色 ctx.fillRect(10, 10, 100, 100); // 利用画笔范围,矩形,比如圆
video
autoplay 布尔属性;视频马上自动开始播放,不会停下来等着数据载入结束。 controls 提供用户控制,允许用户控制视频的播放,包括音量,跨帧,暂停/恢复播放。 loop 布尔属性;指定后,会在视频结尾的地方,自动返回视频开始的地方。 track标签表示的是字幕 poster 表示的是封面
h5移动端页面
WebView是一种控件,它基于webkit引擎,因此具备渲染Web页面的功能。 基于Webview的混合开发,就是在 Anddroid (安卓)/(苹果)原生APP里,通过WebView控件嵌入Web页面。 很多APP都是外边套原生APP的壳,内容是H5页面(基于html+css+js的Web页面)。现在的移动端混合开发软件,如果对于交互渲染要求不是特别高的项目,基本都是这么玩的。
HTML5新特性
本地存储特性 设备兼容特性 HTML5提供了前所未有的数据与应用接入开放接口 连接特性 WebSockets 网页多媒体特性 支持Audio Video SVG Canvas WebGL CSS3 CSS3特性
区分普通显示屏和高清屏
当devicePixelRatio值等于1时(也就是最小值),那么它普通显示屏。 当devicePixelRatio值大于1(通常是1.5、2.0),那么它就是高清显示屏。 不同像素的图利用媒体查询结合 devicePixelRatio 可以区分普通显示屏和高清显示屏
CSS设计方案:
.css{/* 普通显示屏(设备像素比例小于等于1.3)使用1倍的图 */ background-image: url(img_1x.png); } @media only screen and (-webkit-min-device-pixel-ratio:1.5){ .css{/* 高清显示屏(设备像素比例大于等于1.5)使用2倍图 */ background-image: url(img_2x.png); } }
服务端用Nginx对图片进行处理
想要什么样尺寸的图片自己裁切,我们提供了按比例缩放和自定尺寸的裁切方法,地址后拼接字符串就行。
cookie、localStorage和SessionStorage的区别和特点
1、LocalStorage特点:
只保留在客户端 本地永久存储,关闭浏览器不会清除,除非用户从浏览器清除 每个域可以最多存储5MB
2、SessionStorage特点:
只保留在客户端 本地临时存储,在页面会话结束时会被清除 存储大小与localStorage相同
3、Cookie特点:
服务端和客户端都可以访问 可以设置有效期,过期后将会自动删除。如果不设置则是关闭浏览器后失效 存储大小只有4kb 有存储个数限制。每个浏览器限制不一样。建议20个以内。最多的浏览器可以支持50个