成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Flexbox 很棒,但有些情況不適用

wums / 2118人閱讀

摘要:其設(shè)計初衷并不是完備的網(wǎng)格系統(tǒng)。所以禁止將其作為一個完整的網(wǎng)格系統(tǒng)使用。但貓有四條腿,而人類只有兩條??偠灾?,還是很棒的真的很有用。

對大部分的人來說(如果你寫過CSS),F(xiàn)lexbox 可以說是完美,但它是否適合所有場景呢?

簡而言之,我會給出幾種可用的場景,需要你重新思考 Flexbox 模型的使用。

順便說一句,本人是 Flexbox 的忠實粉絲,曾寫過一篇 Flexbox 詳解 ,可以算得上最全面的文章了。

當然,我們應(yīng)該了解該如何使用 Flexbox,哪些情況不應(yīng)該使用,以及用在哪些地方最好。

以下是我選出的最不應(yīng)該是使用 Flexbox 的3種場景,并附帶原因。

1. 把Flexbox當作一個網(wǎng)格系統(tǒng)使用

長久以來,很多人(包括我自己)都在濫用 CSS 盒模型。

從復(fù)選框點擊 hack 到“純 CSS 圖形”,我們似乎沉浸在各種奇淫巧技中 —— 各種讓人覺得高大上或精通的技巧。

我并不反對這樣做,但其實我們曲解了 CSS 規(guī)范,不是嗎?

我們并沒有將它們用在應(yīng)該用的地方 —— 主要原因之一是可以做,之二是不得不做。有時候僅僅是出于興趣(我覺得我屬于這種)。

也就是說,如果你選擇在布局中將 Flexbox 模型當作網(wǎng)格系統(tǒng)使用,那么就算曲解了規(guī)范。

還能不能開心的玩耍了?

你當然可以用,但就像濫用 CSS 盒模型。

其設(shè)計初衷并不是完備的網(wǎng)格系統(tǒng)。盡管你可以任意使用 Flexbox 模型,當然本人也曾瞎用,但其初衷不改。

網(wǎng)格布局 —— 在 2017 年火了,因為所有主流瀏覽器都開始支持。

可以在布局中將 Flexbox 作為唯一的網(wǎng)格系統(tǒng)使用嗎?

額!當然不可以。

為什么?

如果僅僅是為了一個怎么復(fù)雜的布局,或簡單的為了移動端而重構(gòu)布局,確實有這種可能。

其實你可以擺脫這種想法的,雖然曾經(jīng)我試過只用 Flexbox 就可以完成復(fù)雜的布局 —— 僅僅是因為可以做,并探索 Flexbox 的可能性。

有什么注意事項嗎?

有一點你一定要記住。

如果你不得不兼容老版本的 IE 瀏覽器(它們還能支持些什么好功能么?),那會有一個大問題,因為用戶什么都看不到 —— 任何東西都不會顯示。

但是,如果你在這些瀏覽器上使用 Flexbox 模型作為漸進增強,你的備用方案可能是表格布局,那么老版本 IE 用戶能正常使用。

Flexbox 也支持一些真正的 網(wǎng)格系統(tǒng) 才有的標準特性 —— 那些特性真的很棒。

盡管它還不太“標準”。此處的標準指的是就像圣杯布局那樣的常用。所以禁止將其作為一個完整的網(wǎng)格系統(tǒng)使用。

后面會繼續(xù)討論。

2. 完全控制其視覺位置

能力越大責任越大 ...然后濫用! (我加的).

網(wǎng)格布局最棒的特點之一就是無需考慮 html 源碼的順序而可以自由的指定內(nèi)容的顯示位置。

難道 Flexbox 模型沒有順序?qū)傩悦?

其實是有的。

但貓有四條腿,而人類只有兩條。PS:此處的意思是,畢竟還是有區(qū)別,不能同等對待不同的事物,即使外觀類似.

上面的貓星人很帥,但即使套上了西裝,也還不是人類!毫無疑問,只有人才能算人類。

這就跟通過順序?qū)傩詫崿F(xiàn)“排序”的 Flexbox 一樣。

僅適用于簡單的重排場景,如下:

flexbox重排之前

flexbox重排之后

但是,它仍是基于元素的 html 源碼順序的。

所以,其實還是沒有脫離“貓人”的本質(zhì)。

其對源碼順序的處理與 CSS 網(wǎng)格布局完全不同。網(wǎng)格布局是另一個話題,這里不會詳細討論。

3. 多列布局

我覺得應(yīng)該不會有很多人會將 Flexbox 模型用來干這個,值得一提的是,除了Flexbox之外,CSS3 還提供其他增強布局方式 —— Flexbox 只是恰巧也能用來完成類似的功能。

如果你想這樣做,那么請考慮優(yōu)先使用 CSS3 已提供的合適的布局方式。

i. 排除特定形狀

如果你需要構(gòu)建復(fù)雜的布局,并想要讓內(nèi)容按自定義區(qū)域排版或要特定幾何形狀來包裹內(nèi)容,請使用正確的方法。雖然你可以將其包裹在 flex-item(彈性項)中,但還是要使用正確的方法處理排除和內(nèi)容包裹。

ii. 實現(xiàn)多列

多列布局是 Indesign 等傳統(tǒng)桌面排版軟件的核心功能,當某列調(diào)整大小或不能包含所有內(nèi)容時,列內(nèi)的文本會自動流入另一列。

如果你需要在你項目中實現(xiàn)這個功能,CSS3 多列布局方式可以直接實現(xiàn)。

所以,啰嗦一句,請使用正確的方式來實現(xiàn)此功能。

可以讓多列布局的某列也同時具有 flex-item(彈性項)特性么?我沒有玩過 —— 不確定。

總而言之,F(xiàn)lexbox 還是很棒的!真的很有用。

非常有必要深入了解它,了解他們應(yīng)該在何時何處使用。

對于 Flexbox,其最大的優(yōu)勢是可在整體頁面中為獨立部分的自由布局。

覺得不錯?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/114464.html

相關(guān)文章

  • 前端方便面

    摘要:技術(shù)前端布局推進劑間距規(guī)范化利用變量實現(xiàn)令人震驚的懸浮效果很棒,但有些情況不適用布局說可能是最全的圖片版學習網(wǎng)格布局使用的九大誤區(qū)圖解布局布局揭秘和中新增功能探索版本迭代論基礎(chǔ)談?wù)雇麑Ρ忍骄坷L圖中撤銷功能的實現(xiàn)方式即將更改的生命周期幾道高 技術(shù) CSS 前端布局推進劑 - 間距規(guī)范化 利用CSS變量實現(xiàn)令人震驚的懸浮效果 Flexbox 很棒,但有些情況不適用 CSS布局說——可能是最...

    liaoyg8023 評論0 收藏0
  • 前端方便面

    摘要:技術(shù)前端布局推進劑間距規(guī)范化利用變量實現(xiàn)令人震驚的懸浮效果很棒,但有些情況不適用布局說可能是最全的圖片版學習網(wǎng)格布局使用的九大誤區(qū)圖解布局布局揭秘和中新增功能探索版本迭代論基礎(chǔ)談?wù)雇麑Ρ忍骄坷L圖中撤銷功能的實現(xiàn)方式即將更改的生命周期幾道高 技術(shù) CSS 前端布局推進劑 - 間距規(guī)范化 利用CSS變量實現(xiàn)令人震驚的懸浮效果 Flexbox 很棒,但有些情況不適用 CSS布局說——可能是最...

    DevWiki 評論0 收藏0
  • 現(xiàn)代 CSS 進化史

    摘要:第一個主流的預(yù)處理器是年發(fā)布的,它提供了一個新的更簡潔的語法縮進代替大括號,沒有分號等等,同時增加了一些缺失的高級特性,像變量工具方法還有計算。 showImg(https://segmentfault.com/img/bV5u5I?w=533&h=300); 簡評:CSS 是一門入門比較簡單,但真正使用起來又很困難的語言(有些人認為它不應(yīng)該稱為一門語言)。CSS 看起來凌亂復(fù)雜,其實...

    EastWoodYang 評論0 收藏0
  • 現(xiàn)代CSS進化史

    摘要:第一個主流的預(yù)處理器是年發(fā)布的,它提供了一個新的更簡潔的語法縮進代替大括號,沒有分號等等,同時增加了一些缺失的高級特性,像變量工具方法還有計算。 英文:https://medium.com/actualize-...編譯:繆斯 showImg(https://segmentfault.com/img/bV3vCJ?w=1129&h=735); CSS一直被web開發(fā)者認為是最簡單也是最...

    msup 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<