CSS SECRETS 總結(1)

作者:LEA VEROW


  1. 盡量減少代碼重復:當某些值相互依賴時,應該把它們的相互關系用代碼表達出來
font-size:20px;
line-height:1.5;  //而不是 line-height:30px;

除此之外,我們應該多用em,rem或者百分比單位與字體大小或父元素進行關聯(lián)。

  1. 繼承:inherit可以應用在任何CSS屬性上,而且它總是綁定到父元素的計算值(對于偽元素,則會取生成該偽元素的宿主元素)。
.callout{
  position:relative;
  ...
}
.callout::before{
  content:"";
  border:inherit;
  background:inherit;
  ...
}
  1. 相信你的眼睛而不是數(shù)字:視覺錯覺在任何形式的視覺設計中都普遍存在,在網(wǎng)頁設計中也不例外。比如在一個文本容器中指定相同的內(nèi)邊距,我們會看到上下的內(nèi)邊距比左右的大,而實際上它們是相等的。


  2. 關于媒體查詢:媒體查詢不能以一種連續(xù)的方式來修復問題,如果大部分代碼并不是以彈性的方式來編寫的,那么媒體查詢只不過是修補了某個特定分辨率的問題而已——這相當于把灰塵掃到地毯下面。還有,媒體查詢的斷點不應該有具體的設備來決定,而是根據(jù)設計自身來決定。一些方法可以采用來避免不必要的媒體查詢:

  • 使用百分比長度取代固定長度,退而取之也應該嘗試使用vw、vh、vmin和vmax等和視口相關的單位。
  • 在較大分辨率下得到固定寬度,使用max-width比width更好,因為它可以適應較小的分辨率。
  • 為替換元素(img、object、video、iframe等)設置一個max-width:100%。
  • 如果背景圖片需要鋪滿容器,使用background-size:cover就可以了。
  • 進行行列式布局時,應該讓視口的寬度來決定列的數(shù)量,flex可以實現(xiàn)這一點。
  • 使用多列文本時,指定column-width而不是column-count,這樣它就可以在較小的屏幕上自動顯示為單列布局。

總的來說,我們要盡最大努力實現(xiàn)彈性可伸縮的布局,并在媒體查詢的各個斷點區(qū)間內(nèi)指定相應的尺寸。

所以,如果你發(fā)現(xiàn)需要一大堆媒體查詢才能實現(xiàn)你想要的效果,不妨回頭審視一下你的代碼,因為在所有的情況下,響應式都不是唯一需要考慮的問題。

  1. 使用簡寫:合理使用簡寫是一種良好的防衛(wèi)性編碼方式,可以抵御未來的風險。當然,如果我們要明確覆蓋某些值的時候,展開式編寫是必須的。其實,展開式編寫和簡寫的配合可以發(fā)揮出很大的作用。
background:url(xx1.png) no-repeat top right / 2em 2em,
                    url(xx2.png) no-repeat bottom right / 2em 2em,
                    url(xx3.png) no-repeat bottom left / 2em 2em;

我們可以改寫為:

background:url(xx1.png)  top right ,
           url(xx2.png)  bottom right,  
           url(xx3.png)  bottom left;
background-size:2em 2em;
background-repeat:no-repeat;
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 夏風微涼 吹淡縈繞左畔的煙味 腳邊的啤酒醞釀遲來的曖昧 一聲呢喃顛覆所有高傲的準備 一抹笑容定義過往的索然無味 一...
    懶人岳鑫閱讀 303評論 0 0
  • 最近總是糾結,孩子一歲半,婆婆和老公要我斷奶,把孩子送回老家。我呢?我舍不得。 我要把孩子留在身邊,辭職,自己帶孩...
    安安木棉閱讀 142評論 0 0

友情鏈接更多精彩內(nèi)容