国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

CSS3網格的三個新特性詳解

2024-07-11 08:31:15
字體:
來源:轉載
供稿:網友

一、網格簡史

曾幾何時,我們的布局是一團糟。表格和框架是用于創建多列布局的主要工具。雖然他們能完成工作(但其實非常糟糕)。

把目光投向今天。HTML和CSS已經變得非常復雜,Web設計的知名度和復雜度與日俱增。我們曾經使用的舊的布局方法顯然已經out了。然而,一個歷史遺留問題浮出水面:多列布局。

更復雜的是,我們的頁面寬度不再是靜態的。響應式大行其道,所以我們傾向于基于百分比的列寬。基于固定960像素寬的簡單網格已經行不通——我們需要流體網格。

CSS2規范中用浮動解決列的方法存在一個問題。為了防止父元素破環你的布局,我們需要添加clearfix。通過這種方法,來修正父元素的高度坍塌問題(浮動元素脫離標準流,父元素會認為浮動資源不存在)。我們大部分接受這種方法,但許多人仍然認為它是一種hack(奇技淫巧)。

通過inline-box的方法并不常見,但仍然存在。內聯元素會保持在一行,他們自然順序排列。當一行被占滿,后面的元素自然折到下一行。但因為他表現為文本特性,其行為類似文本。這意味著你必須避免HTML元素之間的空白元素(空格,tab,換行……)。Inline-block不是為這設計的,不且工作的并不十分如意。

在這兩種方法中,浮動的方法更可靠。這就是為什么它更流行,排在第一位。然而,創建多列后,我們發現需要再次壓縮內容,因為我們需要一些填充距離。這就引出最終的問題:盒模型

盒模型是什么,簡單來說,一個元素的實際尺寸包括:高度/寬度+內邊距+邊的寬度。外邊據并不使盒子變大,僅僅在自己和其他元素之間增加空隙。所以設置寬度時,比如25%,其盒子的實際寬度比這大得多,這意味著在一行沒有足夠的空間放下四個元素。

這煩人的問題有不同的解決方案:負外邊距,嵌套元素——我知道的全部了。他們都需要額外的CSS或DOM元素,算作hack方法。讓我們面對現實,CSS2中沒有解決網格的好方法。

然而今天,CSS3提供很好的支持,規范增加了專門用于網格的幾個新特性。這些特性都有哪些?我們如何使用他們?讓我們看一看。

二、box-sizing: border-box

已經解決的問題之一是擴展盒模型的性質。通過設置box-sizing的值為border-box可以解決這個問題。通過減少內容寬度使邊和內邊距的距離也算到width屬性里。

HTML

復制代碼
代碼如下:
<div class="row">
<div class="column">Col one</div>
<div class="column">Col two</div>
<div class="column">Col three</div>
<div class="column">Col four</div>
</div>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郴州市| 门源| 府谷县| 蒙山县| 五指山市| 大名县| 高碑店市| 栾川县| 论坛| 南宁市| 新建县| 榆树市| 那坡县| 松滋市| 松原市| 新竹市| 万宁市| 嘉峪关市| 高淳县| 定日县| 长沙市| 凤凰县| 涞源县| 阿鲁科尔沁旗| 永城市| 济南市| 兴城市| 营山县| 通州市| 渝中区| 获嘉县| 阳泉市| 名山县| 宝兴县| 渭源县| 鲁山县| 鄂伦春自治旗| 长岛县| 广宗县| 思南县| 嘉兴市|