關(guān)于響應(yīng)式網(wǎng)頁設(shè)計(jì)的一些思考

盡量減少代碼重復(fù)

對于響應(yīng)式來說,每個(gè)媒體查詢都會增加成本,添加的媒體查詢越多,CSS代碼就會越變得經(jīng)不起折騰,這并不是說媒體查詢就是一種不良實(shí)踐,只要用對了,它就是利器,但是它只應(yīng)該作為最后的手段,媒體查詢不能以一種連續(xù)的方式來修復(fù)問題。它的工作原理基于特定的斷點(diǎn),如果大部分代碼并不是以彈性方式來寫,那么媒體查詢能做的只是修補(bǔ)某個(gè)特定分辨率下的特定問題——這本質(zhì)就是醬灰塵掃到地毯下面而已。
下面幾種方式可以避免不必要的媒體查詢:

  • 使用百分比長度來取代固定長度。
eg:vw、vh、vmin、vmax
  • 當(dāng)需要在較大分辨率下得到固定寬度時(shí),使用max-width而不是width。
    不要忘記為替換元素(比如 img object video iframe等)設(shè)置一個(gè)max-width
    ,值為100%

  • 加入背景圖片需要完整地鋪滿一個(gè)容器,不管容器的尺寸如何變化。
    background-size: cover

  • 當(dāng)圖片或其他元素以行列式進(jìn)行布局時(shí),讓視口的寬度來決定列的數(shù)量。
    Flexbox或者display: inline-block

  • 在使用多列文本時(shí),指定column-width
    (列寬)而不是指定column-count(列數(shù))。

合理使用簡寫

以下兩行代碼并不是等價(jià)的:

background: rebeccapurple;
background-color: rebeccapurple;

前者得到純色背景,
后者只是單個(gè)屬性,可能存在其他比如background-image聲明。
展開式屬性與簡寫屬性配合使用可以讓代碼更加的DRY。

我應(yīng)該使用預(yù)處理器嗎

Stylus,Sass,Less如果使用得當(dāng),它們會在大型項(xiàng)目中可以讓代碼更加靈活
下面變量的玩法預(yù)處理器無法做到:

ul { --accent-color: purple; }
ol { --accent-color: rebeccapurple; }
li { background: var(--accent-color); }

在引入預(yù)處理器的問題上需冷靜決策,避免依賴和濫用。
?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 盡量減少代碼重復(fù) 在軟件開發(fā)中,保持代碼的DRY 和可維護(hù)性是最大的挑戰(zhàn)之一,而這句話對CSS 也是適用的。在實(shí)踐...
    圖靈教育閱讀 1,281評論 0 14
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 2,119評論 0 2
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,438評論 0 11
  • 筆記參考自《響應(yīng)式Web設(shè)計(jì):HTML5和CSS3實(shí)踐》,2013年出版內(nèi)容說不上最新。如下是全書的章的目錄:第 ...
    于曉魚閱讀 1,071評論 0 1
  • 我還記得國外某位大牛在一篇文章中寫道,CSS is fine, it's just really hard。讀完他...
    garble閱讀 1,202評論 0 0

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