1、面向對象CSS(OOCSSS)web
OOCSS規則一:結構和皮膚分離spa
如.btn , .btn-info ,.btn-warningcode
.btn {
display: inline-block;
margin-bottom: 0;
font-weight: normal;
text-align: center;
vertical-align: middle;
-ms-touch-action: manipulation;
touch-action: manipulation;
cursor: pointer;
background-image: none;
border: 1px solid transparent;
white-space: nowrap;
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857143;
border-radius: 4px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.btn-info {
color: #ffffff;
background-color: #5bc0de;
border-color: #46b8da;
}
.btn-warning {
color: #ffffff;
background-color: #f0ad4e;
border-color: #eea236;
}
OOCSS規則二:容器和內容分離(不推薦)orm
.header .btn{
display: inline-block;
margin-bottom: 0;
}
2、單一職責原則對象
(1)、儘量拆分紅可獨立複用的組件blog
(2)、經過組合方式使用多個組件ip
實現:能夠像面向對象CSS那樣實現按鈕(btn)、分頁等小組件。it
3、開閉原則io
(1)對擴展開放class
(2)對修改關閉
.box{
display: block;
padding: 10px;
}
/*很差的寫法*/
.content .box{
padding: 20px;
}
/*較好的寫法 擴展*/
.box-large{
padding: 20px;
}
4、命名原則
(1)優先使用基於功能的命名(如btn)
(2)基於內容的命名(如header-content)