基础篇
1.文档流/网页流(正确理解为普通流)
稳定性:标准流〉浮动流〉 定位流 (优先用标准流)。
2.网页宽度
pc:一般是950-1200px(具体问题具体分析,看需求来定,不同类型网站,会有不同宽度)。
mobile:一般以苹果手机iphone5(640x1136px)为基准。(暂不考虑平板电脑,以苹果移动端的尺寸来兼容android移动端的尺寸,难怪那么多人买iphone手机,网页体验最好。)
PS:响应式网站随意,不固定。
3.相对路径与绝对路径 使用相对路径的
"."--代表目前所在的目录。
".."--代表上一层目录。
"/"--代表根目录。
4.xhtml与html4(其实我们一般是使用xhtml规范,而不是html4规范)
xhtml必须要小写。
xhtml必须要严格嵌套标签,<b><i></i></b>。
xhtml必须要标签成对出现,<b></b>。
xhtml必须要属性值加双引号。
xhtml必须要区分结构标签与内容标签 <p>是内容标签,<table>是结构标签,不允许<p>包含与<table>标签。
5.css放在头部,js文件在尾部(js代码不一定都放在底部,有些需要在头部)
6.css与js需要加版本号
解决缓存更新问题。(建议工具生成版本号)
html部分
1.行内元素与块元素
2.a标签空链接写法
<a href="javascript:;" ></a> 或者 <a href="#!" ></a>
作用:禁止空链接跳转到顶部。
3.input标签中type=“submit”与type=“button”
4.特殊符号要用字符实体
如: 空格符号要使用 (避免浏览器误认)。
5.邮件html
使用table布局。
不使用style标签,使用css内联,css内联不要写float、position(尽量少用)。
少用图片。
页面结尾需要加上“如果您无法查看邮件内容,请点击这里查看”(再做一个html页面)。
html5部分
1.html5不使用的标签
纯表现的元素:
basefont,big,center,font, s,strike,tt,u。
对可用性产生负面影响的元素:
frame,frameset,noframes。
产生混淆的元素:
acronym ,applet,isindex,dir。
2.html5离线缓存与浏览器缓存区别
html5离线缓存可以缓存整个网站,而浏览器的缓存将只存储你实际上已经访问过的网页缓存。
3.html5 web worker与nodejs区别
web worker浏览器的后台,nodejs独立的服务端。
4.html5 vedio标签里面使用MP4格式有声无画面
转换成H264编码就可以网页正常播放了。
5.html5 使用data-* 自定义属性
自定义属性规范化,不要随便自定义属性名字。
正确写法:<div data-name="waterman"></div>
<div name="waterman"></div>
css部分
1.css外联
正确写法:<link rel="stylesheet" href="css/style.css" />
<style type="text/css"> @import url(xxx.css); </style>
2.w3c盒子模型与IE盒子模型
3.padding与margin
大盒子用padding,小盒子用margin(优先使用padding)。
4.网页字体设置
默认字体:字体大小(仅供参考,12px或者14px)、行高(18px)(优先使用无单位,无单位的会继承后再计算,值是动态的,有单位的会算出来然后继承,值是固定的)、颜色(#333或者#666,不要使用纯黑色,UI设计的原因)。
正确写法: font: 12px/1.5 Tahoma, Helvetica, Arial, sans-serif;
(适合pc与moblie,Tahoma针对windows平台,Helvetica针对mac平台,Arial通用性字体,sans-serif针对liunx平台,其实是指无衬线字体 )。
PS:微软雅黑字体是有版权的,是微软的,所以不建议使用该字体(有些需求应要使用,没办法)。
中文网页不设置字体,默认是宋体。
5.css伪类与伪元素
6.css中的display属性、visibility属性、postion属性运用。
7.css中的居中方法
margin:0 auto; ( 需要居中的盒子加宽度值)。
text-align: center;
8.css中的选择器优先级
选择器优先级:id>class>html>*
9.css选择器之间有无空格区别
如:.class1.class2 <div class="class1 class2"></div>
.class1 .class2 <div class="class1"><div class="class2"></div></div>
10.css中的权重与css样式的行数
样式之间冲突问题,一般行数在后面样式的会覆盖前面的行数样式
11.盒子并排排放思路或者是不同浏览器布局排放盒子掉位
参考bootstrap框架的盒子排放做法,大盒子使用margin负数,小盒子使用padding正数来对其每一个盒子。
12.css颜色代码选择
优先使用十六进制颜色与RGB颜色(兼容旧版本),其次使用RGBA 颜色值,HSL 颜色,HSLA 颜色(现代浏览器支持,支持透明)。
13.css代码简写
颜色代码简写,paddin、margin、 font、border、background属性简写成一行。
14.不要使用css表达式
影响浏览器性能,除非需要兼容IE旧版本。
15.单位em与rem使用
一般应用在移动端,移动端父元素要设置一个定值。
如:父元素body{font-size:16px;}
子元素p{font-size:1em}
em是相对单位,拥有相对大小属性,用于文字。
rem是css3的相对单位,拥有绝对大小与相对大小属性,用于设置长宽度,间距等。
js部分
1.声明脚本
正确写法 <script type="text/javascript"></script>
<script language = "JavaScript"></script>
2.var与不var的区别
3.js中this关键字
4.js闭包
5.DOM与BOM对象区别
6.prototype和__proto__区别
7.编码转化(编码不正确,容易出现乱码问题)
8.html内容转义(建议使用工具转义js里面的html内容)
9.多使用正则表达式
10.js面向对象写法(参考Jquery插件源码)
11.提高运行速度
能用原生js就用js代码写,减少js库(jquery)依赖。
避免使用 with 关键字与eval() 函数。(不精准定位查询,整体遍历查询,耗资源)。
将重复的表达式赋值精简到最小 (建议使用三目运算符)。
在复杂对象中使用索引来查找数组 (快速定位,节约查询时间)。
少用 document.write()函数(文档流输入输出也是很占资源的)。
12.js跨域问题(不同域名之间的js不能相互操作)。
jsonp解决跨域问题。
13.AMD与CMD规范。