2014年8月24日 星期日

Day3 // 學習CSS版面配置

(Day3了,很好!(握拳!)

文章出處:
http://zh-tw.learnlayout.com/

很高興由前端大神 Will保哥 翻譯的一篇文章~~
這篇對於初入html,css開始寫網頁的設計師們很有幫助(以前我自學時都沒有...)
而且還追加說明了很多css3新奇的功能
簡直就是替現在作網頁設計的人解決了好多問題(box model阿...column阿...flex box阿...這些新的屬性在過去都沒有,都需要"經驗"才能獲知解決方案...)

總而言之,針對這篇文我想補充幾點~
依過去我的經驗作幾點分享(好像我是個老人似的....)

Display&Flaot

我幾乎都是使用float來作版面配置,而不使用display來作的原因有二
因為display有跨瀏覽器標準的議題(IE大魔王),容易產生誤差,變的需要那邊寫一點hack這邊寫一點hack

而容易解決的方案就是float,瀏覽器沒什麼相關誤差,完美呈現(只要你對flaot很熟悉)!相關diaply議題可以參考這裡這裡還有我曾經寫過的文章
當然也不是沒解,只是會有點傷腦筋,除非我必須要使用瀑布流排版或是我很確定不支援哪些瀏覽器時我才會使用display,或有時使用display只是用來做某一區塊內的layout才作
也許有人會說可以使用一些css framework來作...熟不知...有時候客戶出的版面可不是只是用framework就能解決的....

總之,我自認為沒有切不出的版,什麼視覺版面來我絕對切得出來,用不用framework我倒是沒什麼意見,好用就用囉

再來float在排版時都要去clear float,但只要你能"確定父層元素"的高,然後float內容不超過高度,你就可以不用清除囉,不過這牽扯到html結構上的排版,不太好解釋....不過也有人說那不是通則,所以也不是多好的撇步...

Clear

一般clear用來清除浮動的效果,而網路上很多神人寫出了clearfix hack來完美清除,而且我也用了好多年,方法就是使用偽元素:after加一個clear:both,其他還必須加content:"";,但我最近改用overfloat:hidden了(也可以auto),而且效果一樣,語法可是節省很多

不過依據我的經驗,並不是完美可解,因為如果你需要在一個有高度數值的div內容設定overfloat:hidden的話,就會爆爆爆...不過我忘了我那時遇到的問題是什麼了(好不負責),那時候就會使用clearfix,依照判斷在去取捨

Box model

上一篇文章有稍微提到過(真的只是提到而已)
文章中,他提醒你使用margin跟padding的問題
而我依據自己經驗的解釋來提供理解
假如要設定500x500正方形的div,還需要有上下左右20px的padding內距
那就可以這樣算:500的div寬=500-20(左邊距)+20(右邊距)=設定寬460
高度同理
會影響到box model的還有border-width,等於會直接加上你設定的寬度
例如你上面減掉padding後得到了460寬,但你想要在加上10px的邊框,那麼你就要在將你的寬度減掉20,才會等於你心目中有內距、有邊框,然後總共500寬的div
但!!是!! 你只要設定了box-size:border-box,以上問題一勞永逸,但還是有跨瀏覽器議題...

Margin

margin有時候會影響到父元素,尤其是在往上頂的時候,會連父元素一起頂,我自己也還沒找到原因,通常我就不設定子元素的margin-top,而是去設定父元素的padding-top
我後來想想我自己做的時候,要頂的時候都是margin-bottom而已,還真的比較少用top
另外margin可以設定負值(padding不可設定負值),很多人利用他來作lightbox的垂直左右居中(前提是必須設定寬高)
千萬不用使用負值來排版,看過幾個案例,真的很慘...

Flexbox

這個是我認為最棒的屬性喔喔喔喔喔~~~
如果以後都能支援他多棒阿,頁面一下子就咻咻休切完囉~~~
期待他能夠普及化,目前還是有跨瀏覽器的議題存在....
根本就完勝float跟display(排版而言)

(其實我覺得那篇文章根本不是初學者阿~~)



2014年8月23日 星期六

Day-2 // 10件你不知道css能做的事...

第二篇了....


文章出處是:
http://www.realcombiz.com/2014/05/css-techniques-developers-should-know.html

這次看的文章呢是從fb前端粉絲團看來的文章(其實多半都是從FB看來滴)
雖然是英文但基本的還是認得幾個
起碼css 方面的都看得懂
不過想叫我整篇翻譯應該是不太可能(英文程度低落...設計師的通病..)

首先先簡介一下這10個功能(搭配著原著文章看可能比較對照得起來)

1是告訴邊框屬性可以分別設定,顏色、樣式、寬度等等
2是說css3多了一些背景的屬性還有box model(什麼是box model)
3是說css name可以用符合命名(這好瞎~~哈哈但我喜翻)
4是說邊框的寬可以用thin, medium, 和 thick(細、中等、粗)關鍵字命名,話說平常都是用單位(px,pt,em...etc)
5是說可以替下滑線設定樣式、顏色
6是可以設定Pointers events(老實說我還真的不知道有這個)長知識1 長知識2
7是可以設定邊框為圖片
8可設定table td的隱藏與出現
9就很普通了,就是用關鍵字設定顏色:yello,white之類的
10就很不錯了,重點在說明使用css3來作選單滑入滑出的效果,一般我們做菜單都用jQuery來slideDown跟slideUp,這個則是純css而且還吃GPU圖形加速,手機觀看就會很滑順


說到底...其實很多都是css3的功能,而且能實戰的不多(應該說也沒什麼必要)
2與10應該是收穫最大的點,6也不錯,但還不知道能應用在哪裡

我發覺我有寫跟沒寫一樣,好沒營養
不過這也只是想記錄我自己看完之後吸收的程度
起碼我看完之後在寫下這篇
能加強自己的印象
而且還能因為內容不懂,自己在去google而發覺的額外知識
如果各位不小心有看到我的文章
強烈建議各位去看原文出處喔

但想交換心得也是可以的喔~~

以後應該還是有機會寫一篇實作與比較詳解的文吧吧吧吧...(小聲)

2014年8月22日 星期五

自我挑戰每天閱讀一篇文章與寫一篇文章30天之Day 1

咳...

我開始發現我的網頁的分頁數目越來越多
很多都是想要先開起來閱讀的技術文章與很前衛的網路工具
每天都心想說哪天要來好好的讀一下或是來玩一下新工具
(但為什麼每天都有資訊可以開~~)

BUT!

這就是分頁越來越多的原因!
因為我根本沒仔細專心看啊!
而且大多都先去申請一次後根本沒再繼續用
或是存到書籤去了!!!(好沒效率)
後來就不了了之
難道真的要等到哪天chrome死當掉然後分頁全部掛點無法回復才有辦法將分頁一頁一頁關閉

於是

今天不知哪根筋斷了,想要做這樣的挑戰

可能又變孤身一人所以時間多了吧

總之!!

Day1 開始!!

今日有閱讀到的資訊是:如何使用sass控管好你的z-index圖層

文章出處:
http://blog.mukispace.com/sass-z-index-management/
http://www.smashingmagazine.com/2014/06/12/sassy-z-index-management-for-complex-layouts/
http://css-tricks.com/handling-z-index/

方法大概有三種
基本上就採用一種就好
看自己方便

我自己今天實驗是採用了Muki的文章方式,應該是跟第二篇文章一樣
控管起來實在不錯
而且調整方便
自己的經驗是的確有時候會接到一些需要跑一堆動畫的案子
這時就會有一堆物件飛來咻去
如果沒有使用這個方法
那誰前誰後就會調到懶趴痛
以前都是看到誰壓到誰才去調整
實在是太北爛了~~
所以有個主控的方法就是一件很重要的事囉


自己這邊就沒有再多做語法的解釋跟實做了
看以上的文章也許會比我寫得更清楚了解


以上。

希望我挑戰期間分頁數目可以越來越少....