面向对象的CSS应用
前端  /  管理员 发布于 7年前   144
框架?工具?哲学?
Object-oriented CSS is a coding paradigm that styles "objects" or "modules"—nestable
chunks of HTML that define a section of a webpage—with robust, reusable styles.
令 CSS 更强大
ul{...}ul li{...}ul li a(②但是,结构在这里){①直至现在,我们只关心这里}
意大利面条
稍微好一点
我们筑了大栅栏
公认的毒药中心
文件大小和 HTTP 请求未作优化
性能的最佳实践、可扩展性、和最重要的-容易使用
可重用的“乐高积木”
性能“免费”
组合并匹配来创建不同的和有趣的页面
新的页面一般不需要额外的 CSS
根据你需要的语义来完成你想要的表现
必须对页面中的所有模块可用
在不能增加价值的元件上浪费性能资源
h3 和 h5 太相似了
如果一个页面中的两个模块看起来太相似,它们在一个站点中太相似,选择一个!
Yahoo! 个人财经
2+不同的 tab 风格。能用相同的图像吗?
3个元件的轮廓太相似了。选择一个。
模块宽度、背景色或背景图片的改变是个很好的模块复用的例子。
沙盒比意大利面条好,不过引起了性能问题
不好的:
#weatherModule h3{color:red;}#tabs h3{color:blue;}
推荐:
h3{color:black;}#weatherModule h3{color:red;}#tabs h3{color:blue;}
写更多规则去重写之前的疯狂规则。
比如标题在任意模块的表现是可预见的。
h1, .h1{...}h2, .h2{...}h3, .h3{...}h4, .h4{...}h5, .h5{...}h6, .h6{...}
真的吗?没有重复?没有相似的?
.category{...}.section{...}.product{...}.prediction{...}
复用代码段
是抽象不同水准的语义失败所导致的
定义每个对象的界限
图像或 flash
容器和内容对象达到高性能设计
内部透明!
需要小心选择像素
考虑 PNG8 来渐进增强
可变的或渐变背景
提防圆角后的可变或渐变背景
两个单独的 class
示例:模块
Sloves borwser bugs, positions presentational elems, and generally does the heavy
lifting of CSS
弄漂亮些。
目标是非常明确的皮肤,复杂的被结构对象和跨网站共享所吸收(The goal is very predictable skins, complexity is
absorbed by the structure object and shared across the site)。
/* ----- simple (extends mod) ----- */.simple .inner{ border:1px solid gray; -moz-border-radius:7px; -webkit-border-radius:7px; border-radius:7px;}.simple b{ *background-image:url(skin/mod/corners.png);}
皮肤的每个值应该是确定的,容易预测并测量。
可延长的高度和宽度
Limit the ways in which a module can be resued
坚信其会很美
给设计师和工程师
从简单到复杂的任务
Gonzalo Cordero Yahoo! 前端开发工程师
这不仅仅是 OOCSS!
本文内容来源于:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号