页面重构中的组件制作要点
作者:ghost 来源:CSS森林 发布时间:2009-10-25 13:06:00
在写完前面“模块化”相关的文章后,感觉试图用“模块化”本身去讲什么是“模块化”真是不容易讲得清。相信大家都多多少少能理解什么是“模块化”,但是不容易说得清,也有不少同学反馈说缺少实例。现在的团队里在推“组件化”,做为“模块化”的一个应用方式,也许正好可以从另一个方面讲讲“模块化”的实现。
这里的“组件”跟“模块”并没有本质的区别,那为什么还要提一个新的名词呢?在《 页面重构中的模块化思维 》中提到了“模块化”的应用是十分广的,而且大家已经对它有了自己的理解,想要重新认识“模块化”是不太容易的,因此决定换一个名。“模块化”更多的讲一种思维,而这里的“组件化”更多的是讲一种实现。
一个组件效果的实现,需要的支持可能是不同的,组件强调的是“效果的完整”,要保证效果完整,就需要HTML、CSS、前端脚本甚至后台脚本等的配合。
简单列下做组件时需要注意的几点:
组件需要一个底层的运行环境。特别是对于CSS,就是常说的全站公共样式,包括reset。
确保同一组件在同一底层环境中的效果完整。
组件中的定义需要注意受组件外继承定义1的影响。
在使用上面这些定义的时候,应该注意继承性对作用范围中标签的影响。同理,为了减少组件中被外层定义中的有继承性定义的影响,必要时须要在组件中reset。
在做一个组件之前,有几个问题需要先搞清楚,如:
是否需要静态化?
组件有多少种状态?
是否通过脚本程序实现状态的更改?
组件更新的频率?
这些问题对于组件如何实现更优起了很重要的作用。了解了基本的实现方式后,在制作组件所要考虑的方面,大概有下面这些:
效果的完整性(同一底层环境)
良好的性能
可移植、复用(同一底层环境)
易维护
易扩展
一个好用的组件,应该是充分考虑到上面这些点,并在它们间找到平衡。


猜你喜欢
- 本文实例总结了常用SQL语句优化技巧。分享给大家供大家参考,具体如下:除了建立索引之外,保持良好的SQL语句编写习惯将会降低SQL性能问题发
- 一、获取DataFrame列标签import pandas as pd file_path = '/Users/Arithmetic
- 一、python批量查询练习通过接口批量查询该ip是否属于指定接口:import requestsimport jsonif __name_
- 目的把字符串逐字符或逐词反转过来,这个蛮有意思的。方法先看逐字符反转吧,第一种设置切片的步长为-1revchars=astring[::-1
- 前言刚刚看了EuroPython 2017一篇演讲,Why You Don't Need Design Patterns in Py
- 或许你知道,Internet Explorer 6 已经不是最先进的浏览器了。事实上,它已经八岁了,但是很多人还在使用这个不安全的浏览器。正
- Python requests 模块requests 模块是我们使用的 python爬虫 模块 可以完成市场进80%的爬虫需求。安装pip
- “Lightbox”是一个别致且易用的图片显示效果,它可以使图片直接呈现在当前页面之上而不用转到新的窗口。lightbox效果网络上有很多j
- 本文主要介绍的是关于微信小程序利用co处理异步流程的方法教程,分享出来供大家参考学习,需要的朋友们下面来看看详细的介绍:coco是一个基于E
- SQLite 的 AUTOINCREMENT 是一个关键字,用于表中的字段值自动递增。我们可以在创建表时在特定的列名称上使用 AUTOINC
- 为什么会有这个需求呢?有没有发现在国外的一些网站,当你向上滚动时,导航条浮动在顶部位置。用户如果是想看内容就可以直接点击到达,省去很多拖动的
- 【作者翻译】结构和层次降低了复杂性并提高了可读性。你的文章或站点组织的越深入,用户就越容易理解你观点和得到你想传达的信息。在网页上,这点被通
- 前段时间我们部门的粉丝和布林同学都写过关于这个问题的文章。刚好阅读了关于这个问题的其他争论文章。所以顺便在这补充几点。首先说明这里讨论的是在
- Celery简介Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度
- 前言:为了获取一定高级操作,如:微信模板消息(xiao,xin)推送,把消息推送给用户,或者是获取用户授权信息都需要用到access tok
- 学习目标在本章中,将学习用于跟踪视频中对象的Meanshift和Camshift算法MeanshiftMeanshift背后的原理很简单,假
- 1. mysql的md5 mysql存在系统函数md5(“xxxxx”);2. mssql的md5&nb
- 那你也许会问及,怎样获取当前系统日期的最大时间值,如yyyy-MM-dd 23:59:59.997。 我们可以使用DATEADD函数,来实现
- 本文实例讲述了CodeIgniter自定义控制器MY_Controller用法。分享给大家供大家参考,具体如下:Codeigniter所有的
- 0. 前言机器学习是人工智能的子集,它为计算机以及其它具有计算能力的系统提供自动预测或决策的能力,诸如虚拟助理、车牌识别系统、智能推荐系统等