91
91
|-- scripts 脚本目录
92
92
|-- styles(Yo) 样式目录
93
93
|-- lib 基础库
94
- |-- core 核心代码:reset
94
+ |-- core 核心代码:reset
95
95
|-- element 元素
96
96
|-- fragment 公用碎片
97
97
|-- layout 布局
148
148
.m-detail-hd { sRules; }
149
149
.m-detail-bd { sRules; }
150
150
.m-detail-ft { sRules; }
151
-
151
+
152
152
> 那么该模块的文件名应该为:` m-detail.css `
153
153
154
154
* CSS页面文件,其文件名必须与HTML文件名一致;
220
220
推荐:
221
221
222
222
<script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>
223
-
223
+
224
224
不推荐:
225
225
226
226
```
366
366
> 规则可参考:
367
367
368
368
> HTML4/XHTML1.0 Strict: [ 嵌套规则] ( http://www.cs.tut.fi/~jkorpela/html/strict.html ) 。
369
- >
369
+ >
370
370
> HTML5: [ 嵌套规则] ( http://www.w3.org/TR/html5/ )
371
- >
371
+ >
372
372
> 举个例子,在HTML5中,a元素同时属于 Flow content, Phrasing content, Interactive content, Palpable content 4个分类,那些子元素是 phrasing 元素的元素可以是 a 的父元素,a 允许的子元素是以它的父元素允许的子元素为准,但不能包含 interactive 元素。
373
373
374
374
<a name =" close-tag " ></a >
473
473
应该:
474
474
475
475
<h1>标题</h1>
476
-
476
+
477
477
> 虽然使用p标签,也可以通过CSS去定义它的外观和标题相同,但p标签本身的并不是表示标题,而是表示文本段落
478
478
479
- > 参阅:[ HTML5 Elements] ( http://www.w3.org/TR/html5/ )
479
+ > 参阅:[ HTML5 Elements] ( http://www.w3.org/TR/html5/ )
480
480
481
481
<a name =" html-module " ></a >
482
482
### 12.模块化
497
497
</div>
498
498
<footer class="m-detail-ft">
499
499
<a href="#" class="more">更多</a>
500
- </footer>
500
+ </footer>
501
501
</section>
502
502
503
503
> 其中 ` .m-detail-hd ` , ` .m-detail-bd ` , ` .m-detail-ft ` 为可选,视具体模块情况决定是否需要抽象为这种 ** 头,中,尾** 的结构
534
534
.topic { sRules; }
535
535
536
536
> ①我们使用中划线 “-” 作为连接字符,而不是下划线 "_ "。
537
- >
537
+ >
538
538
> 我们知道2种方式都有不少支持者,但 "-" 能让你少按一次shift键,并且更符合CSS原生语法,所以我们只选一种目前业内普遍使用的方式
539
539
540
540
<a name =" word " ></a >
560
560
561
561
不推荐:
562
562
563
- navigation => navi
563
+ navigation => navi
564
564
header => head
565
565
description => des
566
566
567
567
推荐:
568
568
569
- navigation => nav
569
+ navigation => nav
570
570
header => hd
571
571
description => desc
572
572
@@ -587,15 +587,15 @@ js-|所有用于纯交互的命名,不涉及任何样式规则。JSer拥有全
587
587
.info { sRules; }
588
588
.current { sRules; }
589
589
.news { sRules; }
590
-
590
+
591
591
> 因为这样将给我们带来不可预知的管理麻烦以及沉重的历史包袱。你永远也不会知道哪些样式名已经被用掉了,如果你是一个新人,你可能会遭遇,你每定义个样式名,都有同名的样式已存在,然后你只能是换样式名或者覆盖规则。
592
592
593
593
推荐:
594
594
595
595
.m-detail .info { sRules; }
596
596
.m-detail .current { sRules; }
597
597
.m-detail .news { sRules; }
598
-
598
+
599
599
> 所有的选择器必须是以 g-, m-, ui- 等有前缀的选择符开头的,意思就是说所有的规则都必须在某个相对的作用域下才生效,尽可能减少全局污染。
600
600
601
601
js- 这种级别的className完全交由JSer自定义,但是命名的规则也可以保持跟重构一致,比如说不能使用拼音之类的
@@ -756,7 +756,7 @@ js- 这种级别的className完全交由JSer自定义,但是命名的规则也
756
756
757
757
* 组概念。
758
758
759
- 拿上例的代码来说,如果我们还需要进行定位及堆叠,规则我们可以改成如下:
759
+ 拿上例的代码来说,如果我们还需要进行定位及堆叠,规则我们可以改成如下:
760
760
761
761
```
762
762
.g-box {
@@ -871,7 +871,7 @@ if条件共包含6种选择方式:是否、大于、大于或等于、小于
871
871
872
872
#doc { sRules; }
873
873
.first { sRules; }
874
-
874
+
875
875
> CSS选择器是由右到左进行解析的,所以 div#doc 本身并不会比 #doc 更快
876
876
877
877
* 避免多id选择器
@@ -881,7 +881,7 @@ if条件共包含6种选择方式:是否、大于、大于或等于、小于
881
881
#xxx #yyy { sRules; }
882
882
883
883
应该:
884
-
884
+
885
885
#yyy { sRules; }
886
886
887
887
<a name =" override " ></a >
@@ -977,30 +977,28 @@ body {
977
977
.m-detail {
978
978
background: #fff;
979
979
color: #333;
980
- @at-root {
981
- &-hd {
982
- padding: 5px 10px;
980
+ &-hd {
981
+ padding: 5px 10px;
982
+ background: #eee;
983
+ .title {
983
984
background: #eee;
984
- .title {
985
- background: #eee;
986
- }
987
985
}
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;
994
992
}
995
- &-ft {
996
- text-align: center;
997
- .more {
998
- color: blue;
999
- }
993
+ }
994
+ &-ft {
995
+ text-align: center;
996
+ .more {
997
+ color: blue;
1000
998
}
1001
999
}
1002
1000
}
1003
-
1001
+
1004
1002
编译之后代码如下:
1005
1003
1006
1004
.m-detail {
@@ -1065,4 +1063,4 @@ body {
1065
1063
1066
1064
一个团队的代码风格如果统一了,首先可以培养良好的协同和编码习惯,其次可以减少无谓的思考,再次可以提升代码质量和可维护性。
1067
1065
1068
- 统一的代码风格,团队内部阅读或编辑代码,将会变得非常轻松,因为所有组员都处在一致思维环境中。
1066
+ 统一的代码风格,团队内部阅读或编辑代码,将会变得非常轻松,因为所有组员都处在一致思维环境中。
0 commit comments