編集者注:この記事が公開された直後、SitePointホームページが再設計されました。申し訳ありませんが、キティ!
<code>HTML & CSS 8 条评论 CSS 和 Sass 精度的故事 作者:Kitty Giraudel 2016 年 5 月 12 日</code>
要素になります。その中には、上部のコンテナ、タイトルのコンテナ(これは完全に必要ではありません)、メタデータのフッターがあります。 <article></article>
<article class="c-article-tile"> <div class="c-article-tile__header"> HTML & CSS 8 条评论 </div> <div class="c-article-tile__body"> CSS 和 Sass 精度的故事 </div> <div class="c-article-tile__footer"> 作者:Kitty Giraudel 2016 年 5 月 12 日 </div> </article>
注:名前空間でBEMスタイルの命名規則を使用します。
次に、要素を保持するためにサブコンテナーが必要です。 1つはカテゴリ用、1つはコメント数、1つはタイトル用の適切なタイトル用、1つは著者向けで、1つは日付です。リンクも追加しましょう。
<code>HTML & CSS 8 条评论 CSS 和 Sass 精度的故事 作者:Kitty Giraudel 2016 年 5 月 12 日</code>
「コメント」という言葉を適切なアクセス可能なアイコンに置き換えましょう。詳細に説明することはありません。アクセス可能なアイコンの効果的なSVGワークフローをお気軽にお読みください。
<article class="c-article-tile"> <div class="c-article-tile__header"> HTML & CSS 8 条评论 </div> <div class="c-article-tile__body"> CSS 和 Sass 精度的故事 </div> <div class="c-article-tile__footer"> 作者:Kitty Giraudel 2016 年 5 月 12 日 </div> </article>
aria-label
属性を使用して、支援技術ユーザーがアイコンにアクセスできるようにする方法に注意してください。
最後に、検索エンジンがクロールとインデックスを簡単にできるように、コードにマイクロダタを追加できます。 schema.orgの記事リファレンスをお気軽にご覧ください。 (ここでは、マイクロデータを追加するためのコードは省略されています。これは、元のテキストと比較して、ItemProp属性にのみ追加されるため、長すぎます)
スタイルデザインを開始する前に、コンポーネントのパッケージングと適切なデザインの実装についてお話したいと思います。定義上、コンポーネントは再利用可能である必要があります。応答性の高い環境での適切な再利用のために、通常、固定サイズとコンテキスト間隔を持たず、コンテナで自然に展開する方が良いです。
これは、コンテナ自体がカプセル化コンポーネントの何らかの境界を指定することを意味します。この例では、コンテナはリスト項目にすることができます。これは、カード(またはその他のコンテンツ)を表示するために使用されるリストコンポーネントの一部です。
これが次のように見えるかもしれません:
<article class="c-article-tile"> <div class="c-article-tile__header"> <a class="c-article-tile__category" href="//m.sbmmt.com/link/24e6e6721e0a39950780dfb8f91e53ed"> HTML & CSS </a> <a class="c-article-tile__comment-count" href="//m.sbmmt.com/link/69650a619af368c12a6ee24947ad7572"> 8 条评论 </a> </div> <div class="c-article-tile__body"> <h2 class="c-article-tile__title"> <a href="//m.sbmmt.com/link/722fd8c97825bdea860322e28ac6dcbd">CSS 和 Sass 精度的故事</a> </h2> </div> <div class="c-article-tile__footer"> <span class="c-article-tile__author"> 作者: <a href="//m.sbmmt.com/link/58eaa69d86c0bb41c0f334b95b6c8cf2">Kitty Giraudel</a> </span> <time class="c-article-tile__date" datetime="2016-05-12T12:00"> 2016 年 5 月 12 日 </time> </div> </article>
コンテナコンポーネントのリスト
<svg style="display: none"> <symbol id="icon-bubble" viewBox="0 0 32 32"> <path class="path1" d="M16 2c8.837 0 16 5.82 16 13s-7.163 13-16 13c-0.849 0-1.682-0.054-2.495-0.158-3.437 3.437-7.539 4.053-11.505 4.144v-0.841c2.142-1.049 4-2.961 4-5.145 0-0.305-0.024-0.604-0.068-0.897-3.619-2.383-5.932-6.024-5.932-10.103 0-7.18 7.163-13 16-13z"></path> </symbol> </svg> <a class="c-article-tile__comment-count" href="//m.sbmmt.com/link/69650a619af368c12a6ee24947ad7572"> 8 <svg class="icon icon-bubble" aria-label="评论"> <use xlink:href="#icon-bubble"></use> </svg> </a>
<ul class="c-tile-list"> <li class="c-tile-list__item"> <article class="c-article-tile">…</article> </li> <li class="c-tile-list__item"> <article class="c-article-tile">…</article> </li> <li class="c-tile-list__item"> <article class="c-article-tile">…</article> </li> </ul>
前述のように、カードには固定サイズではなく、親コンテナにサイズを変更する必要があります。また、カードの計算された高さに関係なく、フッターを下部に整列できるように、カード自体をフレックスコンテナにします。
より深く進み、カードのサブコンテナー(タイトル、ボディ、フッター)を設計できます。それらはすべて、いくつかの水平充填の責任があり、さらに位置決めを容易にするために、各コンテナをフレックスコンテナにすることができます。 (記事が長すぎて元のテキストに非常に似ているため、CSSコードの残りはここでは省略されています)
/** * 1. 重置默认列表样式 * 2. 使用 Flexbox 为卡片创建网格状布局。 */ .c-tile-list { list-style: none; /* 1 */ margin: 0; /* 1 */ padding: 0; /* 1 */ display: flex; /* 2 */ flex-wrap: wrap; /* 2 */ }
それだけです!うわー、それは長い旅でしたが、私はあなたがそれを楽しむことを願っています。この小さな例は、適切なコンポーネントパッケージ、テーマ管理、フレックスボックスの使用に非常に適していると思います。お気軽に試してみてください。改善が見つかった場合は必ず共有してください!
CodepenのSitePointのSitePoint Card Conceptの例をご覧ください。
SitePointカード(FAQ)要するに、この出力は、元のテキストを効果的に擬似オリジナル化し、元のテキストの一般的なアイデアと画像位置を保持し、より単純な言語と構造を使用します。 スペースの制限により、一部のコードは省略されていますが、その論理と構造は元のテキストと一致しています。
以上がSitePoint&#x27; sタイル:コンポーネント、テーマ、フレックスボックスのケーススタディの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。