iT邦幫忙

DAY 33
8

30天掌握Sass語法系列 第 29

Sass開發流程設計 - (3) 網頁排版流程(上)

延續第二章,
我們就開始排網頁了。
由於一天時間有限,
所以分上下兩集來播放與解說。

你可以從影片內容可以發現到,
一個網頁設計在排版時,
在一邊進行前端設計時,
也不時會尋找相關資料,
進以藉由專案逐步提升寫code能力。

1.00:00秒
由於剛建立的Sass專案沒有html檔案,
所以我先建立index.html,
並用emmet來寫前半部html。

2.01:33秒
我習慣把內容貼在記事本上,
再一一貼到HTML。
表頭的部分通常都是看細節內容來決定要用相對定位絕對定位來排版,
或者是用float排版。
這部分則是看專案內容而定,
而這次排版我則全都用相對與絕對定位來排。
如果是用float的話,
logo則靠左,
右上角社群列與選單置右,
社群列再margin-bottom來和選單產生間距。
影片請用720P+全螢幕高清瀏覽:

3.02:40秒
發現好像沒有吃到CSS設定,
原來是我的HTML的CSS路徑前面忘了加上CSS,
也就是css/default.css

4.03:32秒
使用了第30天分享到的FastStone工具,
來去量測元素間的間距。

5.04:00秒
image-url()的方式,
可以讓你直接指定到資料夾位置,
這樣不用每次background都必須加類似../images/圖片檔名
並使用了熱建Ctrl+k b瀏覽圖片名稱是否無誤

6.04:30秒
因為必須時常去搜尋圖片的寬高,
所以去找了第19天的可以自動計算圖片寬高的語法,
並放到 _mixin.sass資料夾。

@mixin bg($img)   
  background: url("../images/#{$img}")  
  width: image-width("../images/#{$img}")  
  height: image-height("../images/#{$img}")  

7.07:20秒~08:20秒
因圖片路徑寫錯,
所以花了些時間找問題

8.09:35秒
全域變數開始起功用了,
只要我打上$text-color與$hot-color後,
之後我就不用再一直打冗長且都記不住的顏色碼了。

9.12:20秒
因為裡面的東西我打算用float排版,
所以外框則寫了clearfix設定。

10.13:19秒
運算功能也起了作用,
因我不想去計算,
所以我直接用全域整體寬度扣掉左邊,
自然就會變成右邊的寬度。

width: $width - 640px

11.15:28秒
因為右邊我寫死了寬度,
但裡面的東西我想要用padding推,
但如果塊狀寫死寬度的話,
再加上padding會使得div的寬度受影響。
所以google是否有 sass box-sizing的border-box,
後來發現Compass CSS3 Mixin內建就有了。

+box-sizing(border-box)

12.20:20秒
檢查了下有那些東西我時常會去修改的相同設定,
後來發現行距可以當作全域,
所以新增到變數的Sass檔案去。

13.21:18秒
最後打開編譯出來的CSS檔案,
看看有無問題。


上一篇
Sass開發流程設計 - (2) Sass結構規劃、全域變數設定
下一篇
Sass開發流程設計 - (4) 排版流程(下)
系列文
30天掌握Sass語法41

2 則留言

0
cheery0678
iT邦新手 5 級 ‧ 2014-12-05 10:21:08

不知大大可否配音,不然動作太快對初學者來說真的看不懂啊~拜託拜託哭

0
zekixfly
iT邦新手 5 級 ‧ 2014-12-09 15:24:26

這邊發現一件很重要的事
就是第5點image-url('bg.png')
照著教學內容打完之後沒有顯示背景圖,這是編譯出的CSS
background: url('/images/bg.jpg?1417702365');

後來上google找問題
找到compass.app(http://compass.kkbox.com/doc/getting\_started\_with\_compassapp-tw.html)

然後發現在config.rb裡面
#relative_assets = true 這個註解#拿掉變成相對路徑就可以了。
後來編譯出的CSS是這樣
background: url('../images/bg.jpg?1417702365');');

我的問題是為什麼用絕對路徑會找不到呢?

我的資料夾結構因該沒有錯吧?
index.html
config.rb
images(資料夾)
├bg.jpg
├banner.png
├logo.png
├fb.jpg
└...
sass(資料夾)
├_extend.sass
├_index.sass
├_mixin.sass
├_reset.sass
├_variable.sass
└default.sass
css(資料夾)
└default.css

阿,突然想通了! 前輩的images資料夾是放在css資料夾裡面對吧? 所以可以直接用絕對路徑!
而我images跟css的資料夾是同層所以需要使用相對路徑。

我要留言

立即登入留言