iT邦幫忙

0

Sass/Css Smacss模組化 DAY38

  • 分享至 

  • xImage
  •  

這裡必須先介紹
為什麼我們需要模組化呢?
這裡舉一個例子我們尚未模組化的css

//基本按鈕
.btn{
  display: inline-block;
  width: 40px;  
  height: 30px;
  padding: 10px 0;
  background: #000;
  text-align: center;
  color: #fff;
  text-decoration: none;
}
//紅色按鈕
.btn-red{
  display: inline-block;
  width: 40px;  
  height: 30px;
  padding: 10px 0;
  background: red;
  text-align: center;
  color: #fff;
  text-decoration: none;
}
//大顆按鈕
.btn-large{
  display: inline-block;
  width: 70px;  
  height: 70px;
  padding: 10px 0;
  background: blue;
  text-align: center;
  color: #fff;
  text-decoration: none;
}

CodePen: https://codepen.io/wemyferb/pen/bGeddZY
會發現我們因為要為了某個按鈕樣式
再新增一個 class名稱
但會發現這些按鈕 大部分的樣式很多都一樣(多了很多程式碼)
所以這時候
我們可以利用模組化來改善這個問題


我們來看 Bootstrap 是怎麼模組化的
Bootstrap Button:https://getbootstrap.com/docs/4.5/components/buttons/
來看此例子
https://ithelp.ithome.com.tw/upload/images/20201011/20123039CxyL5zu5sB.jpg

https://ithelp.ithome.com.tw/upload/images/20201011/20123039m3CBlwalQx.jpg
會發現 .btn 它是作為基底(有點像是reset但不太像normalize的reset)
然後以 .btn-primary 作為顏色
https://ithelp.ithome.com.tw/upload/images/20201011/20123039u7N2afa8HR.jpg

上述做法有點像是增加子模組


Smacss HTML標籤優化

方便 HTML 語意化調整 CSS盡量不指定 HTML標籤
在還沒介紹 HTML標籤優化之前
我們都會直接指定 h2 或 ul
如下圖:

.l-grid{
    margin: 0;
}
.l-grid h2{
    color: #000;
}
.l-grid ul{
    float: left;
}

但這樣做其實不太好
我們因為有時後因為要為了 SEO 而有權重
所以改成下圖 會比較好

.l-grid{
    margin: 0;
}
.l-grid-title{
    color: #000;
}
.l-grid-list{
    float: left;
}

權重高:

<h2 class="l-grid-title"></h2>
        <ul class="l-grid list">
            <li></li>
            <li></li>
        </ul>

權重低:

<h3 class="l-grid-title"></h3>
        <ul class="l-grid list">
            <li></li>
            <li></li>
        </ul>

那 Smacss 的介紹就到這裡結束啦
明天將介紹 OOCSS
敬請期待啦~~
若有任何問題 或 內容有誤
請不吝色的告訴我唷/images/emoticon/emoticon07.gif


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言