CSS3の新機能:複数列、フレックスボックス、グリッドレイアウト

Webは進化しており、役立つ新しいCSSプロパティを含む、レイアウトデザイナー向けの新しいページレイアウトオプションが増えています。 この記事では、複数列、フレックスボックス、グリッドレイアウトのいくつかについて説明しました。

caniuse.comでブラウザの新機能のサポートを確認できます。





複数列


複数列を使用すると、配置やフロートの形の松葉杖を使用せずに、テキストを複数の列に簡単に分割できます。 各列の幅を指定できます。列の数はブラウザの幅によってのみ制限されます。
#mcexample { column-width: 13em; } 


列の数を指定できます。
 #mcexample { column-count: 3; } 


列のスタイルを変更します。
 #mcexample { columns: auto 13em; /* column-count, column-width */ column-gap: 1em; column-rule: 1em solid black; /* width, style, color */ } 


実際、このプロパティの主で最も期待される機能は、ある列から別の列にテキストを流す機能です。 なぜもっと早く現れなかったのかは明らかではありません。

フレックスボックス


Flexboxを使用すると、ページ上の子要素と親要素を便利に管理し、必要な順序でそれらを配置できます。 公式仕様はこちら: CSS Flexible Box Layout Module

Tutplus.comには、flexboxアプリケーションのシンプルで視覚的な例があります。 子ブロックは、希望する配置で水平に配置できます。


または垂直:


全幅にストレッチ:


その他。 フレックスボックスの呼び出しは非常に簡単です。
 <ul> <li>An item</li> <li>Another item</li> <li>The last item</li> </ul> 

 ul { /* Old Syntax */ display: -webkit-box; /* New Syntax */ display: -webkit-flexbox; } 


グリッドマーキング



仕様、 CSS Grid Layoutは 、今年4月にMicrosoftによって導入されたため、マークアップこれまでのところInternet Explorer 10でのみ機能します 。 しかし、行われた作業の基本的な性質を考えると、他のブラウザーの機能をサポートすることは時間の問題です。



グリッドレイアウトを使用すると、行と列を使用してレイアウトとは別にコンテンツを配置できます。 まず、グリッドを宣言する必要があります。

 #gridexample { display: -ms-grid; -ms-grid-rows: 30px 5em auto; -ms-grid-columns: auto 70px 2fr 1fr; } 


デコード:


アイテムを2列目の1行目に追加します。
 #griditem1 { -ms-grid-row: 1; -ms-grid-column: 2; } 


grid-row-spanを使用して、要素をその全幅に引き伸ばすことができます

 #griditem1 { -ms-grid-row: 1; -ms-grid-column: 2; -ms-grid-row-span: 2; } 


または、 grid-row-alignまたはgrid-column-alignを使用して配置を追加します

  #griditem1 { -ms-grid-row: 1; -ms-grid-column: 2; -ms-grid-column-align: center; } 


マルチカラム、フレックスボックス、グリッドレイアウトの使用例は、MicrosoftのGriddleで見ることができます。



関連資料


Source: https://habr.com/ru/post/J153925/


All Articles