前端开发中一些常用技巧总结 时间:2019-05-12 14:48:17 收藏本文下载本文作者:会员上传 简介:写写帮文库小编为你整理了多篇相关的《前端开发中一些常用技巧总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《前端开发中一些常用技巧总结》。 第一篇:前端开发中一些常用技巧总结 前端开发中一些常用技巧总结自己前端开发中常用到的一些技巧及问题解决方法,会常更新,希望对前端路上的朋友有帮助.1.文章标题列表中日期居右显示的两种方法,方法A相对方法B省资源,但比方法B要多写两句代码,使用时请视情况而定: 方法A(经典论坛ariesjia提供的思路.感谢~): @Mr.Think这是文章标题2010-10-10 然后定义p和span的样式: p{position:relative}p span{position:absolute;right:0} 方法B: 2010-10-10@Mr.Think这是文章标题 然后定义span右浮动: p span{float:right}其实这两种方法可以延伸到很多情况下,很实用的一种写法;2.web标准中,同一页面中只能有一个h1标签.很多人知道这个概念,但做到的却很少;3.空白外边距互相叠加的问题:一般通过添加透明边框或者1px的内边距避免.详细解读:http://mrthink.net/css-margin-overlying-way/;4.ie6下max/min-width/height实现,_width: expression(this.width >600 ? “600px” : true);,height同理.5.html/class/id,最好统一以小写书写,这样更严谨(符合xhtml标准);6.不推荐用下面代码兼容IE8: 如果是非短期性页面,尽量避免使用,页面应尽可能保证向后兼容.更多兼容方法请详细阅读: http://mrthink.net/cssandhtml-hack-mainbrower/7.空div在IE(FF中没有)是有默认高度的,可以用定义:div { witdh:100%;background:#9c0;font-size:0}的方式去掉默认高度;8.在使用table标签时应该尽可能的利用它本身的属性,最大限度的分离结构与样式.详细解读:http://mrthink.net/csshtml-colgroup-col-style/;9.充分利用表单中label标签提升用户体验;这一点对于页面中那些小的选项框,以及对残障人士阅读网站都有好处.细节是用户体验的第一步;10.fieldset, legend标签, 鲜为人知,却很实用的一组标签;它可以很明了的把一组元素框起来,主要用于表单;11.optgroup标签,鲜为人知,它对提升选择表单用户体验很有帮助.作用? 就是可以在有很多选项时,对这些选项分组: one select two select three select four select 效果演示:12.表单都要加name值,name值是一个标示,不同于id,据我所发现,若是未定义name值,非IE浏览器下是无法通过document.formid获取到表单元素的.请看如下代码及注释: ......第二篇:前端开发心得web前端核心技术从事前端开发工作1年多了,从最初的DIV+CSS学起,到现在学到html5、css3、javascript,jquery等等,我觉得前端要学的技术太多了,很多人认为前端开发要掌握的技能简单,就是网页制作,其实不然,前端开发是网站的前台代码实现,包括基本的HTML和CSS以及JavaScript/ajax,现在最新的高级版本是HTML5、CSS3,以及SVG等。JavaScript作为最难的语言之一,许多编程高手也不敢妄自菲薄、自封精通。关于兼容性的问题我相信对于每个做前端开发的人来讲是一个很头疼的问题,互联网目前主流浏览器有IE6789,Firefox,Chrome,Opera,Safari,遨游,包括国内主流的搜狗,腾讯 TT,360等等;从内核上讲主要有IE的,遨游版IE,safari,firefox以及opera的,这些都是大家常见的。所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况。在大多数情况下,用户用什么浏览器来查看同一网站,都应该是统一的显示效果。所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题。这个时候就需要针对不同的浏览器写不同的CSS,这个过程叫CSS hack。虽然我们写代码都要求按照标准,不写hack代码,但实际工作中为了兼容主流浏览器,hack代码是免不了的,所以这也应该是每个前端开发人员必备的技能。前端的开发工具很多,比较常见的有Dreamweaver,Notepad,webstrom,Sublime Text等等,我现在在使用webstorm,强大的提示功能可以帮助我们很快的熟悉并掌握网页布局,检查错误等。调试代码的工具我使用的Firebug。Firebug是网页浏览器Mozilla firefox 下的一款开发类插件,它集HTML查看和编辑、Javascript控制台、网络状况监视器于一体,是开发JavaScript、CSS、HTML和Ajax的得力助手。Firebug如同一把精巧的瑞士军刀,从各个不同的角度剖析Web页面内部的细节层面,给Web开发者带来很大的便利。Firebug也是一个除错工具。用户可以利用它除错、编辑、甚至删改任何网站的CSS、HTML、Dom 以及Javascript代码。以上是自己做前端开发的一点心得,它所涵盖的知识面远远不止这些,我也在不断的学习,不断地丰富自己,希望自己能在前端这个职位上开阔自己的一片天地!第三篇:web前端开发知识点总结HTML知识总结span行级元素,多个同行块级元素,独占一行块级元素,前后保留一行标题标签,h1~h6表6个等级,加粗,前后保留一行width:设置宽度height:设置高度alt:图片加载失败显示的文本div文本类ph图片标签imgcolor:颜色水平线常用标签hrsize:高度(粗细)width:宽度(长度)herf:超链接转到的地址超链接atarget_self:默认值,在当前页面打开_blank:在新窗口打开带标题的框fieldsetlegend设置标题disc:实心圆无序列表列表标签有序列表ulsquare:小方块olcircle:空心圆tr表示行th表示标题单元格,居中、加粗td表格标签caption表示一个单元格表示标题,定义在第一行,居中rowspan设置单元格占的行数colspan设置单元格占的列数action表单提交地址get:显示提交参数,将参数用?和&拼接到url上带到服务器端methodpost:隐式提交参数optgroup 表示分组,分组不能选,只能选分组中的option下拉菜单selected默认选中multiple 设置下拉菜单为多选模式表单项rows: 显示文本的行数(高度)文本域cols: 显示文本的列数(宽度)name:参数名size:显示字符长度(控制文本框长度)maxlength:最大可输入字符数input文本框type=“text”placeholder:提示内容disabled:不会被提交到服务器readonly:只读(会被提交到服务器)value:默认值密码框type=“password”单选按钮type=“radio”复选框type=“checkbox”文件选择框type=“file”按钮type=“button”提交type=“submit”checked:默认选中input按钮重置type=“reset”noresize:不能改变框架大小frame:表示框架scolling:是否显示滚动条(yes、no、auto)设置框架集在纵向上的拆分策略设置框架集在横向上的拆分策略rowscolsborder框架集框架边框的宽度borderColor框架边框颜色frameBorder设置框架是否有边框(yes|no)_blank:新窗口中打开_self:在当前窗口打开框架集中的超链接打开方式target_parent:父窗口中打开_top在最顶层窗口中打开frameName:在对应name框架打开ifame在页面中嵌入框架dl、dt、dd其他标签数码 手机 marquee:滚动标签shape=“circle”coords=“309,257,20”target=“_blank”href=“http://5新标签number:数字输入date picker:日期选择datalist:自动提示sichuanchongqingguangzhoushanghaibeijingtianjinvideo:动画媒体radio:音频autocomplete:是否关闭自动提示(off |on)html5新标签autofocus: 自动获得焦点required: 表示控件必须输入内容controls : 播放控制条autoplay :自动播放loop :循环播放preload :预加载,如果设置了autoplay,就可以不用设置preloadCSS知识点总结内联:直接在标签的style属性上编写样式样式定义方式样式块:在style标签中编写样式块,并通过一定规则(选择器)应用到对应的那些标签上(通常写在head中)外部样式文件:将样式块编写在外部的css文件中(不用写style标签)* 在需要使用样式的页面通过link标签引入样式文件(通常写在head中)id选择器#xxx 针对id为xxx的标签类选择器.xxx 针对class属性为xxx的标签标签选择xxx 针对标签名为xxx的标签*选择器选择所有元素选择器后代元素关系选择selector1 selector2 {...} 针对selector1下的所有的selector2子元素关系选择selector1 > selector2 {...} 只针对selector1的selector2子元素(如果有后代selector2元素则不会应用)紧邻兄弟关系选择selector1 + selector2 {...} 只针对紧接在selector1后的selector2元素所有随后的兄弟关系selector1 ~ selector2 {...} 针对selector1后的所有的selector2兄弟元素color:字体颜色font-size:字体大小font-family:字体样式字体font-weight: bolder(加粗)| normal(不加粗)font-style: 设置字体倾斜(normal | italic | oblique)*italic和oblique实际显示效果几乎一致font-variant: 设置字体显示为小型大写字母text-align: 水平对齐方式(left | center | right)常用属性vertical-align: 垂直对齐方式(top | middle |bottom)line-height: 设置行高(通常用于设置文本居中)white-space: nowrap 不换行, pre 当做pre标签border: 边框(1px solidred)文本width: 宽度underline 下划线height: 高度overline 上划线text-decoration: 文本装饰line-through 贯穿线(删除线)blink 闪烁none 无dtext-shadow: 3px 3px 5px red;第一个参数: 阴影水平位置(x轴上的偏移量)text-shadow: 文本阴影第二个参数: 阴影垂直位置(y轴上的偏移量)第三个参数: 模糊程度第四个参数: 阴影颜色padding:内边距padding: xxpx;padding: xxpx xxpx;padding: xxpx xxpx xxpx;padding: xxpx xxpx xxpx xxpx;padding: auto;padding: xxpx auto;padding-toppadding-leftpadding-rightpadding-bottom盒子模型margin:外边距margin: xxpx;margin: xxpx xxpx;margin: xxpx xxpx xxpx;margin: xxpx xxpx xxpx xxpx;margin: auto;margin: xxpx auto;margin-topmargin-leftmargin-rightmargin-bottomborder:边框color:颜色;width:宽度;style:outset|inset|solid|double|dottedborder-radius: 10px;/* 同时设置4个角*/background-color: 背景颜色background-image: 背景图片background-repeat: no-repeat | repeat-x |repeat-y | repeat背景background-position: xxxpx xxpx | xx%xx%;(可以为负数)background-size: xxxpx xxpx | xx% xx% |cover | contain;(不能为负数)cover: 拉伸,可以超出contain: 拉伸不能超出background-attachment: scroll(随着内容一起滚动)| fixed(不滚动)hidden:隐藏scroll:滚动overflow:当内容溢出时的处理方式visible:直接显示auto:如果溢出就滚动,否则不显示滚动条visible 显示visibility:设置元素是否显示hidden 隐藏,保留占位none:隐藏,不保留占位block:设置为块级元素display:设置元素是否显示inline:设置为行级元素布局inline-block:设置为行内块元素left 左浮动float: 浮动right 右浮动none 不浮动left 不允许左边有浮动clear: 清除浮动right 不允许右边有浮动both 不允许两边有浮动ul或ol 自带样式:列表样式list-style-type: 列表项的样式margin: 16px 0px;padding: 0px 0px 0px40px;absolute:如果有父元素被定位按照父元素的原点进行定位,否则按照浏览器原点进行定位position定位z-index: 设置z轴的值,越大越在最前relative:相对定位参照元素本身的位置fixed:固定位置,不会滚动link 超链接默认样式hover 鼠标悬停样式active 鼠标点击样式visited 访问之后的样式(主要控制颜色)伪类focus 获得输入焦点的样式first-child 第一个元素last-child 最后一个元素:not 不包含指定的选择器:noly-child 是父元素的唯一子元素cursor 鼠标样式其他样式box-shadow 阴影translate:平移rotate:旋转transform:变换scale:缩放skew:扭曲matrix:以变换矩阵变换第一个值表示需要过渡的样式属性transition 过渡transition:transform2s,background-color.5s;第二个值表示整个过渡过程需要的时间第三个值表示过渡时的贝塞尔曲线第四个值表示延迟多久才开始过渡animation 动画@keyfarmes 关键帧用于定义动画的细节(每一帧如何显示)@keyframes myanimation {0% { background-color: #cfc;}30% {background-color: #ccf;border-radius: 50px;}80% {width: 300px;background-color: #fcc;}100% {width: 300px;height: 300px;background-color: #000;}}@-o-keyframes myanimation {}@-ms-keyframes myanimation {}@-moz-keyframes myanimation {}@-webkit-keyframes myanimation {}需要显示动画的地方通过animation属性来使用声明的关键帧.ac:active {animation: myanimation 5s;-o-animation: myanimation 5s;-ms-animation: myanimation 5s;-moz-animation: myanimation 5s;-webkit-animation: myanimation 5s;}opacity透明度从0.0 ~ 1.0 0.0完全透明,1.0 完全不透明浏览器兼容前缀-webkit-chrome,safari, opera-o-opera-moz-firefox-ms-ie(ie9以上)JavaScriptjavascript代码必须包含在标签中也可以书写到外部的.js文件中,通过来引入script标签只能同时做一件事情.如果既有src属性也包含代码则只会执行外部文件的代码通过alert来弹出提示框通过document.write来输入文本到页面上(可以输入标签)Number: 数值型整数和小数Boolean: 布尔型(true |false)String: 字符串字符串必须被”“或''包含必须对称如果字符串中包含引号可以单引号中包含双引号或者是双引号中包含单引号也可以使用'来表示一个单引号”来表示一个双引号n 表示换行数据类型t 表示制表符表示书写方式NaN: Not A Number 当使用非数字来进行运算时的值undefied: 未定义null: 空值substring 截取子串, 从start到end-1处,如果没指定end则取到最后一个字符toUpperCase 将所有字符变成大写toLowerCase 将所有字符变成小写indexOf 查找子串首次出现的位置, 如果找不到则返回-1字符串处理lastIndexOf 查找子串最后一次出现的位置, 如果找不到则返回-1charAt 取指定位置上的字符slice 也是取子串,效果和substring一样可以用-1,-2,-3...从末尾开始计数split 将字符串按照指定的字符进行拆分成为数组获取当前时间var now = new Date()获取指定时间的日期对象var date = new Date(yyyy,MM,dd,HH,mm,ss)设置指定时间(将时间对象设置为一个指定时间)now.setFullYear(yyyy,MM,dd,HH,mm,ss)now.setMonth日期Datenow.setDatenow.setHours...获取指定时间信息now.getFullYear()// 年只能取出年份,如: 2015now.getMonth // 月0-11月now.getDate // 日now.getDay // 星期0-6(0表示星期天)now.getHours // 时24小时制now.getMinutes // 分now.getSeconds // 秒now.getMilliseconds// 毫秒通过new Array()来创建数组var names = new Array();var names = new Array(“小王”, “大王”, “炸弹”);// 创建时给数组设置默认值//用json格式表示数组var names = [];var names = [“小王”, “大王”, “炸弹”];数组Array可以通过length来设置或获取数组的长度push : 往数组末尾添加元素pop: 删除并返回数组的最后一个元素unshift: 往数组的开头添加元素shift: 删除并返回数组的第一个元素reverse: 颠倒数组顺序sort: 按“字符串”的自然排序规则进行升序splice: 删除指定位置处的指定个数元素并将第三个参数之后的参数添加到被删除位置(设置第二个参数为0则实现只添加不删除, 之传入两个参数实现只删除不添加)slice: 获取start到end处的子数组join: 将数组元素以指定分隔符进行连接成为字符串function xxx(....){声明函数....}var xxx = function(...){...函数变量}var ooo = xxx;ooo();函数function fn(fx){fx();将函数作为参数}fn(function(){...});(function(...){立即执行函数....})(...);getElementById 根据id获取唯一的元素var xx = document.getElementById(“xx”);DOM(Document Object Model)文档对象模型获取元素getElementsByTagName 根据标签名获取元素数组onclick 鼠标点击事件getElementsByClassName 根据类获取元素数组(如果元素被改变了class值将会从数组中删除)onmouseover 鼠标进入事件onmouseout 鼠标离开事件onmousemove 鼠标被移动onmousedown 鼠标按钮被按下事件机制onmouseup 鼠标按钮被松开onkeydown 某个键盘按键被按下onkeyup某个键盘按键被松开onload 一张页面或图像被完成加载onchange 域的内容被改变onfocus 元素获得焦点onblur 元素失去焦点setTimeout: 延迟执行(只会执行一次)var xx = setTimeout(xxx, 1000);setTimeout(“fn();”, 3000);BOM(Browser Object Model)window清除使用clearTimeout(xx);setInterval: 定时执行(间隔指定时间循环执行)xx.offsetLeft获取元素的位置和尺寸(只读)xx.offsetTopxx.offsetWidthxx.offsetHeightvar xx = setInterval(xxx,1000);清除使用clearInterval(xx);[] 表示[]中的字符任意取一个在[] 中的^ 表示非不包含该字符()表示将多个表达式合并为一个表达式在()中的|表示将两个匹配条件进行逻辑“或”(Or)运算。+ 前一个表达式出现至少一次1~n {1,}* 前一个表达式出现任意次0~n {0,}? 前一个表达式出现0~1次{0,1}{n} 前一个表达式出现n次{n,} 前一个表达式出现至少n次{n,m} 前一个表达式出现n~m次.任意字符(不包含rn)正则表达式^ 匹配字符串的开头$ 匹配字符串的结尾w 表示一个任意的单词字符包括_ [a-zA-Z0-9_] * 不包含破折号W 对w取反(不包含单词字符)[^a-zA-Z0-9_]d 表示一个数字字符[0-9]D 对d取反[^0-9]s 表示一个任意空白字符空格中文状态的空格制表符全角空格S 对s取反非空格n 换行符b 单词边界B 不是单词边界(对b取反)eval执行字符串形式的代码。for(var i in array){var item = array[i];}for(var key in obj){var value = obj[key];}迭代数组迭代出的值为数组的下标for...in迭代对象迭代出的值为对象的属性名其他with设置以某个对象为代码块作用域对象delete attribute删除属性isNaN如果被判断值不是一个数字则返回true,否则为false第四篇:前端开发实习总结多种多样的Web应用跟随互联网Web2。0时代的兴起不断出现,Web前端出现了翻天覆地的变化,今天小编给大家整理了前端开发实习总结,谢谢大家对小编的支持。前端开发实习总结篇一今天就简单聊聊上面的Struts+Spring+Hibernate吧。Struts 代表:表示层;Spring代表:业务逻辑层;Hibernate则代表持久层。他们是目前在Java Web编程开发中用得最多的框架,其实这样区分是为了适应软件开发过程中各个分工部门之间保持一致性的需要。说得简单点就是大家都在一个模式下写代码,这样就能保证写出来的程序能被每一个人都能够读懂,而且有些基本的东西它可以自动帮你生成,不用你自己一个一个的敲了,达到了代码复用。这样保证可读性的同时也提高了开发效率,从而降低了成本。Struts这个框架其实就是Java MVC设计模式中(简称Model1与Model2)Model2的一个具体实现,Spring 则通过提供ICO(控制反转,也称依赖注入)实现了对对象甚至事务(如声明式事务)的集中管理,此外还引入了AOP(对向切面编程),当然也完全兼容其它框架。Hibernate吗,就是一个实现对象与关系映射的中间件,大家知道,现在的主流数据库还是关系型的,但编程却已经采用了面向对象的思想,如何让编程人员能像操作对象一样,操纵数据库里的数据呢?Hibernate就是这样一种框架。以前Java程序员与数据库打交道都是通过JDBC,还要写 SQL语句,不过Hibernate彻底改变了这一切,它在JDBC之上又作了一次封装,从而实现了不用写SQL语句就可以实现操作数据库。值得提醒的是,这三个框架都是轻量级的,没有侵入性或者侵入性很低,不像EJB这样的重量级框架,它们都能最大限度的实现代码的可复用。前端开发实习总结篇二以前在校很少自己做程序,对软件工程更是一无所知。来到公司,开始接触“大规模”(其实现在看来实习的项目其实还是很小的)软件开发,一时真的有些迷茫。比起VSS,MVC,QA,CMMI,我对JAVA,JSP,XML的一窍不通根本不值一提。大家都不想输在“起点”,所以都默契地在加班,这样一直持续了实习的两个月。刚来的时候“始业教育”显得慢吞吞,我们还经常盘算去哪哪玩之类的。我和FLYSKY(20个新生里唯一一个南区的兄弟,软件学院的)还经常出去吃各种小吃,每到一处都尝尝本地的风味,这是他的习惯。之后开始的培训还不是很难过,JAVA,C++,ORACLE,老师们讲的很“好”,可以说是非常好,好得我们没有几个人能听懂。大家开始发愁,我也是每天晚上都基本看书到10点。“我心说得亏哥们我还练过”,来之前的2月份我就自己买了一本THINKING IN JAVA,看懂看不懂怎么说也算是准备了一下JAVA,C++虽说没去上过课,但凭我的直觉我就一下看中这东西很有用,自己也看过一阵。至于ORACLE,虽然不了解,但毕竟因为佩服“云飞扬”的性格和敬业精神,咱SQL选修也不是白混的。专业倒还有点“基础”,再加上咱这自学能力也不是吹的,基本维持。可等到后来的日语课就全迷糊了:本就没有语言天赋,再加上记忆严重欠缺,总是特别害怕去上日语课。不过特别喜欢那个老师说话的感觉,加上她一直对我都很好,所以还是很用心的学着。随着培训的收尾,我们开始正式进入项目。从需求分析,概要设计到详细设计,我们一步一步的开始接触软件开发的每个细节。最受不了的就是每天都要记“周报”,填写自己的劳动成果。因为这个我还被QA通报了好几次呢,真的很郁闷。其实现在我很感谢这种制度化的东西,某些情况下好习惯的养成是要靠强制来确保的。详细设计之后就是企盼已久的编码,我心想终于可以做点“正事”了。现在回头一看才知道,其实编码只占软件开发的整个过程劳动量的1/4左右,而且其他的环节也不是想象中的那么无足轻重。编码我其实做的很不好,主要是因为需求分析阶段就没有认真仔细的理解需求和规格说明,加上编码时一个关键时段我回校和老同学叙旧。那阵项目经理(PM)就经常和我们说,“有问题自己想办法,不要经常问我”。PM其实是在叫我们自己酝酿,遇到难题只有“憋”一“憋”才能有真的收获。而我不在的那三天正好是大家技术/思路上的一个“跃迁”,很多难题的解决方法都基本成熟,大家的编码也接近50%了,所以回来时我感觉已经掉队很多。再一个就是编码中期时机器出问题,环境搭不上了,这使我更加紧张和急躁,大大影响了我的士气。后来利用五一其间的加班我终于赶完了自己的模块,达到了第一个里程碑。其实从发现落后到加班赶完这段经历,对我来说也具有里程碑的意义。不仅考验了我自己的能力和心理素质,也证明了我对集体的责任感和合作意识。我可以叫别人来帮我做赶上进度,但那样我会错过自己学习的机会,以后再遇到难题我还是不行;我也可以硬着头皮导致项目延期,那样我以后的日子保证不好过,而且这么做也不符合我的性格。事实证明我顶住压力独立完成任务不管是对集体还是对我个人都是一件大好事。第五篇:前端开发命名规范范文前端开发工作规范为提高团队协作效率,便于后台人员添加功能及前端后期优化维护,输出高质量的文档,特制订此文档。本规范文档一经确认,前端开发人员必须按本文档规范进行前台页面开发。【写在规则前面的话】项目的可维护性第一。你不是一个人在做事,项目的维护和二次开发可能是直接的或间接的团队合作。好的可维护性,从四个方面下手:1)代码的松耦合,高度模块化,将页面内的元素视为一个个模块,相互独立,尽量避免耦合过高的代码,从html,css,js三个层面都要考虑模块化。2)良好的注释。3)注意代码的弹性,在性能和弹性的选择上,一般情况下以弹性为优先考虑条件,在保证弹性的基础上,适当优化性能。4)严格按照规范编写代码。【命名规则】为避免命名冲突,命名规则如下:1)公共组件因为高度重用,命名从简,不要加前缀;2)各栏目的相应代码,需加前缀,前缀为WD姓名拼音的首字母,例如:杰夫前缀为“jf_”,分隔符为下划线“_”,例如:“jf_imgList”;3)模块组件化,组件中的class或id名采用骆驼命名法和下划线相结合的方式,单词之间的分隔靠大写字母分开,从属关系靠下划线分隔。例如:html:1)XXXXXXXXXXXXXX2)XXXXXXXXXXXXXX3)XXXXXXXXXXXXXXcss:.textList{}.text_list X{}.textList_firstItem{ }.textListFirstItem X{}4)命名清晰,不怕命名长,怕命名容易冲突,长命名可以保证不会产生冲突,所以css选择时可以尽量不使用子选择符,也能确保css优先级权重足够低,方便扩展时的覆盖操作:.textList_firstItem{}.textList.firstItem{}5)命名要有意义,不要使用没有意义的命名。用英语命名,不要用拼音。【分工安排】1)分工原则为公共组件(包括common.css和public.JS)一人维护,各栏目其他人负责,每个栏目正常情况下一人负责,要详细写明注释,如果多人合作,维护的人员注意添加注释信息,具体注释细则,详见注释规则;2)VD设计完设计图后,先和交互设计师沟通,确定设计可行,然后先将设计图给公共组件维护者,看设计图是否需要提取公共组件,然后再提交给相应栏目的WD。如果有公共组件要提取,公共组件维护者需对栏目WD说明。3)如果确定没有公共组件需提取,交互设计师直接和各栏目的WD交流,对照着VD的设计图进行说明,WD完成需求;4)WD在制作页面的时候,需先去common文件中查询是否已经存在设计图中的组件,如果有,直接调用;没有,则在app.css和app.JS中添加相应的代码。5)WD在制作过程中,发现有高度重用的模块,却未被加入到公共组件中,需向公共组件维护人进行说明,然后工作组件维护人决定是否添加该组件。如果 确定添加,则向WD们说明添加了新组件,让WD们检查之前是否添加了类似组件,统一更新成新组件的用法,删除之前自定义的css和js。虽然麻烦,但始终 把可维护性放在首位。6)公共组件维护者的公共组件说明文档,需图片和说明文字配套,方便阅读。【注释规则】1.公共组件维护者和各栏目WD都需要在文件头部加上注释说明:/***文件用途说明*作者姓名、联系方式(旺旺)*制作日期**/2.大的模块注释方法://================// 代码用途//================3.小的注释;//代码说明注释单独一行,不要在代码后的同一行内加注释。例如://姓名var name = “abc”;Vvar name =”abc”;//姓名 X4.维护人员的注释方法:尽量根据注释说明,找到代码的原作者,让原作者进行维护,原作者进行维护可以无需添加额外说明,直接进行修改。如果因为特殊原因,无法让原作者进行维护,需添加额外说明进行注释。说明文字为:“/*change by xxx)原代码如下:<{源代码}>.新代码如下:*/新代码:如:var name = “abc”;这段代码,要将name由“abc”变成“123”,原作者可直接改var name=”123”;非原作者修改,需改成:/*(change by 杰夫)原代码如下:<{var name = “abc”;}>新代码如下:*/var name =”123”;修改时添加的注释,在项目通过测试之后,上线前,可以优化掉。【js规范】1)底层JS库采用YUI 2.6.0;2)统一头部中只载入YUI load组件,其他组件都通过loader对象加载;3)js尽量避免使用全局变量,复杂应用写成组件,通过构造函数实现多态,写在公共组件或外部js中,简单应用直接写在init函数中,通过命名空间或匿名函数将变量包进闭包中。【切图规范】1.尽量把页面的背景图及小图标整合到一张图片,用CSS定位方法。(这样以减少http请求,从而降底网站的下载速度。)2.尊从内容与页面样式的脱离,如需要,同样也要做到布局与color的脱离。(什么样的图片属于内容:从数据库里取出来的图片。凡是不属于内容的图片请都用背景。)1)页面代码,做到精简,逻辑性清楚;(公用部位可以引入进来,比如头部,脚部)2)CSS逻辑清析,精简。可在不改变功能的前提内,做到能更换页面布局及换色。CSS样式每个页面引入不超过两个文件,一个是common:它包含整个站点都需用到的公用部分,如整体布局,头部,脚部,框,按扭等。另一个是当前页的CSS。(CSS文件引入在2个之内,减少http请求)避免CSS的表达式。3.将脚本放在底部。(这样页面就可以逐步呈现,而且页面中的可视组件可以尽早下裁。)配合程序开发人员我们需要注意的(xhtml):1.了解用户可编辑上传修改的“图片”,“文字”区域的需求。根据需求来定位控制,以保证页面的稳定显示。如图片,需了解:1)宽度是否是固定大小,2)宽度最大限度,3)大小不一样时的居中显示如文字,需了解:1)文字的最大长度。及加“…”省略号区域,2)在测试中经常也会碰到英文无空格情况,得用overflow: hidden的方法隐藏溢出部分。2.每个页面加上正确显示的TITLE。(这个是我经常容易忽视的)3.在页面中尽量完成每步交互效果,包括既时响应的。4.提交程序员的demo必须是连贯的,交互效里齐全,而且经过自已在IE6.0,IE7.0,IE8.0,FIREFOX等浏览器的一次以上的整体测试。用户体验方面需要注意的:1.每个连接,按钮要做上鼠标hover时的一个变化效果(如果hover时是换一张背景图片,请把这两张图片整合在一张图片中,以防止在hover时,页面还在download变化的那张图片,这样会出现那个按钮无图的间隔);2.Input有个label,可以让用户在点击字时,光标自动跳入相应input中;3.图片应该有alt属性,以备图片阻止时,文字的替换。本文由世纪淘商城()整理分享!版权归原作者所有! 下载前端开发中一些常用技巧总结.doc 将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。 点此处下载文档 文档为doc格式 相关专题 前端开发经典问题总结 前端页面开发工作总结 前端开发工作总结 网址:https://www.xiexiebang.com/a1/2019051214/aa46f6be7c0a9052.html声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。 相关范文推荐 什么是前端开发工程师www.xiexiebang.com 什么是前端开发工程师 前端开发工程师是Web前端开发工程师的简称,是近五年才真正开始受到重视的一个新兴职业。Web前端开发技术是一个先易后难的过程,主要......WEB前端开发经验总结ASP.NET前端开发经验总结 通过此次大作业的设计到完成,我负责的是web前端的开发,经过此次作业和结合W3C上的自学,我渐渐有了一些对前端开发的小小经验(仅为个人意见)。 WEB标准是......WEB前端开发经验总结WEB前端开发经验总结 发布时间:2009-04-20 09:05:33来源:作者:shengman点击:21015 这里跟大家谈谈个人对WEB前端开发的一些经验(当然都是个人的一些理解,有什么地方说的欠妥或不对......前端开发面试题及答案想要应聘前端开发的求职者,要做好完成面试题的准备。下面是由小编分享的前端开发面试题及答案,希望对你有用。前端开发面试题及答案1、对Web标准以及W3C的理解与认识?答:标签闭......前端开发和美工工程师工作总结[本站推荐]前端开发和美工工程师工作总结作为公司的网站前端开发和美工,2017年本人主要负责的是经文保总队的各个系统的界面设计及动态页面制作,包括以下内容:一、吉林省单位内部安全保卫......Web前端开发学习笔记分享www.xiexiebang.com免费试学/ 一对一辅导/项目实训/就业保障 Web前端开发学习笔记 对于Web前端初学者而言,前人的学习经验及总结,能让自己的学习事半功倍;我在泛艺学苑学习Web......一些前端开发优化的经验总结一些前端开发优化的经验总结 发现的一篇关于前端优化的文章,总结的很全面,要做到面面俱到很难,往往是想优化而没有时间去优化,就像我们公司,一个项目连着一个项目~新员工的培训都......web项目前端开发经验总结(大全)web项目前端开发经验总结 最近这一个月完成了自己的第一个java web项目,是给某杂志社做的在线投稿系统,虽然进度很慢,但是中间确实学到了不少东西,深刻体会到了自己看几个月书都...... 点击咨询 第一篇 第二篇 第三篇 第四篇 第五篇 更 多