谈谈我的“分离”观
作者:Ghost 来源:CSS森林 时间:2010-08-31 14:47:00
很久没有跟其他人做重构思想方面的交流了,可能大家都觉得不太好意思讨论,特别是“分离”的思想这么基础的话题,拿出来说怕会被“笑话”。做为页面重构中最基础的一个思想,我们有必要清楚的认识它,因此我们需要更多的讨论。正所谓“理越辩越明”。借着这次webrebuild年会上 焕义 提到的“分离”,我也来谈谈我的“分离”观。
一说到重构的“分离”思想,第一个进入脑残里的是“表现、内容、行为”的分离。“表现”指CSS、“内容”指HTML、“行为”指脚本。然后……
在《 页面重构中的模块化思维 》中我提到了“HTML与CSS的接口”实现,从“接口”可以看出,我们在做页面的时候,把CSS、HTML、脚本等文件独立出来的做法,就是一种“分离”的体现。但只是这样吗?在CSS2.1的时候有这样的认识是正常的,那么CSS3为什么又加入了原本脚本可以实现的动画效果呢?
表现,个人觉得应该包括了像滚动、发光、hover等动画的效果在内,脚本制作的动画效果也应该属于“表现”的范畴;内容,要传达给用户的内容,包括HTML标签;而行为,指由用户触发的由脚本与服务器端的交互,如登录。
举个例子,比如用户登录网站的过程中,当前输入框的边框高亮(表现),将鼠标放到登录按钮上,按钮变亮(表现),点击发送输入的内容(行为),界面出现一个进度条或转动的小圈(表现),登录成功,返回(行为)一个成功提示(内容),绿色图标、文字(表现)。
因此,CSS3中增加的动画效果并不像有些人说的,引起表现与行为的混乱。由于目前浏览器还不能做到支持真正意义上的表现、内容、行为分离,很多时候我们需要使用脚本到完成表现的效果。从这个角度来讲,目前脚本所完成的更多是“表现”的东西,而非“行为”。


猜你喜欢
Python简单遍历字典及删除元素的方法
Python生成器传参数及返回值原理解析
原生js实现密码强度验证功能
给Python入门者的一些编程建议
新手必备Python开发环境搭建教程

利用J2ME与ASP建立数据库连接
SQL中的开窗函数(窗口函数)

jquery动态遍历Json对象的属性和值的方法
Python sklearn CountVectorizer使用详解

怎样在MySQL数据库中导出整个数据库
oracle中变长数组varray,嵌套表,集合使用方法
Python中ROS和OpenCV结合处理图像问题

ASP实现GB2312转UTF-8函数
使用python计算三角形的斜边例子

加速 PyTorch 模型训练的 9 个技巧(收藏)

Python中包的用法及安装
从零使用TypeScript开发项目打包发布到npm
