看似简单,却不简单的前端那些事

基础篇

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.特殊符号要用字符实体

如: 空格符号要使用&nbsp;(避免浏览器误认)。

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规范。

时间: 2024-10-14 10:23:10

看似简单,却不简单的前端那些事的相关文章

Crumpet – 使用很简单的响应式前端开发框架

Crumpet 是一个简单的响应式的基于 SASS/SCSS 的响应式前端框架,保持你的 HTML 代码简洁.内置尽量使用占位符选择器,以减少你的 HTML 标记的大小,没有凌乱的 HTML 代码.快速创建网站的布局响应式将变成一件轻而易举的事. 您可能感兴趣的相关文章 创意无限!一组网页边栏过渡动画[附源码下载] 真是好东西!13种非常动感的页面加载动画效果 你见过吗?9款超炫的复选框(Checkbox)效果 超赞!基于 Bootstrap 的响应式的后台管理模板 太赞了!超炫的页面切换动画效

Java系列之:看似简单的问题 静态方法和实例化方法的区别

(2011-12-06 15:28:26) 转载▼ 标签: 杂谈 分类: study 今天看书时一直没真正弄明白静态方法和实例方法的区别,就在网上搜索,找到一篇很好的文章,和大家分享一下: 这是一个经常被时时提出来的问题,很多时候我们以为理解了.懂了,但深究一下,我们却发现并不懂. 方法是我们每天都在写得,很多程序员大多都使用实例化方法,而很少使用静态方法,问原因也说不出来所以然,或者简单的回答两者定义的区别,静态方法不需要new就可以使用 实例化方法需要new了以后才可以使用....我们真的理

node.js搭建简单服务器,用于前端测试websocket链接方法和性能测试

WebSocket简介 谈到Web实时推送,就不得不说WebSocket.在WebSocket出现之前,很多网站为了实现实时推送技术,通常采用的方案是轮询 (Polling)和Comet技术,Comet又可细分为两种实现方式,一种是长轮询机制,一种称为流技术,这两种方式实际上是对轮询技术的改进,这些 方案带来很明显的缺点,需要由浏览器对服务器发出HTTP request,大量消耗服务器带宽和资源.面对这种状况,HTML5定义了WebSocket协议,能更好的节省服务器资源和带宽并实现真正意义上的

yii模型规则的简单使用以及开启前端的验证(七)

之前博客里有过一次小物件的使用,不错没有结合model验证,今天就结合model来做一下前台表单的验证吧,带你先简单的了解下model里的一些方法,详细的等我研究深了再来写过来哈. 1.首先,model的生成的话 ,使用 gii生成就可以了,至于gii的使用,在之前已经提过了,可以往前翻一下,输入表名作为model名就可以了. 我想说下里面的几个方法是做什么用的. public static function model($className=__CLASS__) { return parent

简单几步实现前端代码的模块化管理

mini-define 依据require实现的简易的前端模块化框架.如果你不想花时间学习require.js,也不想翻看长篇的cmd/amd规范,那么这个mini-define就是你不错的选择.如果你之前用过sea.js或require.js那么mini-define更加高效,更加轻量,更加易用.项目地址:github 用法 首先定义模块 定义模块 一:定义模块用define函数 1.1 根据是否有依赖,有两种情况: 1.1.1:没有依赖的模块 define('id',function(){

前端那些事

一,css入门篇: 推荐书籍:css哪些事儿,精通css. 理由:css那些事儿,他是一本介绍css基础类的书,是入门的经典读物. 系统的介绍了css的选择符,伪类,工作环境,盒模型,两列,三列自适应布局.文字样式,图片处理,列表,表单,还有选项卡,相册,导航,新闻列表等其它大部分的实践. 精通css,这书已经出到第二版了,相比第一版,第二版的大部分目录结构保持不变,内容变得更丰满了.此书从一另一个视角介绍了css的博大精深. 二,js入门篇: 1, 建议阅读“javascript高级程序设计”

关于前端那些事

这两天由于项目原因要求前端处理图片,对图片进行各种折腾,还要效率高,兼容性好,于是一直在看js,html5,css3的内容, 说实话之前很少搞前端,顶多用js写写验证,做个跳转什么的,Jquery都用的少,这可难为人了. 以下内容很乱,但是花了今天一上午的时间,总得记录点什么吧. 1:chrome 参考 safari 都使用了开源的webkit,但chrome试用了自己的javascript 引擎-V8 ,啥叫引擎,就是将js代码编译,执行的容器,和JVM一样. 听说chrome再次将webki

看似简单!解读C#程序员最易犯的7大错误

编程时犯错是必然的,即使是一个很小的错误也可能会导致昂贵的代价,聪明的人善于从错误中汲取教训,尽量不再重复犯错,在这篇文章中,我将重点介绍C#开发人员最容易犯的7个错误. 格式化字符串 在C#编程中,字符串类型是最容易处理出错的地方,其代价往往也很昂贵,在.NET Framework中,字符串是一个不可变的类型,当一个字符串被修改后,总是创建一个新的副本,不会改变源字符串,大多数开发人员总是喜欢使用下面这样的方法格式化字符串: string updateQueryText = "UPDATE E

Linux按键驱动程序设计详解---从简单到不简单

混杂设备驱动模型: 1. 混杂设备描述 在Linux系统中,存在一类字符设备,它们拥有相同的主设备号(10),单次设备号不同,我们称这类设备为混            杂设备(miscdevice).所有的混杂设备形成一个链表,对设备访问时内核根据次设备号查到相应的混杂设备. 混杂设备也是字符设备! linux中使用struct miscdevice来描述一个混杂设备. 2. 混杂驱动注册 Linux中使用misc_register函数来注册一个混杂设备驱动. int  misc_registe