可是这怎样可以达成呢?在这里可以模拟到一点“继承”特点,在同一个 tag 上使用多个 class (其实是 composition)。不过要真正做到很有规则,就要靠“自律”:自订一些规则、实践方法去跟从。

OOCSS 的方法是由“外到内”地如砌 LEGO 般建筑页面。先要弄好一个 template 档,里面只会包含一些 header、footer 等等基本的结构和一些基本元素如 heading、list 等等。然后做页面时就可以使用 Line 和 Grid,来将这些容器细分为更细小的空间。最后才做内容。而理想的情况是,要做新页或加入新的元素时,只要更动 HTML 就好。

不过因为 Cascade 特性,所有元素理论上也会继承母元素的样式,这当中可能要苦计一番 Specifity 和经常使用 !important 来 override 或 reset 样式。另一个问题是,我们通常都不会第一时间想到最适合的结构和样式,这当中又有没有简单的方法,如 Programming 般做到 Refactoring?