天天看點

你應該知道的3個強大的CSS功能

你應該知道的3個強大的CSS功能

英文  | https://javascript.plainenglish.io/the-3-powerful-css-grid-functions-that-you-should-know-26748fbe0694

翻譯 | web前端開發

在本文中,我們将學習有關CSS的三個函數,如果你使用過CSS Grid,則對其應該不陌生,如果沒有使用過的,也沒有關系,今天可以正好了解一下。

下面我們開始吧。

1、重複功能

該函數repeat()用于重複網格布局中的列數和行數。

可以在CSS Grid屬性grid-template-columns和中使用此功能grid-template-rows。它還可以嵌套其他功能,例如minmax()和fit-content。

repeat()函數還允許以更緊湊的形式寫入大量的列和行。它包含兩個參數:要重複的次數以及要重複的列大小或行大小。

假設你要建立一個具有6列的網格布局,則可以使用以下文法,來做到這一點:

div { 
display:grid; 
 grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr; 
}      

如你所見,代碼看起來很醜陋,很難編寫。我們可以通過使用repeat()函數來解決此問題。

示例代碼如下:

div { 
display:grid; 
grid-template-columns:repeat(6,1fr) ; 
}      

結果如下:

你應該知道的3個強大的CSS功能

這更容易編寫。例如,如果要建立4行50px的行,可以再次使用repeat( )函數:

div { 
display:grid; 
grid-template-rows:repeat(4,50px) ; 
}      

結果如下:

你應該知道的3個強大的CSS功能

2、最小-最大功能

該功能minmax()定義了最小尺寸和最大尺寸之間的尺寸範圍。如果你調整手機的螢幕尺寸,内容将縮小直到達到最小尺寸為止。如果你調整桌面螢幕的大小,内容将一直延伸到達到最大大小為止。

minmax(200px,1fr); 
minmax(400px,50%); 
minmax(30%,300px);      

CSS Grid屬性grid-template-columns和中也使用此功能grid-template-rows。它有兩個參數:最小大小和最大大小。

假設你要制作一個具有4列的網格布局,并且還希望使用該功能minmax()來拉伸内容并使所有内容具有響應性。将手機螢幕的最小像素為50px,桌面螢幕的最大像素為380px。

看下面的例子:

.container { 
display:grid; 
grid-template-columns:repeat(4,minmax(50px,380px)); 
}      

如上所示,由于需要4列,是以我們使用該函數将函數repeat()重複了minmax()4次。minmax()嵌套在裡面reapeat()。

在小螢幕上輸出的結果如下:

你應該知道的3個強大的CSS功能

在更大螢幕上輸出的結果如下:

你應該知道的3個強大的CSS功能

是以,該功能minmax()允許根據螢幕尺寸來拉伸和縮小内容。

3、适合内容功能

該函數fit-content采用絕對長度或百分比的參數。它用于根據列和行内部的内容自動更改列和行的大小。

該函數fit-content根據以下公式将給定尺寸夾緊為可用尺寸:

最小值(最大大小,最大值(最小大小,參數))
/ *上面的公式等效于:* / 
fit-content(arguments )      

它也可以用作CSS屬性進行使用。

以下為示範示例代碼:

.container { 
display:grid; 
grid-template-columns:fit-content(300px)fit-content(300px) ; 
}      

示範結果如下:

你應該知道的3個強大的CSS功能

當添加了一些内容後,得到的結果如下:

你應該知道的3個強大的CSS功能

如果你覺得很難了解,也可以在MDN文檔中進行檢視。

結論

如果你使用的是CSS Grid,則應了解這些功能。該語言的清單非常龐大。你需要學習更多有用的功能。我建議你多練習,因為這是不斷進步的最佳方法。

最後,感謝你閱讀本文,希望你覺得它對你有用。

本文完〜