CSSリージョンの概要



多数のモバイルデバイスの出現により、サイトはより「応答性の高い」ものになりつつあり、これにはコンテンツを表示するための新しい、より便利な方法が必要です。 アドビの新しいWeb標準であるCSSリージョンは、近い将来に役立つ予定です。

簡単に言えば、CSSRegionsは、オブジェクトの周りにテキストをスマートにラップするように設計されています。 この標準は稼働中のサイトで使用する準備ができていませんが、地域で実験することができます。

ブラウザのサポート


ブラウザがcaniuse.comで CSSリージョンをサポートしているかどうかを確認します。 Chromeでは、次のサポートが含まれます。

  1. 実験的な関数に入ります-chrome://フラグ
  2. 「CSSリージョンを有効にする」アイテムを見つけて有効にします。

  3. Chromeを再起動します


複数の列に1ブロックのテキスト( デモ


これは、CSSリージョンを使用する最も簡単な例です。1つのテキストブロックが3つの列に流れます。



HTMLは簡単です:

<p class="example-text">"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."</p> <div class="regions"></div> <div class="regions"></div> <div class="regions"></div> 


CSSはこれ以上複雑ではありません。

 .example-text { -webkit-flow-into: example-text-flow; padding: 0; margin: 0; } .regions { -webkit-flow-from: example-text-flow; border: 1px solid black; padding: 2px; margin: 5px; width: 200px; height: 50px; } 


結果はデモで見ることができますが、もう少し複雑な例がいくつかあります。

コンテンツ内のブロックの配置( デモ


レスポンシブレイアウトでは、ブラウザウィンドウの幅を変更すると、コンテンツは通常1つのシナリオに従って動作します。テキストは1列で圧縮され、その下にサイドバーが表示されます。 ページ上のブロックのより正確な配置のために、CSSリージョンを使用することが間もなく可能になります。

たとえば、コンテンツと広告ユニットを含むページは次のようになります。



また、モバイルデバイスでは、右側のオプションを取得する必要があります。



HTML構築コード:

 <section class="main-content"> <article> ... </article> <div class="ad-region-1"> <!-- empty, ads flow into here as needed --> </div> <article> ... </article> <div class="ad-region-2"> <!-- empty, ads flow into here as needed --> </div> <article> ... </article> <div class="ad-region-3"> <!-- empty, ads flow into here as needed --> </div> </section> <aside> <!-- Fallback content in this flow region, probably clone #ad-source --> </aside> <!-- Source of flowing content, essentially hidden as an element --> <div id="ad-source"> <a href="#"><img src="ads/1.jpg"></a> <a href="#"><img src="ads/2.jpg"></a> <a href="#"><img src="ads/3.jpg"></a> <a href="#"><img src="ads/4.png"></a> </div> 


広告ユニットのCSS-「ad-source」:

 #ad-source { -webkit-flow-into: ads; -ms-flow-into: ads; } 


コンテンツのCSS:

 aside, [class^='ad-region'] { -webkit-flow-from: ads; -ms-flow-from: ads; } 


さまざまなブラウザーウィンドウ幅のCSS:

 [class^='ad-region'] { display: none; height: 155px; width: 100%; /* Weird that this is required */ } @media (max-width: 800px) { [class^='ad-region'] { display: block; } [class^='ad-region']:last-child { height: 300px; /* I wish height auto worked */ } aside { display: none; } } 


アドビの例



CSS領域使用の素晴らしい例は 、アドビ自身によって示されました。

あなたはまだこれを行うことができます:




また、JavaScriptを使用すると、オブジェクトの周囲にテキストを動的に流すことができます。





ドキュメント


アドビによる詳細なCSSリージョンのドキュメント 。 まだ開発中であり、絶えず変化しています。

トピックに関する使用済み資料と役立つリンク


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


All Articles