- 对W3C标准,对表现与数据分离、Web语义化等有深刻理解
W3C是指万维网联盟(World Wide Web Consortium)
W3C的标准是一系列标准的集合。
因为网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。
所以W3C对应的标准也分三方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。
--
结构标准语言
1.标签小写,标签闭合。
2.元素嵌套标准,内嵌元素不要嵌套块元素,如:span嵌套div标签等;特殊的块状元素li内 p和 h1—h6里面不要放块元素
3.结构与表现分离;HTML与CSS避免内嵌混合。
4.命名一定要规范;
--
表现标准语言
1.css的书写,首先要尽可能使用外部引入的方式,达到分离的目的。
2.css的选择器,属性的继承,优先级等优化简洁代码。
CSS都有哪些选择器?
派生选择器(用HTML标签申明)
id选择器(用DOM的ID申明)
类选择器(用一个样式类名申明)
属性选择器(用DOM的属性申明,属于CSS2,IE6不支持,不常用,不知道就算了)
除了前3种基本选择器,还有一些扩展选择器,包括
后代选择器(利用空格间隔,比如div .a{ })
群组选择器(利用逗号间隔,比如p,div,#a{ })
那么问题来了,CSS选择器的优先级是怎么样定义的?
基本原则:
一般而言,选择器越特殊,它的优先级越高。也就是选择器指向的越准确,它的优先级就越高。
复杂的计算方法:
用1表示派生选择器的优先级
用10表示类选择器的优先级
用100标示ID选择器的优先级
div.test1 .span var 优先级 1+10 +10 +1
span#xxx .songs li 优先级1+100 + 10 + 1
--
语义化
1.为了在没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构:为了裸奔时好看;
2.用户体验:例如title、alt用于解释名词或解释图片信息、label标签的活用; 有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重;
3.方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页;
4.便于团队开发和维护,语义化更具可读性,是下一步吧网页的重要动向,遵循W3C标准的团队都遵循这个标准,可以减少差异化。
常见的语义化标签:
<title>:页面主体内容。
<hn>:h1~h6,分级标题,<h1> 与 <title> 协调有利于搜索引擎优化。
<header>:页眉通常包括网站标志、主导航、全站链接以及搜索框。
<nav>:标记导航,仅对文档中重要的链接群使用。
<main>:页面主要内容,一个页面只能使用一次。如果是web应用,则包围其主要功能。
<article>:定义外部的内容,其中的内容独立于文档的其余部分。
<section>:定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。
<aside>:定义其所处内容之外的内容。如侧栏、文章的一组链接、广告、友情链接、相关产品列表等。
<footer>:页脚,只有当父级是body时,才是整个页面的页脚。
<address>:作者、相关人士或组织的联系信息(电子邮件地址、指向联系信息页的链接)。
- html5新特性、css3属性
html5新特性
1.新增的语义/结构化标签
2.视频video和音频audio
3.Canvas绘图,SVG绘图
4.Web Storage
localStorage - 没有时间限制的数据存储
sessionStorage - 针对一个 session 的数据存储, 当用户关闭浏览器窗口后,数据会被删除。
5.WebSocket,WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。
6.拖放API,拖放是一种常见的特性,即抓取对象以后拖到另一个位置。在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。
--
css3属性
1.animation动画效果,animation: name duration timing-function delay iteration-count direction fill-mode play-state;
animation: 名称 完成耗时 过渡效果 延迟启动 播放次数 轮流反向播放 fill-mode 指定动画是否正在运行或已暂停;
在animation后面加上infinite就可以无限循环
2.transform变换效果:
css3提供了元素变形效果,也叫做变换。它可以将元素实现旋转、缩放和平移的功能。
3.transition过渡效果
过渡效果一般是通过一些简单的 CSS 动作触发平滑过渡功能,比如::hover、:focus、:active、:checked 等。CSS3 提供了 transition 属性来实现这个过渡功能。
4.css3新增属性之text-shadow:文本阴影
5.css3新增属性之border-image:图片边框
6.CSS3 盒子模型(flex)是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式
7.CSS3 渐变(Gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡
3.使用前端样式预处理器如LESS、SASS、Stylus
样式预处理器,简单地来概括就是技术大牛通过一门新的语言,让css的编写具备各种变量和属性,你按照它的语法写好后,就能编译,生成相应的css文件。当然这些处理器可以让你的css更简洁,易懂,具备更强的可移植性和维护性。
定义变量;我们可以把重复使用或经常修改的值定义为变量,在需要使用的地方引用这个变量即可。这样可以避免很多重复的工作量
2.使用嵌套;代码嵌套了很多层,用 less 的嵌套语法来写比较简洁。
3.Mixin 的作用是把重复的代码放到一个类当中,每次只要引用类名,就可以引用到里面的代码了,非常方便。
4.继承
5.函数
6.小程序面试准备