国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

CSS實現十個功能強大的一行布局技巧

開發 前端
現代 CSS 布局允許開發人員只需敲擊幾下鍵盤即可編寫有意義且強大的樣式規則。今天的內容主要是想和大家分享 10 個功能強大的 CSS 布局,它們做了一些非凡的工作。

現代 CSS 布局允許開發人員只需敲擊幾下鍵盤即可編寫有意義且強大的樣式規則。今天的內容主要是想和大家分享 10 個功能強大的 CSS 布局,它們做了一些非凡的工作。

01. Super center: place-items: center

對于我們的第一個“單行”布局,讓我們解決 CSS 中最大的謎團:居中。我想讓你知道,使用 place-items: center 比你想象的更容易。

首先,指定 grid 作為顯示方式,然后,在同一個元素上寫上 place-items: center 。place-items 是同時設置align-items 和justify-items 的快速方法。通過將其設置為居中,align-items 和 justify-items 都將設置為居中。

.parent {
  display: grid;
  place-items: center;
}

這使得內容可以在父級中完美居中,無論內部大小如何。

02.解構布局:flex: <grow> <shrink> <baseWidth>

這是營銷網站的常見布局,例如,可能有一行 3 個項目,通常帶有圖像、標題,然后是一些描述產品某些功能的文本。在移動設備上,我們希望它們能夠很好地堆疊并隨著屏幕尺寸的增加而縮放。

通過使用Flexbox來實現這種效果,當屏幕尺寸變化時,你不需要使用媒體查詢來調整這些元素的位置。

flex 的縮寫:flex: <flex-grow> <flex-shrink> <flex-basis> 。

因此,如果您希望框填充到其 <flex-basis> 大小,縮小到較小的尺寸,但不拉伸以填充任何額外空間,請編寫:flex: 0 1 <flex-basis> 。在這種情況下,你的 <flex-basis> 是 150px,所以它應該看起來像這樣:

.parent {
  display: flex;
}


.child {
  flex: 0 1 150px;
}

如果您確實希望框在換行到下一行時拉伸并填充空間,請將 <flex-grow> 設置為 1,因此,它應該如下所示:

.parent {
  display: flex;
}


.child {
  flex: 1 1 150px;
}

現在,當您增大或減小屏幕尺寸時,這些彈性項目會縮小和增大。

03. 側邊欄布局:grid-template-columns: minmax( <min>, <max>) …)

該演示利用 minmax 函數進行網格布局。我們在這里所做的是將最小側邊欄尺寸設置為 150px,但在較大的屏幕上,讓它拉伸 25%。側邊欄將始終占據其父級水平空間的 25%,直到 25% 變得小于 150px。

添加以下值作為 grid-template-columns 的值:minmax(150px, 25%) 1fr 。第一列中的項目(在本例中為側邊欄)的 minmax 為 150px(占 25%),第二列中的項目(此處為主要部分)作為單個 1fr 軌道占據剩余空間。

.parent {
  display: grid;
  grid-template-columns: minmax(150px, 25%) 1fr;
}

04.煎餅堆棧布局:grid-template-rows: auto 1fr auto

與 Deconstructed Pancake 不同,此示例在屏幕尺寸更改時不包含其子元素。 

這種布局通常稱為粘性頁腳,通常用于網站和應用程序、跨多個移動應用程序(頁腳通常是工具欄)和網站(單頁應用程序通常使用這種全局布局)。

將 display: grid 添加到組件將為您提供單列網格,但主要區域的高度僅與頁腳下方的內容一樣高。

要使頁腳粘在底部,請添加:

.parent {
  display: grid;
  grid-template-rows: auto 1fr auto;
}

1fr頁眉和頁腳內容設置為自動采用其子級的大小并將剩余空間(1fr)應用于主區域,而自動調整大小的行將采用其子級最小內容的大小,以便內容大小增加,行自身會調整。

05.經典的圣杯布局:grid-template: auto 1fr auto / auto 1fr auto

對于經典的圣杯布局,有頁眉、頁腳、左側邊欄、右側邊欄和主要內容。與之前的布局類似,但現在帶有側邊欄!

要在一行代碼中編寫整個網格,請使用 grid-template 屬性。這允許您同時設置行和列。

屬性和值對是:grid-template: auto 1fr auto / auto 1fr auto 。第一個和第二個空格分隔列表之間的斜杠是行和列之間的分隔符。

.parent {
  display: grid;
  grid-template: auto 1fr auto / auto 1fr auto;
}

與前面的示例一樣,頁眉和頁腳具有自動調整大小的內容,這里左側邊欄和右側邊欄根據其子項的固有大小自動調整大小。但是,這次尺寸是水平(寬度)而不是垂直(高度)。

06. 12 跨網格:grid-template-columns:repeat(12, 1fr)

接下來我們有另一個經典的布局:12 跨網格。您可以使用repeat()函數在CSS中快速編寫網格。使用重復(12, 1fr); 在網格模板列上,每個 1fr 將為您提供 12 列。

.parent {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}


.child-span-12 {
  grid-column: 1 / 13;
}

現在您已經有了 12 列的軌道網格,我們可以將子項放置在網格上。一種方法是使用網格線來放置它們。例如,grid-column: 1 / 13 將從第一行到最后一行(第 13 行)跨越 12 列。網格列:1 / 5;將跨越前四列。

另一種方法是使用 span 關鍵字。使用跨度,您可以設置一條起始線,然后,設置從該起始點跨越的列數。 

在這種情況下, grid-column: 1 / span 12 將相當于 grid-column: 1 / 13 ,而 grid-column: 2 / span 6 將相當于 grid-column: 2 / 8 。

.child-span-12 {
  grid-column: 1 / span 12;
}

07. RAM (Repeat, Auto, MinMax): grid-template-columns(auto-fit, minmax( <base>, 1fr))

對于第七個示例,結合您已經知道的一些概念來創建具有自動放置和靈活子項的響應式布局。漂亮又整潔。 

這里要記住的關鍵點是repeat、auto-(fit|fill)和minmax()’,記住它們的縮寫RAM。

簡而言之,應該是這樣的:

.parent {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

您再次使用重復,但這次使用 auto-fit 關鍵字而不是顯式數值。這會自動放置這些子元素。 

這些子元素的基本最小尺寸是 150px,最大尺寸是 1fr,這意味著在較小的屏幕上它們將占據整個 1fr 寬度,當它們達到 150px 寬度時,它們將開始流到同一行。

使用自動調整功能,當水平尺寸超過 150 像素時,框將拉伸以填充整個剩余空間。但是,如果將其更改為自動填充,則當超過 minmax 函數中的基本尺寸時,它們將不會拉伸:

.parent {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

08. 排列和布局:justify-content: space- Between

對于下一個布局,這里主要要注意的是 justify-content: space- Between ,它將第一個和最后一個子元素放置在其邊界框的邊緣,剩余空間均勻分布在元素之間。 

對于這些卡片,它們被放置在Flexbox顯示模式下,使用flex-direction:column將方向設置為column。

這會將標題、描述和圖像塊放置在父卡內的垂直列中。然后,應用 justify-content: space- Between 將第一個(標題)和最后一個(圖像塊)元素錨定到彈性盒的邊緣,它們之間的描述性文本與每個端點之間的間距相等。

.parent {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

09. Keep my style: clamp( <min>, <actual>, <max>)

在這里,我們介紹一些僅被少數瀏覽器支持,但對布局和響應式 UI 設計具有非常令人興奮的效果的技術。在本演示中,您將使用鉗制工具來設置寬度,如下所示:width:clamp(<min>,<actual>,<max>)。

這將設置絕對最小和最大尺寸以及實際尺寸。有了這些值,它應該看起來像這樣:

.parent {
  width: clamp(23ch, 60%, 46ch);
}

這里的最小大小是 23ch 或 23 個字符單元,最大大小是 46ch 或 46 個字符。字符寬度單位基于元素的字體大小(特別是 0 字形的寬度)。“實際”大小是 50%,表示該元素父元素寬度的 50%。

在這里,clamp() 函數的作用是保持元素 50% 寬,直到 50% 大于 46ch(在較寬的視口上)或小于 23ch(在較小的視口上)。 

您可以看到,當我拉伸和收縮父尺寸時,該卡的寬度增加到其最大限制點并減少到其最小限制點。 

然后它會保持在父級的中心,因為我們應用了其他屬性來使其居中。這樣可以實現更清晰的布局,因為文本不會太寬(超過 46ch)或太窄(小于 23ch)。

這也是實現響應式排版的好方法。例如,您可以編寫:font-size: Clip(1.5rem, 20vw, 3rem) 。在這種情況下,標題的字體大小將始終保持在 1.5rem 和 3rem 之間,但會根據實際的 20vw 值增大和縮小以適應視口的寬度。

這是一種很好的技術,可以確保最小和最大尺寸值的可讀性,但請記住,并非所有現代瀏覽器都支持它,因此請確保您有后備措施并進行測試。

10. 保持寬高比:aspect-ratio: <width> / <height>

最后一個布局工具是最具實驗性的。它最近在 Chromium 84 中被引入到 Chrome Canary 中,Firefox 正在積極努力實現這一目標,但目前還沒有任何穩定版本的瀏覽器。

不過,我確實想提一下這一點,因為這是一個經常出現的問題。這只是保持圖像的縱橫比。

使用縱橫比屬性,當我調整卡片大小時,綠色視覺塊保持 16 x 9 縱橫比。我們通過縱橫比維持這個縱橫比:16 / 9。

.video {
  aspect-ratio: 16 / 9;
}

要在沒有此屬性的情況下保持 16 x 9 的寬高比,您需要使用 padding-top hack 并為其指定 56.25% 的填充來設置頂部與寬度的比率。 

我們很快就會擁有避免黑客攻擊和計算百分比的需要的屬性。 

您可以使用 1 / 1 的比例來制作正方形,使用 2 / 1 的比例來制作 2:1 的比例。可以設置任意圖像縮放比例。

.square {
  aspect-ratio: 1 / 1;
}

雖然此功能仍在開發中,但值得了解,因為它解決了許多開發人員面臨的沖突,而且我自己也遇到過很多次,特別是在視頻和 iframe 方面。

總結

最后,感謝您耐心閱讀完這 10 個強大的 CSS 布局知識內容。如果想要掌握它們,還需要繼續不斷實踐它們。

責任編輯:華軒 來源: web前端開發
相關推薦

2024-12-03 09:23:20

2022-05-03 17:04:08

CSS前端

2021-09-13 10:43:12

開發CSS代碼

2010-09-08 14:35:22

CSS

2024-07-24 11:40:33

2023-09-07 10:21:27

JavaScrip滾動動畫

2010-09-06 14:19:54

CSS

2025-06-11 03:00:00

2025-03-25 08:15:00

JavaScript開發代碼

2010-09-03 15:59:19

DIV CSS

2021-10-17 20:37:44

組件DrawerReact

2025-06-03 09:06:20

2024-01-07 20:14:18

CSS開發工具

2023-05-14 22:55:00

插件IntelliJIDEA

2010-09-01 09:15:50

DIVCSS

2022-07-28 13:01:35

CSS前端元素居中

2022-07-26 09:09:23

Python編程語言代碼

2024-12-03 14:33:42

Python遞歸編程

2023-03-19 16:15:33

CSS技巧開發

2019-04-01 06:37:12

R語言數據分析數據
點贊
收藏

51CTO技術棧公眾號

亚洲在线播放电影| 精品对白一区国产伦| 欧美欧美一区二区| 亚洲精品在线播放| 91福利精品视频| 国产成人a亚洲精v品无码| 国产精品theporn| 色综合久久中文字幕综合网小说| caopo在线| 亚洲国产成人av好男人在线观看| av日韩一区二区三区| 久久亚洲风情| 亚洲专区在线视频| 美女午夜精品| 日韩有码在线观看| 欧美日韩在线观看首页| 欧美日韩国产影片| 天堂在线第六区| 中文字幕av一区二区三区免费看| 妞干网这里只有精品| 99精品国产99久久久久久福利| 一区二区欧美亚洲| 日本小视频在线免费观看| 欧美专区在线观看一区| 亚欧黄色av| 亚洲欧洲成人自拍| 成人一级片网站| 成人av动漫在线| 国产小视频免费| 国产一区二区成人久久免费影院 | 亚洲性视频h| 国产精品第一页在线| 日韩av影院| 国外成人在线播放| 91成人午夜| 精品综合久久久久久97| 另类一区二区| 成年无码av片在线| 日韩免费一级| 国模私拍视频一区| 国产精品xxxav免费视频| 欧美丰满少妇xxxx| 91精品短视频| 欧美一级免费视频| 色综合综合色| 成人在线视频网| 一区二区蜜桃| 精品视频导航| 爽好久久久欧美精品| 一级做a爰片久久| 国产在线国偷精品产拍免费yy | 日韩在线不卡| 国产九九精品视频| 国产精品福利在线观看播放| 亚洲在线一区二区| 午夜在线精品| 18视频在线观看娇喘| 成人综合婷婷国产精品久久免费| 免费成人在线视频网站| 国产精品国产三级国产三级人妇| 丁香婷婷自拍| 欧美综合天天夜夜久久| av网站免费在线观看| 亚洲乱码av中文一区二区| 激情久久99| 日本韩国欧美精品大片卡二| 国产精品麻豆久久| 欧美凹凸一区二区三区视频| 精久久久久久久久久久| 国产v亚洲v天堂无码久久久| 亚洲综合男人的天堂| 在线免费观看黄色网址| 18网站在线观看| 久久福利一区二区| 久久久五月婷婷| 中文日本高清免费| 欧美久久一区二区| 一二区成人影院电影网| 日韩av免费在线| 午夜影院日韩| 37pao成人国产永久免费视频| 亚洲国产欧美日韩另类综合 | 992tv在线观看免费进| 在线亚洲高清视频| 日本蜜桃在线观看视频| 欧美一级免费看| 日韩国产精品大片| 手机视频在线观看| 6080亚洲精品一区二区| 四虎国产精品免费久久| 91精品视频在线| 国产99久久久国产精品潘金 | 98视频在线噜噜噜国产| 激情婷婷久久| 日韩 欧美 高清| 制服.丝袜.亚洲.中文.综合| 久久亚洲精精品中文字幕| 国产精品一区二区免费| 国产喷白浆一区二区三区| 黄色网页在线观看| 欧美一级片在线播放| 久久精品久久综合| 在线视频毛片| 久久99久久亚洲国产| 噜噜噜91成人网| 久久久久久77777| 国产一区二区三区日韩欧美| 亚欧美无遮挡hd高清在线视频| 美女扒开大腿让男人桶| 欧美亚洲综合一区| 99视频在线播放| 亚洲一区二区三区国产| 中文字幕资源网在线观看免费 | 国产乱理伦片在线观看夜一区| 91精品视频免费观看| 懂色av中文字幕一区二区三区| 蜜桃视频免费网站| 国产精品igao视频| 亚洲国产精品久久久天堂| 香港经典三级在线| 亚洲福利视频专区| 国产精品久久占久久| 男人日女人下面视频| 欧美一区二区三区免费| 91综合在线| 明星乱亚洲合成图.com| 伊人久久精品视频| 日韩精品一二三区| 成人高清在线| 国产精品久久久久久亚洲调教| 99精品欧美一区二区三区小说| 丝袜美女在线观看| 高清视频一区| 亚洲高清在线精品| 精品国产一区二区三区成人影院 | 日韩av免费看网站| av综合在线播放| 欧美13videosex性极品| 久久久久久99| 欧美人体做爰大胆视频| 国产精品久久久久久久| 香港日本韩国三级| 热久久免费国产视频| 久久精品亚洲一区二区三区浴池| 日韩成人影音| 一二三四中文字幕| 日韩电影在线观看永久视频免费网站| 国产精品一级| 黄色一级片在线观看| 国产原创精品| 欧美性大战久久久久久久| 999国产精品永久免费视频app| 91美女在线免费观看| 久久免费观看视频| 国产精品盗摄一区二区三区| 国产厕拍一区| 美女在线一区| 91久久久久久久久久| 欧美日韩一区二区精品| 亚洲一级淫片| 日本在线播放| 水蜜桃亚洲精品| 日韩av综合网站| 粉嫩久久99精品久久久久久夜| 成人国产一区二区三区精品麻豆| 久久久久久久9| 久久天天躁狠狠躁老女人| 欧美激情一区二区三区| 国产亚洲一区二区三区啪| 中文在线a在线| 国产一区二区精品在线| 精品久久人人做人人爱| 国产高清在线观看免费不卡| 二区三区精品| 人人在线97| 国产成人免费观看| 欧美成人一区二区三区片免费| 国产精品一区二区男女羞羞无遮挡| 成人av集中营| 久久小说免费下载| 精品国产乱码久久久久久蜜柚| 精品国产乱码久久久久久浪潮| 成人在线一区二区三区| 青青草这里只有精品| 国产美女视频一区二区三区| 一区二区三区欧美成人| 欧美成人精品h版在线观看| 中文字幕在线不卡| 欧美啪啪一区| 色香欲www7777综合网| 另类小说第一页| 亚洲一区二区三区视频| 精品久久久久久久久久久久久久久久久 | 136国产福利精品导航网址| 自由的xxxx在线视频| 麻豆tv在线播放| 国产精品美女999| 亚洲第一区第一页| 最新国产精品久久精品| 国产精品亚洲综合色区韩国|