24Web前端架构
来源:互联网 发布:上海品牌知恩女装 编辑:程序博客网 时间:2024/04/27 20:31
近来都是接触前端,所以学多点这方面的东西,虽说有实战到项目里面去了,但可能还没走到所谓正确的道路上去。欢迎交流。
转载请说明来着:http://blog.csdn.net/wowkk
---------------------------------------------------------------------------------------------
如果Web前端做多了一点,那就会意识到,无论项目大小,都得考虑到一个“架构”的问题。
因为只要是项目,就会涉及到“管理”,如果不规范,就肯定会乱。如果涉及到团队协作,情况就会更加糟糕。
如果没有架构的观念,大家都把css、js都写在html里,并且css想怎么写就怎么写,js接口想怎么放就怎么放,不仅像垃圾堆一样让人恶心,维护起来也是个噩梦,获取就是直接清空重新堆放垃圾?
这里所谈的架构,并不是什么伟大的东西,也没名字,只是关乎前端质量。像后端的“三层架构”一样,可以走遍大部分管理系统。
PS:本文思想主要学自《编写高质量代码--Web前端开发修炼之道》,因为所做项目必须保密,所以演示代码会比较少,详细内容得去这本书中学习。
目前我的做法有下面几步:
一:保证文档流清晰
当确定好页面各模块(版面)后,不通过任何css代码修饰,用Div标签把布局代码写好出来。打开页面,能看懂个模块的组织逻辑就可以进入下一步。
二:引入bass.css文件
bass.css为基础样式文件。引入这个文件,可以清除浏览器带来的默认样式,比如直接放个div在页面,它和body是有个间距在那的,对于新手来说,清除这个边距都有得受的。还有就是解决有时有些不是很好理解的浏览器差异。
它的主要特性就是:“通用性”和“原子性”,可以引用到任何页面中,并且每个css类都不可再分。比如 .fl{float:left;display:inline;} 出现浮动效果,并且解决IE6的双外边距BUG。
通过组合使用bass.css里面的类来装修html页面元素。比如class="bc w200"表示元素宽度200px & 居中。
下面是一个bass.css文件代码,可以通过需要自己新增代码进去(好像代码大部分来自 http://developer.yahoo.com/yui 雅虎的前端框架,比较成熟的代码)
@charset "utf-8";/* CSS Document *//*CSS reset*/html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;}/*文字排版*/.fontf{font-family: Helvetica, Tahoma, Arial, "Microsoft YaHei", "微软雅黑", Heiti, "黑体",SimSun, "宋体", STXihei, "华文细黑", sans-serif;}.f12{font-size:12px;}.fb{font-weight:bold}.fn{font-weight:normal;}.t2{text-indent:2em;}.lh150{line-height:150%;}.lh180{line-height:180%;}.lh200{line-height:200%;}.unl{text-decoration:underlline;}.no_unl{text-decoration:none;}/*定位*/.m0a{margin: 0 auto;}.tl{text-align:left;}.tc{text-align:center;}.tr{text-align:right;}.bc{margin-left:0;margin-right:0;}.fl{float:left;display:inline;}.fr{float:right;display:inline;}.cb{clear:both;}.cl{clear:left;}.cr{clear:rigth;}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.vm{verticle-align:middle;}.pr{position:relative;}.pa{position:absolute;}.abs-right{position:absolute;right:0}.zoom{zoom:1;}.hidden{visiility:hidden;}.none{display:none;}/*宽度*/.w10{width:10px;}.w14p{width:14%}/*高度*/.h50{height:50px;}.h10p{height:10%}/*边距*/.m10{margin:10px;}/*上边距*/.mt0{margin-top:0px;}.mt25{margin-top:25px;}.mt2p{margin-top:2%;}/*下边距*/.mb0{margin-bottom:0px;}.mb5{margin-bottom:5px;}.b9p{bottom:9%;}/*左边距*/.ml0{margin-left:0px;}.ml20{margin-left:20px;}.ml1p{margin-left:1%;}/*右边距*/.mr5{margin-right:5px;}.p10{padding:10px;}.pt5{padding-top:5px;}.pb5{padding-bottom:5px;}.pl5{padding-left:5px;}.pr5{padding-right:5px;}
三:引入common.css文件
四:js控制接口
五:引入common.js文件
总结:
- 24Web前端架构
- web前端架构图
- Web前端体系架构
- Web前端布局总体架构
- WEB需要更多的前端架构师
- Web前端博客,企业架构博客
- 大型网站架构之WEB前端优化
- 大型网站架构之WEB前端优化
- 当web前端架构方案遇上《金瓶梅》?!
- web前端架构师的能力问题
- 【服务器架构】WEB 前端性能优化
- 是时候了,Web需要更多前端架构师
- 是时候了,Web需要更多前端架构师
- FLASH WEB GAME的前端架构与人事分工
- web前端的弱架构导致的代码污染
- 基于AWS的电子商务网站架构——Web前端
- 前端那些事儿(3) --- WEB架构的历史变迁
- 前后端分离之Web前端架构设计
- 网页程序ledon_cgi
- 卷积的血腥理解
- 如何快速学习一门语言
- 芋头哥:从码农到农民,靠微博3个月卖出20万斤
- Oracle动态性能视图学习之 V$ROLLSTAT
- 24Web前端架构
- MSSQL2008 用户'sa'登录失败。错误18456
- 基于OSGi的Virgo Server最简单Spring web实例
- 黑马程序员--选择排序和冒泡排序
- [笔试]判断回文数
- UIView的layoutSubviews和drawRect方法何时调用
- HDU4027 Can you answer these queries 线段树区间求和+剪枝
- 随笔
- C++中STL STD::list使用说明