使用CSS3實現多列布局與多背景的技巧

2022-09-24 15:21:09 字數 1864 閱讀 1130

多列布局

css多列布局繼承自塊級布局模式,允許簡單地定義多列文字。 一行太長的文字讀起來很麻煩;當人眼從一行過長的文字末端移動到下一行開始處,就容易弄錯到底該讀哪一行。因此,為了最優化使用大的顯示螢幕,設計者應該限制文字段落的寬度而併排排列,就像報紙一樣。

糟糕的是如果不使用css和html在特定的位置強制換行,或者嚴格限制文字中允許的標記,或者誇張地使用指令碼的話,這是不www.cppcns.com可能實現的。該限制通過從傳統的塊級布局模組中延伸出來的新的css屬性得以解決。

列計數器和寬度

有兩個css屬性控制是否實現多列布局和顯示多少列: column-count and column-width。

屬性 column-count 設定特定數量的列數。例如,

css code複製內容到剪貼簿

會以兩列的方式顯示內容:(如果你正使用支援多列布局的瀏覽器的話):

屬性 column-width 設定期望的最小列寬。如果 column-count 沒有設定,那麼瀏覽器就會以合適的寬度盡量顯示更多的列。

css code複製內容到剪貼簿

變成:在多列塊中,內容會自動從一列換到另一列中。所有 html, css 和 dom 功能在列之間都得到支援, 比如程式設計客棧編輯和列印。

columns 屬性簡寫

多數時候,網頁設計者都會使用 column-count 和 column-width 的乙個. 由於它們的值沒有重疊,一般使用簡寫屬性 columns。例如,

css宣告 column-width:12em 可替換成:

css code複製內容到剪貼簿

css宣告 column-count:4 可替換成:

css code複製內容到剪貼簿

css宣告 column-width:8em 和 column-count:12 可替換成:

css code複製內容到剪貼簿

高度平衡

css3多列規範需要列高平衡:即,瀏覽器自動設定最大列高,因此每列中的內容高度大致相同。firefox瀏覽器是這樣的。

然而,一些情況下,明確設定最大列高也是有用的,這樣內容從第一列開始,盡可能多的生成列,甚至會溢位右邊沿。因此,如果通過設定height 或 max-height 屬性來限制列高,在生成新的一列之前每一列都會僅允許增加到這個高度。該模型對布局來說也更高效。

列間隙列之間有縫隙。建議值為1em。該值可通過設定多列模組的 column-gap 屬性來修改:

css code複製內容到剪貼簿

優雅降級

多列屬性會被不支援多列模型的瀏覽器忽略。因此,為這些瀏覽器建立單列結構而為支援多列的瀏覽器建立多列結構相對來說比較簡單。

注意不是所有的瀏覽器都支援不帶字首的屬性名。為了在大多數現代瀏覽器中應用這種特性,每個屬性必須寫三次: 一次用 -moz 字首,一次用 -webkit 字首,一次不使用字首

多背景通過使用 css3,你可以向元素應用多個背景。這些背景相互堆疊,第乙個背景放在最上面,最後乙個背景放在最下面。 僅最後乙個背景允許擁有背景色。

指定多個背景很簡單:

css code複製內容到剪貼簿

你既可以使用簡寫屬性 background 也可以使用除 background-color 外的獨立屬性。即,,下面的屬性可以用屬性列表指定, 每個背景乙個: background,background-attachment,background-clip, background-image,background-origin,background-position, background-repeat, background-size。

示例 該例中,三個背景進行堆疊:火狐標誌,乙個線性漸變, 和一張帶有花的:

css code複製內容到剪貼簿

結果本文標題: 使用css3實現多列布局與多背景的技巧

本文位址:

CSS3多列布局

最近買了基本書,因為在實習的時候用到很多css動畫,給任務的時候,也會讓布局一些設計頁面。在做的過程中,覺著自己的css功底還是不行,所以就想再多積累多學習。今天主要看的是大漠的 css3 看知乎上和很多人的技術部落格裡都推薦過。今天先說css3的多列布局。平時用到的比較多的是兩欄布局,三欄布局。方...

CSS3多列布局

css3多列布局可以自動將內容按指定的列數排列,它實現了和報紙 雜誌排版非常相似的布局效果。一 css3多列布局核心屬性 1 columns 整合column width和column count兩個屬性。2 column width 定義每列列寬度 3 column count 定義分列列數 4 ...

CSS3多列布局

在本章中,您將學習如下多列屬性 屬性 瀏覽器支援 column count column gap column rule internet explorer 10 和 opera 支援多列屬性。firefox 需要字首 moz chrome 和 safari 需要字首 webkit 注釋 inter...