成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

CSS容器查詢終于來了,你知道嗎?

開發 前端
在設計一個組件時,我們需要適配不同的變化,并根據CSS類或視口大小來改變它們。這對于我們開發來說不是很理想,會迫使我們根據變化類或視口尺寸來寫CSS。

CSS容器查詢終于來了! 它們目前在谷歌瀏覽器(105)中得到了支持,很快就會在Safari 16中得到支持。這對前端來說容器查詢與媒體查詢一樣重要。

在這節課中,我們介紹一下容器查詢是如何工作的,如何使用它們,以及語法是什么樣子的,并分享一些現實生活中的例子和用例。

簡介

在設計一個組件時,我們需要適配不同的變化,并根據CSS類或視口大小來改變它們。這對于我們開發來說不是很理想,會迫使我們根據變化類或視口尺寸來寫CSS。

考慮下面例子:

圖片

我們有一個卡片組件,當視口足夠大時,它應該切換到水平樣式。乍一看,這可能聽起來不錯。然而,當你更深入地思考這個問題時,它就有點復雜了。

圖片

如果我們想在不同的地方使用同一個卡片組件,比如在空間狹小的側邊欄和有更多空間的主區域,我們就需要使用不同的類來適配:

.c-article {
/* Default stacked style */
}
@media (min-width: 800px) {
/* Horizontal style. */
.c-article--horizontal {
display: flex;
align-items: center;
}
}

如果我們不想用上面的方式,那么會出現下面這樣的情況:

這種從用戶界面的角度來看,并不友好。

通過容器查詢,我們可以簡單地編寫響應父級或容器寬度的CSS。請看下圖:

注意到在媒體查詢中,我們是如何根據視口或屏幕寬度來查詢一個組件的。在容器查詢中,同樣的情況發生在父級上。

什么是容器查詢?

通過 container-type 屬性查詢一個組件與最接近的父類的關系,該父類有一個定義的包含物。

我們過去在媒體查詢中寫CSS的方式,但只是針對組件層面。

容器查詢語法

要根據一個組件的父級寬度查詢,我們需要使用 container-type 屬性。看下面的例子"

.wrapper {
container-type: inline-size;
}

有了這些,我們就可以開始查詢一個組件。在下面的例子中,如果.card元素的容器的寬度等于400px或更大,我們需要添加一個特定的樣式。

@container (min-width: 400px) {
.card {
display: flex;
align-items: center;
}
}

雖然上述方法可行,但當有多個容器時,就會造成混亂。為了避免這種情況,最好為一個容器命名。

.wrapper {
container-type: inline-size;
container-name: card;
}

現在,我們可以在 @container 旁邊加容器名稱,如下所示。

@container card (min-width: 400px) {
.card {
display: flex;
align-items: center;
}
}

完整代碼:

.wrapper {
container-type: inline-size;
container-name: card;
}
.c-article {
/* Default stacked style */
}

@container card (min-width: 400px) {
/* Horizontal style. */
.c-article {
display: flex;
align-items: center;
}
}

瀏覽器支持

容器查詢現在在Chrome 105中得到支持,并很快在Safari 16中得到支持。

圖片

事例

圖片

這邊有10個關于容器查詢的事例,地址:https://lab.ishadeed.com/container-queries。

責任編輯:姜華 來源: 大遷世界
相關推薦

2023-09-27 08:33:16

作用域CSS

2022-07-27 15:30:05

css容器查詢樣式查詢

2016-01-11 09:48:07

2022-09-14 08:11:06

分頁模糊查詢

2021-01-06 08:48:35

CSS 命名模塊

2024-05-28 09:12:10

2024-04-07 00:00:00

ESlint命令變量

2024-09-29 09:16:30

2024-10-22 09:59:36

虛擬化容器化系統

2023-12-20 08:23:53

NIO組件非阻塞

2023-12-12 08:41:01

2023-04-26 10:21:04

2024-04-30 09:02:48

2020-02-20 08:30:49

OSPF網絡協議路由協議

2021-04-20 23:16:06

SparkSQL語法

2022-12-02 14:12:52

新能源汽車海爾

2024-07-08 00:00:01

多線程ThreadC#

2025-02-18 08:11:17

2024-09-18 07:00:00

消息隊列中間件消息隊列

2022-11-04 14:16:05

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品一区二区蜜桃 | 精品久久精品 | 天天狠狠| 国产98色在线 | 日韩 | 国产精品久久久久久久久久免费看 | 亚洲成人av在线播放 | 久久逼逼| 久久专区 | 国产ts人妖另类 | 91久久国产综合久久91精品网站 | 国内精品久久久久久久影视简单 | 九九精品在线 | 一本久久a久久精品亚洲 | 中文字幕成人av | 欧美日产国产成人免费图片 | 久久久精品一区二区三区 | 国产福利在线看 | 91精品国产综合久久国产大片 | 精品久久久久久亚洲综合网站 | 一区亚洲| a国产一区二区免费入口 | 午夜精品久久久久99蜜 | 丁香一区二区 | 国产免费拔擦拔擦8x高清 | 97精品超碰一区二区三区 | 国产精品一区二区久久精品爱微奶 | 国产美女在线看 | 亚洲一区二区三区在线视频 | 亚洲在线电影 | 一区二区三区在线播放 | 国产一区二区电影网 | 日韩成人一区 | 夜夜艹 | 中文字幕啪啪 | 九九成人 | 91精品国产91久久久久久 | av黄色在线播放 | 欧美色综合天天久久综合精品 | 黄色毛片在线看 | a级大片免费观看 | 国产免费av在线 |