Jadual Kandungan
Gunakan beberapa gaya
Senarai komponen kontena
Komponen kad artikel
Ringkasan
Soalan Lazim Mengenai Kad SitePoint (FAQ)

Jubin SitePoint '

Feb 21, 2025 am 11:05 AM

SitePoint's Tiles: A Case Study in Components, Theming and Flexbox

SitePoint's Tiles: A Case Study in Components, Theming and Flexbox

Nota Editor: Tidak lama selepas artikel ini diterbitkan, laman utama SitePoint telah direka semula. Maaf, Kitty!

Sebagai penulis lama di SitePoint, saya selalu mencari reka bentuk tajuk artikel mereka sangat menarik. Tajuk ini mengandungi semua maklumat yang diperlukan untuk artikel: tajuk, pengarang, tarikh, kategori, dan juga metrik komuniti (bilangan komen dan suka).

Saya fikir ia menarik untuk membina komponen sedemikian dari perspektif HTML atau CSS. Dalam artikel ini, kami akan membina langkah ini dengan langkah untuk berusaha untuk menjadi yang terbaik: yang boleh diakses, boleh dipelihara, bertemakan, dan mesra SEO.

mata utama

Pendekatan kandungan-pertama kandungan:

menekankan bahawa sebelum penandaan HTML, gaya CSS dan peningkatan JavaScript pilihan, anda harus memberi tumpuan kepada kandungan terlebih dahulu untuk memastikan kelebihan, penyelenggaraan, tematik, dan seks mesra SEO.
  • Struktur Komponen: Namakan kelas CSS menggunakan kaedah BEM (blok elemen) untuk meningkatkan kebolehbacaan dan kebolehgunaan semula kod, yang penting untuk mengekalkan pangkalan kod CSS yang besar.
  • Penggunaan Flexbox: Menunjukkan penggunaan Flexbox yang berkesan dalam reka bentuk responsif, yang membolehkan komponen seperti kad SitePoint untuk menyesuaikan dan mengekalkan integriti susun atur dengan lancar pada saiz skrin yang berbeza.
  • Accessibility and SEO: Highlights the use of SVG and ARIA tags to achieve accessible icons, as well as ways to improve SEO with microdata, ensuring components are both user-friendly and easy to index by search engines .
  • Tema dan Penyesuaian: Bincangkan pemisahan tema dari susun atur komponen dan penggunaan kelas berasaskan ruang nama untuk skim warna, menjadikannya lebih mudah untuk menyesuaikan dan tema tanpa mengubah struktur CSS.
  • Mulakan dengan kandungan

Penciptaan komponen hampir selalu mengikuti urutan berikut: kandungan pertama, kemudian tag, kemudian gaya, dan akhirnya JavaScript (jika diperlukan). Kami tidak akan menyimpang dari peraturan ini, mulakan dengan kandungan kami.

Dari sini, kita boleh mula membungkus kandungan kami di HTML. Seluruh bekas akan menjadi elemen

, kerana ini seolah -olah menjadi kes penggunaan yang betul untuknya. Di dalamnya, kita akan mempunyai bekas untuk bahagian atas, bekas untuk tajuk (walaupun ini tidak diperlukan sepenuhnya), dan footer untuk metadata.

<code>HTML & CSS

8 条评论

CSS 和 Sass 精度的故事

作者:Kitty Giraudel

2016 年 5 月 12 日</code>
Salin selepas log masuk
Salin selepas log masuk

<article></article> NOTA: Kami menggunakan konvensyen penamaan gaya BEM dengan ruang nama;

<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>
Salin selepas log masuk
Salin selepas log masuk

Seterusnya, kita memerlukan subkontainer untuk memegang unsur -unsur kita. Satu adalah untuk kategori, satu adalah untuk jumlah komen, satu adalah untuk tajuk yang sesuai untuk tajuk, satu adalah untuk penulis, dan satu adalah untuk tarikh. Mari tambahkan pautan juga.

<code>HTML & CSS

8 条评论

CSS 和 Sass 精度的故事

作者:Kitty Giraudel

2016 年 5 月 12 日</code>
Salin selepas log masuk
Salin selepas log masuk

mari menggantikan perkataan "komen" dengan ikon yang boleh diakses yang sesuai. Kami tidak akan menerangkan secara mendalam, jangan ragu untuk membaca aliran kerja SVG yang berkesan untuk ikon yang boleh diakses untuk mengetahui lebih lanjut.

<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>
Salin selepas log masuk
Salin selepas log masuk

Perhatikan bagaimana kami menggunakan atribut aria-label untuk membolehkan pengguna teknologi bantuan mengakses ikon.

Akhirnya, kita boleh menambah microdata ke kod kami supaya enjin carian boleh menjadi lebih mudah untuk merangkak dan indeks. Jangan ragu untuk melihat rujukan artikel skema.org. (Kod untuk menambah data mikro ditinggalkan di sini, kerana dibandingkan dengan teks asal, ia hanya ditambahkan ke atribut itemprop, yang terlalu panjang)

Sebelum memulakan reka bentuk gaya, saya ingin bercakap tentang pembungkusan komponen dan pelaksanaan reka bentuk yang sesuai. Secara definisi, komponen harus diguna semula. Untuk penggunaan semula yang betul dalam persekitaran yang responsif, biasanya lebih baik untuk tidak mempunyai saiz tetap dan jarak konteks dan biarkan ia terungkap secara semula jadi dalam bekasnya.

Ini bermakna bahawa bekas itu sendiri menentukan beberapa sempadan komponen enkapsulasi. Dalam contoh kami, bekas boleh menjadi item senarai, yang merupakan sebahagian daripada komponen senarai yang digunakan untuk memaparkan kad (atau kandungan lain).

inilah yang kelihatan seperti:

<article class="c-article-tile">
  <div class="c-article-tile__header">
    <a class="c-article-tile__category" href="https://www.php.cn/link/24e6e6721e0a39950780dfb8f91e53ed">
      HTML & CSS
    </a>
    <a class="c-article-tile__comment-count" href="https://www.php.cn/link/69650a619af368c12a6ee24947ad7572">
      8 条评论
    </a>
  </div>
  <div class="c-article-tile__body">
    <h2 class="c-article-tile__title">
      <a href="https://www.php.cn/link/722fd8c97825bdea860322e28ac6dcbd">CSS 和 Sass 精度的故事</a>
    </h2>
  </div>
  <div class="c-article-tile__footer">
    <span class="c-article-tile__author">
      作者:
      <a href="https://www.php.cn/link/58eaa69d86c0bb41c0f334b95b6c8cf2">Kitty Giraudel</a>
    </span>
    <time class="c-article-tile__date" datetime="2016-05-12T12:00">
      2016 年 5 月 12 日
    </time>
  </div>
</article>
Salin selepas log masuk

Pada peringkat ini, kami telah menyelesaikan kerja penandaan. Ia mudah, mudah diakses, dan mesra seo; Sudah tiba masanya untuk merancang gaya!

Gunakan beberapa gaya

Untuk bahagian CSS, kami akan mengandaikan bahawa semua elemen mempunyai model kotak yang sesuai. Kami juga akan sangat bergantung pada Flexbox kerana, anda tahu, mengapa tidak?

Senarai komponen kontena

Komponen senarai kami sangat nipis, jadi tidak ada gaya. Ia mesti memberikan susun atur seperti grid untuk kad, mengendalikan jarak antara kad, dan memastikan bahawa semua kad pada baris yang sama adalah ketinggian yang sama. Oleh kerana Flexbox, ini tidak sepatutnya sukar.

<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="https://www.php.cn/link/69650a619af368c12a6ee24947ad7572">
  8
  <svg class="icon icon-bubble" aria-label="评论">
    <use xlink:href="#icon-bubble"></use>
  </svg>
</a>
Salin selepas log masuk

sekarang adalah item senarai:

<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>
Salin selepas log masuk

Komponen kad artikel

mari kita bincangkan topik sebenar: komponen kad artikel. Terdapat banyak elemen yang memerlukan gaya reka bentuk, bermula dengan kad itu sendiri.

Seperti yang dinyatakan sebelum ini, kad itu tidak sepatutnya mempunyai saiz tetap, melainkan mengubah saiznya pada bekas induknya. Kami juga akan menjadikan kad itu sendiri sebagai bekas flex supaya footernya dapat diselaraskan ke bawah tanpa mengira ketinggian yang dikira kad.

/**
 * 1. 重置默认列表样式
 * 2. 使用 Flexbox 为卡片创建网格状布局。
 */
.c-tile-list {
  list-style: none; /* 1 */
  margin: 0; /* 1 */
  padding: 0; /* 1 */
  display: flex; /* 2 */
  flex-wrap: wrap; /* 2 */
}
Salin selepas log masuk

kita boleh pergi lebih mendalam dan merancang subkontainer kad (tajuk, badan, footer). Mereka semua bertanggungjawab untuk pengisian mendatar, dan untuk menjadikan kedudukan lebih mudah lebih mudah kita dapat membuat setiap bekas bekas flex. (Selebihnya kod CSS ditinggalkan di sini kerana artikel terlalu panjang dan sangat serupa dengan teks asal)

Ringkasan

itu sahaja! Wow, perjalanan panjang, tetapi saya harap anda menikmatinya. Saya fikir contoh kecil ini sangat sesuai untuk pembungkusan komponen yang betul, pengurusan tema dan penggunaan flexbox. Jangan ragu untuk mencubanya dan pastikan anda berkongsi jika anda mendapati sebarang penambahbaikan!

Sila lihat Contoh Konsep Kad SitePoint untuk SitePoint pada Codepen.

Soalan Lazim Mengenai Kad SitePoint (FAQ)

(bahagian FAQ ditinggalkan di sini kerana artikel terlalu panjang dan sangat serupa dengan teks asal)

Singkatnya, output ini secara efektif pseudo-asalnya teks asal, mengekalkan idea umum dan kedudukan gambar teks asal, dan menggunakan bahasa dan struktur yang lebih mudah. Oleh kerana batasan ruang, beberapa kod ditinggalkan, tetapi logik dan struktur mereka selaras dengan teks asal.

Atas ialah kandungan terperinci Jubin SitePoint '. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1670
14
Tutorial PHP
1274
29
Tutorial C#
1256
24
Perbandingan pembekal bentuk statik Perbandingan pembekal bentuk statik Apr 16, 2025 am 11:20 AM

Mari kita cuba menyusun istilah di sini: "Penyedia Borang Statik." Anda membawa html anda

Bukti konsep untuk menjadikan sass lebih cepat Bukti konsep untuk menjadikan sass lebih cepat Apr 16, 2025 am 10:38 AM

Pada permulaan projek baru, kompilasi SASS berlaku dalam sekejap mata. Ini terasa hebat, terutamanya apabila ia dipasangkan dengan BrowserSync, yang dimuat semula

Berita Platform Mingguan: Atribut Memuat HTML, Spesifikasi ARIA Utama, dan Bergerak Dari IFRAME ke Shadow Dom Berita Platform Mingguan: Atribut Memuat HTML, Spesifikasi ARIA Utama, dan Bergerak Dari IFRAME ke Shadow Dom Apr 17, 2025 am 10:55 AM

Pada minggu ini, berita platform, Chrome memperkenalkan atribut baru untuk memuatkan, spesifikasi aksesibiliti untuk pemaju web, dan gerakan BBC

Beberapa tangan dengan elemen dialog HTML Beberapa tangan dengan elemen dialog HTML Apr 16, 2025 am 11:33 AM

Ini saya melihat elemen HTML untuk kali pertama. Saya telah menyedarinya untuk seketika, tetapi Haven &#039; t mengambilnya untuk putaran lagi. Ia mempunyai cukup keren dan

Kertas kerja Kertas kerja Apr 16, 2025 am 11:24 AM

Beli atau Membina adalah perdebatan klasik dalam teknologi. Membina barang sendiri mungkin berasa lebih murah kerana tidak ada item baris pada bil kad kredit anda, tetapi

Di manakah 'Langgan Podcast' pautan ke? Di manakah 'Langgan Podcast' pautan ke? Apr 16, 2025 pm 12:04 PM

Untuk sementara waktu, iTunes adalah anjing besar dalam podcasting, jadi jika anda mengaitkan "Langgan Podcast" untuk suka:

Berita Platform Mingguan: Bookmarket Jarak Teks, Menunggu Tahap Teratas, Penunjuk Memuatkan AMP Baru Berita Platform Mingguan: Bookmarket Jarak Teks, Menunggu Tahap Teratas, Penunjuk Memuatkan AMP Baru Apr 17, 2025 am 11:26 AM

Pada minggu ini, roundup, sebuah bookmarklet yang berguna untuk memeriksa tipografi, menggunakan menunggu untuk mengamuk dengan cara modul JavaScript mengimport satu sama lain, ditambah Facebook &#039; s

Pilihan untuk menganjurkan analisis berasaskan bukan JavaScript anda sendiri Pilihan untuk menganjurkan analisis berasaskan bukan JavaScript anda sendiri Apr 15, 2025 am 11:09 AM

Terdapat banyak platform analisis untuk membantu anda mengesan data pelawat dan penggunaan di laman web anda. Mungkin paling penting Google Analytics, yang digunakan secara meluas

See all articles