9191 |-- scripts 脚本目录
9292 |-- styles(Yo) 样式目录
9393 |-- lib 基础库
94- |-- core 核心代码:reset
94+ |-- core 核心代码:reset
9595 |-- element 元素
9696 |-- fragment 公用碎片
9797 |-- layout 布局
148148 .m-detail-hd { sRules; }
149149 .m-detail-bd { sRules; }
150150 .m-detail-ft { sRules; }
151-
151+
152152> 那么该模块的文件名应该为:` m-detail.css `
153153
154154* CSS页面文件,其文件名必须与HTML文件名一致;
220220推荐:
221221
222222 <script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>
223-
223+
224224不推荐:
225225
226226```
366366> 规则可参考:
367367
368368> HTML4/XHTML1.0 Strict: [ 嵌套规则] ( http://www.cs.tut.fi/~jkorpela/html/strict.html ) 。
369- >
369+ >
370370> HTML5: [ 嵌套规则] ( http://www.w3.org/TR/html5/ )
371- >
371+ >
372372> 举个例子,在HTML5中,a元素同时属于 Flow content, Phrasing content, Interactive content, Palpable content 4个分类,那些子元素是 phrasing 元素的元素可以是 a 的父元素,a 允许的子元素是以它的父元素允许的子元素为准,但不能包含 interactive 元素。
373373
374374<a name =" close-tag " ></a >
473473应该:
474474
475475 <h1>标题</h1>
476-
476+
477477> 虽然使用p标签,也可以通过CSS去定义它的外观和标题相同,但p标签本身的并不是表示标题,而是表示文本段落
478478
479- > 参阅:[ HTML5 Elements] ( http://www.w3.org/TR/html5/ )
479+ > 参阅:[ HTML5 Elements] ( http://www.w3.org/TR/html5/ )
480480
481481<a name =" html-module " ></a >
482482### 12.模块化
497497 </div>
498498 <footer class="m-detail-ft">
499499 <a href="#" class="more">更多</a>
500- </footer>
500+ </footer>
501501 </section>
502502
503503> 其中 ` .m-detail-hd ` , ` .m-detail-bd ` , ` .m-detail-ft ` 为可选,视具体模块情况决定是否需要抽象为这种 ** 头,中,尾** 的结构
534534 .topic { sRules; }
535535
536536> ①我们使用中划线 “-” 作为连接字符,而不是下划线 "_ "。
537- >
537+ >
538538> 我们知道2种方式都有不少支持者,但 "-" 能让你少按一次shift键,并且更符合CSS原生语法,所以我们只选一种目前业内普遍使用的方式
539539
540540<a name =" word " ></a >
560560
561561不推荐:
562562
563- navigation => navi
563+ navigation => navi
564564 header => head
565565 description => des
566566
567567推荐:
568568
569- navigation => nav
569+ navigation => nav
570570 header => hd
571571 description => desc
572572
@@ -587,15 +587,15 @@ js-|所有用于纯交互的命名,不涉及任何样式规则。JSer拥有全
587587 .info { sRules; }
588588 .current { sRules; }
589589 .news { sRules; }
590-
590+
591591> 因为这样将给我们带来不可预知的管理麻烦以及沉重的历史包袱。你永远也不会知道哪些样式名已经被用掉了,如果你是一个新人,你可能会遭遇,你每定义个样式名,都有同名的样式已存在,然后你只能是换样式名或者覆盖规则。
592592
593593推荐:
594594
595595 .m-detail .info { sRules; }
596596 .m-detail .current { sRules; }
597597 .m-detail .news { sRules; }
598-
598+
599599> 所有的选择器必须是以 g-, m-, ui- 等有前缀的选择符开头的,意思就是说所有的规则都必须在某个相对的作用域下才生效,尽可能减少全局污染。
600600
601601js- 这种级别的className完全交由JSer自定义,但是命名的规则也可以保持跟重构一致,比如说不能使用拼音之类的
@@ -756,7 +756,7 @@ js- 这种级别的className完全交由JSer自定义,但是命名的规则也
756756
757757* 组概念。
758758
759- 拿上例的代码来说,如果我们还需要进行定位及堆叠,规则我们可以改成如下:
759+ 拿上例的代码来说,如果我们还需要进行定位及堆叠,规则我们可以改成如下:
760760
761761```
762762.g-box {
@@ -871,7 +871,7 @@ if条件共包含6种选择方式:是否、大于、大于或等于、小于
871871
872872 #doc { sRules; }
873873 .first { sRules; }
874-
874+
875875> CSS选择器是由右到左进行解析的,所以 div#doc 本身并不会比 #doc 更快
876876
877877* 避免多id选择器
@@ -881,7 +881,7 @@ if条件共包含6种选择方式:是否、大于、大于或等于、小于
881881 #xxx #yyy { sRules; }
882882
883883应该:
884-
884+
885885 #yyy { sRules; }
886886
887887<a name =" override " ></a >
@@ -977,30 +977,28 @@ body {
977977 .m-detail {
978978 background: #fff;
979979 color: #333;
980- @at-root {
981- &-hd {
982- padding: 5px 10px;
980+ &-hd {
981+ padding: 5px 10px;
982+ background: #eee;
983+ .title {
983984 background: #eee;
984- .title {
985- background: #eee;
986- }
987985 }
988- &-bd {
989- padding: 10px;
990- .info {
991- font-size: 14px;
992- text-indent: 2em ;
993- }
986+ }
987+ &-bd {
988+ padding: 10px;
989+ .info {
990+ font-size: 14px ;
991+ text-indent: 2em;
994992 }
995- &-ft {
996- text-align: center;
997- .more {
998- color: blue;
999- }
993+ }
994+ &-ft {
995+ text-align: center;
996+ .more {
997+ color: blue;
1000998 }
1001999 }
10021000 }
1003-
1001+
10041002编译之后代码如下:
10051003
10061004 .m-detail {
@@ -1065,4 +1063,4 @@ body {
10651063
10661064一个团队的代码风格如果统一了,首先可以培养良好的协同和编码习惯,其次可以减少无谓的思考,再次可以提升代码质量和可维护性。
10671065
1068- 统一的代码风格,团队内部阅读或编辑代码,将会变得非常轻松,因为所有组员都处在一致思维环境中。
1066+ 统一的代码风格,团队内部阅读或编辑代码,将会变得非常轻松,因为所有组员都处在一致思维环境中。
0 commit comments