精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

有趣的 CSS 數學函數,你學會了嗎?

開發 前端
??min()?? 的實際用途:以包含元素響應上下文的方式,在最大允許值上設置邊界。盡管是 ??min()?? 函數,但結果是提供的值將作為屬性允許的最大值。

CSS 數學函數允許在 CSS 屬性值中執行數學表達式。CSS 數學函數僅支持加法(+)、減法(-)、乘法(*)、除法(/)。目前在 CSS 中有四個得到很好支持的數學函數:

  • min():該函數允許你從逗號分隔符表達式中選擇一個最小值作為 CSS 的屬性值;
  • max():該函數可以從一個逗號分隔的表達式列表中選擇最大(正方向)的值作為屬性的值;
  • calc():該函數允許在聲明 CSS 屬性值時執行一些計算;
  • clamp():該函數的作用是把一個值限制在一個上限和下限之間,當這個值超過最小值和最大值的范圍時,在最小值和最大值之間選擇一個值使用。它接收三個參數:最小值、首選值、最大值。

這些 CSS 函數可能會以意想不到的方式使用,例如在漸變和顏色函數中以及與 CSS 自定義屬性結合使用。下面就來看看這 4 個 CSS 函數!

1. calc()

基本使用

calc() 函數有助于在 CSS 屬性值中執行計算。它可以用在如下屬性中:length、frequency、angle、time、percentage、number、integer。

width: calc(100% - 80px);

calc() 函數用一個表達式作為它的參數,用這個表達式的結果作為值。這個表達式可以是任何如下操作符的組合(+、-、*、/),采用標準操作符處理法則的簡單表達式。表達式中的運算對象可以使用任意長度的值。如果你愿意,甚至可以在一個表達式中混用這類值的不同單位。在需要時,還可以使用小括號來建立計算順序。

該函數具有廣泛的用途,例如,如果希望某些內容占據大部分視口高度。這時就可以使用相對的單位vh和絕對單位px進行混合計算:

.content {
  height: calc(100vh - 60px);
}

當視口大小發生變化或者用戶使用較大或較小的設備時,100vh的值將動態更新,因此計算也將動態更新。使用calc() 的好處在于,它既可以避免添加一些 magic number,也可以避免使用 JavaScript 來計算樣式的屬性值。

生成調色板

我們可以通過傳入CSS自定義屬性來擴展 calc() 的功能。一個非常有用的例子就是使用 hsl() (表示色調、飽和度和亮度)來創建一致的調色板。給定飽和度、亮度和起始色調的值,就可以使用 calc() 函數計算互補值來構建完整的調色板。

.colors {
  --base-hue: 140;
  --saturation: 95%;
  --lightness: 80%;
  --rotation: 60;

  color: #222;
  text-align: center;
}

.color {
  padding: 0.25rem;
  background-color: hsl(var(--hue), var(--saturation), var(--lightness));
}

.color1 {
  --hue: calc(var(--base-hue));
}

.color2 {
  --hue: calc(var(--base-hue) + var(--rotation));
}

.color3 {
  --hue: calc(var(--base-hue) + var(--rotation) * 2);
}

生成的調色板:

圖片圖片

注意事項

在使用 calc() 函數時需要注意:

  • + 和 - 運算符的兩邊必須要有空白字符。 比如,calc(50% -8px) 會被解析成為一個無效的表達式,解析結果是:一個百分比 后跟一個負數長度值。而加有空白字符的、有效的表達式 calc(8px + -50%)會被解析成為:一個長度 后跟一個加號 再跟一個負百分比。
  • 和 / 這兩個運算符前后不需要空白字符,但如果考慮到統一性,仍然推薦加上空白符。
  • 用 0 作除數會使 HTML 解析器拋出異常。
  • 涉及自動布局和固定布局的表格中的表列、表列組、表行、表行組和表單元格的寬度和高度百分比的數學表達式,auto 可視為已指定。
  • calc() 函數支持嵌套,但支持的方式是:把被嵌套的 calc() 函數全當成普通的括號。所以,函數內直接用括號就好了。

2. clamp()

基本使用

clamp() 的實際用途:在可接受的值范圍內設置邊界。clamp() 被用在 length、frequency、angle、time、percentage、number、integer 屬性中。其語法如下:

clamp(MIN, VAL, MAX)

clamp(MIN, VAL, MAX) 其實就是表示 max(MIN, min(VAL, MAX))。clamp() 函數接收三個用逗號分隔的表達式作為參數,按最小值、首選值、最大值的順序排列,這三個值得順序很重要。

  • 當首選值比最小值要小時,則使用最小值。
  • 當首選值介于最小值和最大值之間時,用首選值。
  • 當首選值比最大值要大時,則使用最大值。

這個表達式可以是數學函數、字面量或其它計算為有效的參數類型表達式,如 attr(),或嵌套的 min 和 max 。作為數學表達式,可以使用加減乘除運算而無需使用 calc() 函數。也可以用括號來確定計算順序。表達式中的每一個值都可以用不同的單位。

來看下面的例子:

.element {
  width: clamp(200px, 50%, 1000px);
}

有一個元素,其最小寬度為200px,首選值為50%,最大值為1000px。

圖片圖片

這個元素的寬度永遠不會低于200px,首選值是50%并且僅在視口寬度大于400px和小于2000px 時才有效,寬度不會超過1000px。

那 clamp() 是如何計算的呢?當 clamp() 用作值時,它等同于使用max()和min()函數:

.element {
  width: clamp(200px, 50%, 1000px);
  width: max(200px, min(50%, 1000px));
}

這里的50%取決于瀏覽器視口寬度,假設視口寬度為1150px,解析的過程如下:

1. width: max(200px, min(50%, 1000px));
2. width: max(200px, min(575px, 1000px));
3. width: max(200px, 575px);
4. width: 575px;

字體大小

圖片圖片

假設需要要一個最小為16px,最大為50px的標題。clamp()函數將給出一個介于兩者之間的值,而不會低于最小值或超過最大值。

.title {
  font-size: clamp(16px, 5vw, 50px);
}

在這里使用clamp() 就非常完美,因為它可以確保使用的字體大小易于訪問和閱讀。如果要使用 min() 設置最大字體,就無法在小視口中控制字體。

.title {
  font-size: min(3vw, 24px); 
}

圖片圖片

在移動視口中,字體很小。因此,不要只對字體大小使 min() 函數。當然,也可以通過媒體查詢來取消或添加它。正如上面所說的,可以在 max() 函數中嵌套一個 min(),這將模擬clamp()函數:

.title {
  font-size: max(16px, min(10vw, 50px));
}

邊框和陰影

有時需要邊框寬度和半徑應該在移動設備上更小,通過使用 clamp() 就可以根據視口寬度來使它們動態變化。

.element {
  box-shadow: 0 3px 10px 0 red;
  border: min(1vw, 10px) solid #468eef;
  border-radius: clamp(7px, 2vw, 20px);
  box-shadow: 0 3px clamp(5px, 4vw, 50px) 0 rgba(0, 0, 0, 0.2);
}

圖片圖片

圖片圖片

Grid 間隙

當使用 CSS Grid 布局時設置網格間隙,并且希望為移動視口縮小間隙。就可以使用 clamp():

.wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  grid-gap: clamp(1rem, 2vw, 24px);
}

圖片圖片

注意事項

  • 允許設置表達式的值為 max() 和 min() 。這些表達式是數學表達式,所以你可以進行加減乘除運算。
  • 表達式可以是使用標準運算符優先規則組合  + 、- 、* 、/ 等運算符的值,確保在 + 、- 兩側各有一個空格。表達式中的操作數可以是長度值??梢越o每一個值設置不同的單位。還可以用括號來確定計算順序。

3. min()

基本使用

min() 函數方法接受一個或多個用逗號分隔的表達式作為他的參數,數值最小的表達式的值將會作為指定的屬性的值。

min() 的實際用途:以包含元素響應上下文的方式,在最大允許值上設置邊界。盡管是 min() 函數,但結果是提供的值將作為屬性允許的最大值。

下面來看一個簡單的例子,希望元素的最大寬度為500px:

.element {
  width: min(50%, 500px);
}

圖片圖片

瀏覽器必須選擇最小的值(50%,500px)。選擇該選項取決于視口寬度。如果50%的計算值大于500px,那么它將被忽略,而使用500px。否則,如果50%的計算值小于500px,則50%將用作寬度值。視口寬度為1000px:

圖片圖片

容器寬度

圖片圖片

有一個容器的寬度是其父級寬度的80%,并且寬度不應超過780px,那么該如何寫:

.container {
  max-width: 780px;
  width: 80%;
}

如果使用 min() 函數,就可以這樣設置最大值,代碼簡潔了很多:

.container {
  max-width: min(80%, 780px);
}

平滑漸變

在 CSS 中使用漸變時,可能需要通過使顏色之間的過渡更平滑一些來針對移動設備進行一些調整。來看一個例子:

.element {
  background: linear-gradient(135deg, #2c3e50, #2c3e50 60%, #3498db);
}

圖片在移動設備中,這個顏色漸變就會有一條分割線,不是很好看??梢酝ㄟ^媒體查詢來解決這個問題:

@media (max-width: 700px) {
  .element {
    background: linear-gradient(135deg, #2c3e50, #2c3e50 25%, #3498db);
  }
}

雖然這樣是可行的,但我們可以使用CSS 中的 min() 函數使這個顏色漸變更加動態:

.element {
  background: linear-gradient(135deg, #2c3e50, #2c3e50 min(20vw, 60%), #3498db);
}

這樣顏色漸變就看起來順滑了很多:

圖片圖片

注意事項

  • 表達式中的操作數可以是任何長度值。表達式中的每個值可以使用不同的單位。必要時,還可以使用括號來確定計算順序。
  • 通常需要組合 min()和 max()的值,或者在 clamp() 或 calc() 函數中使用 min()。
  • 如果需要應用多個長度約束,則可以提供兩個以上的參數。

4. max()

基本使用

max() 函數方法接受一個或多個用逗號分隔的表達式作為他的參數,數值最大的表達式的值將會作為指定的屬性的值。

max() 的實際用途:以包含元素響應上下文的方式,在最小允許值上設置邊界。

下面來看一個簡單的例子,通常,頁面的側邊欄有一個固定的寬度,而主寬度是靈活大小的。如果視口足夠大,可以使側邊欄更具動態性以占用更多空間。為此,需要使用 max() 函數為其設置最小寬度。

.wrapper {
  display: flex;
}

aside {
  flex-basis: max(30vw, 150px);
}

main {
  flex-grow: 1;
}

側邊欄的最小寬度為150px,如果視口寬度大于500px(500*30%=150),則最小寬度為30vw。

責任編輯:武曉燕 來源: 前端充電寶
相關推薦

2022-07-08 09:27:48

CSSIFC模型

2023-02-24 08:32:50

CSS漸變屬性

2022-10-09 09:30:33

CSS瀏覽器十六進制

2022-05-06 09:00:56

CSS元素Flex

2022-10-27 09:13:58

CSSGradient

2023-04-27 08:42:50

效果

2023-03-13 08:47:06

CSS數學函數

2023-08-22 10:25:19

CSS動畫網頁

2024-01-19 08:25:38

死鎖Java通信

2023-01-10 08:43:15

定義DDD架構

2024-02-04 00:00:00

Effect數據組件

2023-07-26 13:11:21

ChatGPT平臺工具

2024-02-02 11:03:11

React數據Ref

2022-04-01 09:02:19

CSS選擇器HTML

2024-05-30 09:43:00

2022-11-03 08:16:33

MySQL·窗口函數

2024-01-02 12:05:26

Java并發編程

2023-08-01 12:51:18

WebGPT機器學習模型

2022-03-30 09:01:37

CSS屬性函數

2022-12-06 08:37:43

點贊
收藏

51CTO技術棧公眾號

成人另类视频| 91综合免费在线| 视频一区亚洲| 免费在线观看黄色av| 久草视频在线看| 综合激情五月婷婷| 国产精品乱人伦中文| 欧美激情三级免费| 岛国av免费在线| 久久久久久久久亚洲精品| 亚洲一本视频| 日韩欧美国产综合一区| 亚洲在线色站| 无码人妻丰满熟妇区五十路| 开心激情综合| 亚洲一二三区不卡| 99久久精品久久久久久ai换脸| 纪美影视在线观看电视版使用方法| sm捆绑调教国产免费网站在线观看| 国产毛片精品一区| 久久视频在线播放| 在线视频观看一区二区| 免费a级毛片在线播放| 日本成人中文字幕| 亚洲一二在线观看| 欧洲熟妇精品视频| 每日更新av在线播放| 精品一区二区三区免费| 日韩中文综合网| 天天爽人人爽夜夜爽| 狠狠狠综合7777久夜色撩人| 国产乱码精品一区二区三区忘忧草 | 国产精品高潮粉嫩av| 国产又爽又黄无码无遮挡在线观看| a级片在线免费观看| 大白屁股一区二区视频| 久久久亚洲国产| 人妖粗暴刺激videos呻吟| av在线视屏| 亚洲精品乱码久久久久久久久 | 欧美激情一区二区三区不卡| 国产成人jvid在线播放| 久久丫精品国产亚洲av不卡 | 国产日韩欧美亚洲一区| 日本少妇性高潮| 色吊丝一区二区| 色又黄又爽网站www久久| 日本精品一区二区| 亚洲一区在线观| 欧美日韩hd| 日韩精品极品毛片系列视频| 国产精品无码av无码| h片在线观看| 一区二区在线电影| 黄色录像特级片| 无码精品人妻一区二区三区影院| 久久久久久自在自线| 日韩色av导航| 精品熟妇无码av免费久久| 国产精品探花在线观看| 91精品在线免费| 日日碰狠狠添天天爽超碰97| av资源种子在线观看| 国产成人亚洲综合a∨婷婷| 97视频国产在线| 99自拍偷拍视频| 农村少妇一区二区三区四区五区 | 国产拍揄自揄精品视频麻豆| 欧美日韩一区二区三| 一级黄色片免费| 亚洲毛片在线| 久久这里只有精品视频首页| 激情高潮到大叫狂喷水| 白嫩白嫩国产精品| 亚洲国产高清自拍| 国产成年人视频网站| 欧美另类videosbestsex日本| 国产第一页第二页| 欧美色婷婷久久99精品红桃| 日韩欧美国产一区在线观看| 69久久精品无码一区二区| 黄色成人免费网| 有坂深雪av一区二区精品| 伊人再见免费在线观看高清版| 国产天堂在线播放视频| 国产精品久久久久久久久图文区 | 亚洲一区网址| 精品一区二区三区电影| 1314成人网| 久久久成人av毛片免费观看| 亚洲国产欧美日韩另类综合| 一级特黄录像免费播放全99| 国产在线观看免费麻豆| 91色综合久久久久婷婷| 国产免费一区二区三区| 日韩美女一级视频| 北岛玲一区二区三区四区| 亚洲aⅴ日韩av电影在线观看| 成人av手机在线| 国产揄拍国内精品对白| 国产精品一区二区女厕厕| 欧美 日韩 精品| 在线亚洲一区| 欧美在线视频观看| 九九热在线视频播放| 亚洲国产欧美国产综合一区| 日本三级韩国三级久久| 波多野结衣国产| 精品在线免费观看| 精品无码久久久久国产| 黄色一级大片在线免费看国产| 激情综合五月婷婷| 国产区亚洲区欧美区| 中文字幕一区二区人妻| 男女男精品视频| 国产精品免费视频xxxx| 中文天堂在线资源| 成人黄页毛片网站| 九9re精品视频在线观看re6| 精品欧美色视频网站在线观看| 偷拍一区二区三区| 69堂免费视频| 日韩欧美中文在线观看| 日韩欧美的一区二区| 日韩精品无码一区二区三区久久久 | 欧美日韩精品一本二本三本 | 福利电影一区| 日韩电影在线观看中文字幕 | 香蕉av福利精品导航| 国产乱子伦精品视频| 欧美在线一级片| 六九午夜精品视频| 欧美日韩久久久久久| 国产视频1区2区3区| 久久久久久久性潮| 日韩成人中文电影| 激情五月婷婷小说| 国内精品伊人久久久久av影院| 日韩精彩视频| 日本免费视频在线观看| 亚洲精品一卡二卡| 蜜桃传媒一区二区三区| 欧美黑人一区| 在线播放国产精品二区一二区四区 | 成人黄色毛片| 欧美电影一区二区| 亚洲色偷偷色噜噜狠狠99网| 综合天天久久| 欧美与欧洲交xxxx免费观看| 超碰在线97观看| 国产精品自拍av| 男女啪啪的视频| free性欧美16hd| 精品日韩一区二区| 国产毛片久久久久久久| 天天色综合色| 韩国视频理论视频久久| 亚洲成a人片77777精品| 久久精品一区二区三区不卡牛牛| 免费观看黄色大片| 久久av网站| 亚洲一级片在线看| 亚洲成熟少妇视频在线观看| 久久嫩草精品久久久精品一| 超碰97在线看| 91精品日本| 91精品国产91久久久久久吃药 | 91精品国产91综合久久蜜臀| 精品人妻伦一二三区久| 国产婷婷精品| 亚洲a区在线视频| 亚洲91av| 欧美色综合久久| 日本五十肥熟交尾| 奶水喷射视频一区| 色一情一区二区三区四区| 日韩福利在线观看| 亚洲九九九在线观看| 成人免费视频国产免费观看| 久久国产精品99国产| 日韩三级电影网站| 国产日韩一区二区三免费高清| 亚洲美女又黄又爽在线观看| 最新中文字幕免费| 亚洲欧美日韩系列| 可以免费观看av毛片| 96sao在线精品免费视频| 97香蕉久久超级碰碰高清版| 国产中文字幕在线看| 777午夜精品免费视频| 国产亚洲欧美久久久久| 精品综合免费视频观看| 97中文字幕在线| 精品视频在线观看网站| 久久免费视频观看| 在线播放毛片| 欧美精品一区二区三区很污很色的 | 欧美日本黄视频| 国产又大又长又粗| 国产精品第13页| 精品一区二区三区四区五区六区| 日韩精彩视频在线观看| 欧美日韩综合精品| 日韩精品一区二区三区中文字幕 | 在线播放 亚洲| 精品网站aaa| 成人精品视频在线| 欧美性videos| 日韩高清免费在线| 国产成人久久精品77777综合| 中文字幕字幕中文在线中不卡视频| 韩国中文字幕av| 成人激情视频| 国产一级二级三级精品| 中文字幕日本一区| 久热精品视频在线观看| 日本在线一二三| 精品国产123| 国产v在线观看| 欧美日韩情趣电影| 国产女主播喷水视频在线观看 | 97久久国产亚洲精品超碰热| 欧美hd在线| 成人啪啪免费看| 偷拍精品精品一区二区三区| 午夜精品一区二区三区在线播放| 黄网站视频在线观看| 中国china体内裑精亚洲片| 亚洲永久精品一区| 国产精品色在线观看| 亚洲精品乱码久久久久久久| 久久午夜av| 亚洲一区在线免费| 国产一区二区三区电影在线观看 | 午夜久久tv| 精品国产福利| 亚洲伊人影院| 91国产在线播放| 成人欧美大片| 欧美亚洲另类视频| 久久影院午夜精品| 中文字幕亚洲情99在线| 你懂的免费在线观看视频网站| 精品国产乱码91久久久久久网站| 国产成人精品一区二三区四区五区 | 久久久97精品| 免费看国产片在线观看| 欧美午夜无遮挡| 最新av电影网站| 国产精品69毛片高清亚洲| 午夜天堂在线视频| 国产另类ts人妖一区二区| 亚洲一二三av| 国产一区二区电影| 奇米777在线| 国产999精品久久| 最近免费中文字幕中文高清百度| 久久久水蜜桃av免费网站| 黄色国产精品视频| 中文字幕人成人乱码| 男同互操gay射视频在线看| 日韩欧美在线精品| 鲁丝片一区二区三区| 国产亚洲久久| 国产精品久久亚洲| 日韩成人综合网| 999国内精品视频在线| 999在线精品| 美日韩免费视频| 日韩国产专区| 久久久影院一区二区三区| 亚洲三级电影| 成人情视频高清免费观看电影| 91九色综合| 91免费在线视频| 国产一区二区三区影视| 国产精品人成电影在线观看| 99综合久久| 好吊妞www.84com只有这里才有精品 | 欧美视频一二三区| 国产精彩视频在线观看| 午夜精品123| 五月天中文字幕| 欧美一级欧美三级| 中文字幕+乱码+中文乱码www| 正在播放亚洲一区| 亚洲欧洲综合在线| 色吧影院999| 成人高清免费在线播放| 大胆人体色综合| 成人一区福利| 91pron在线| 沈樵精品国产成av片| 久久青青草综合| 日韩情爱电影在线观看| 国产天堂视频在线观看| 综合天堂av久久久久久久| av动漫在线看| 国产精品一区在线观看你懂的| 日本免费福利视频| 99久久精品国产麻豆演员表| 亚洲av人人澡人人爽人人夜夜| 国产亚洲一二三区| 欧美黄色一级生活片| 一区二区三区加勒比av| 久久久久久久久久久久久久免费看| 一本大道久久a久久精品综合| 国产视频在线观看视频| 欧美一区二区精美| 黄色网址在线播放| 国产69精品99久久久久久宅男| 国产综合色激情| 欧美黑人xxxxx| 韩日精品在线| 久久综合色视频| 国内精品在线播放| 永久免费毛片在线观看| 中文字幕日韩一区| 岛国av中文字幕| 欧美视频第二页| 日韩精品视频无播放器在线看| 欧美成人免费视频| 超清av在线| 91亚洲国产成人精品性色| 欧美另类69xxxxx| 欧美爱爱视频网站| 日韩在线一区二区| 丰满少妇一区二区三区| 亚洲国产综合色| 国产999久久久| 久久精品视频99| 日韩成人综合网站| 亚洲一区二区三区涩| 日韩成人精品在线观看| 性欧美精品中出| 91国偷自产一区二区三区成为亚洲经典| 中国一级特黄视频| 亚洲男人天堂2023| 色是在线视频| 久久精品国产精品国产精品污 | 狠狠爱综合网| 美国黄色一级视频| 久久久九九九九| 四虎精品永久在线| 亚洲欧美精品一区| 天天免费亚洲黑人免费| 日本中文不卡| 美女任你摸久久| 看黄色录像一级片| 欧美日韩夫妻久久| 高h视频在线观看| 热久久免费视频精品| 亚洲影院天堂中文av色| 老汉色影院首页| 国产精品91一区二区| 精品无码人妻一区二区三区品| 欧美r级电影在线观看| av有码在线观看| 欧美凹凸一区二区三区视频| 久久婷婷影院| 很污很黄的网站| 日韩欧美中文字幕精品| h片在线观看视频免费免费| 久久精品国产一区二区三区日韩 | 国产精品久久久久久久久借妻| 久久综合影院| 思思久久精品视频| 亚洲综合清纯丝袜自拍| 性xxxfllreexxx少妇| 国产精品jvid在线观看蜜臀| 国产精品成人av| 性猛交╳xxx乱大交| 精品国产乱码久久久久酒店| 激情小视频在线| 亚洲影影院av| 亚洲一区二区网站| 亚洲色图日韩精品| 欧美www视频| 中文字幕av一区二区三区佐山爱| 亚洲精品9999| 久久亚洲视频| 国产精品综合激情| 精品久久国产老人久久综合| 自由日本语热亚洲人| 裸体裸乳免费看| 91视视频在线直接观看在线看网页在线看 | 一区二区电影在线观看| 久久久久国产精品无码免费看| 欧美午夜片欧美片在线观看| 免费黄色电影在线观看| 国产麻豆乱码精品一区二区三区| 日本视频中文字幕一区二区三区| 永久免费看黄网站| 欧美二区乱c少妇| 不卡专区在线| 国产91av视频在线观看| 琪琪一区二区三区| 国产亚洲自拍av| 中日韩美女免费视频网址在线观看| 欧美日本三级|