cari

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>

<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>

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>

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>

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>

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>

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>

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 */
}

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
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
@KeyFrames vs CSS Transitions: Apakah perbezaannya?@KeyFrames vs CSS Transitions: Apakah perbezaannya?May 14, 2025 am 12:01 AM

@keyframesandcsstransitionsdifferincomplexity:@keyframesallowsfordetailedanimationseSseSeSs, whileCstransitionShandlesImplestateShanges.usecsstransitionsforhovereffectsLikeButtonColorchanges, dan@keyframesforintricateanimation.

Menggunakan halaman CMS untuk pengurusan kandungan tapak statikMenggunakan halaman CMS untuk pengurusan kandungan tapak statikMay 13, 2025 am 09:24 AM

Saya tahu, saya tahu: terdapat satu tan pilihan sistem pengurusan kandungan yang tersedia, dan sementara saya telah menguji beberapa, tidak ada yang benar -benar menjadi satu, y ' tahu? Model harga pelik, penyesuaian yang sukar, sesetengahnya akhirnya menjadi keseluruhan &

Panduan Terbaik untuk Menghubungkan Fail CSS di HTMLPanduan Terbaik untuk Menghubungkan Fail CSS di HTMLMay 13, 2025 am 12:02 AM

Menghubungkan fail CSS ke HTML boleh dicapai dengan menggunakan unsur -unsur dalam sebahagian HTML. 1) Gunakan tag untuk menghubungkan fail CSS tempatan. 2) Pelbagai fail CSS boleh dilaksanakan dengan menambahkan beberapa tag. 3) Fail CSS luaran menggunakan pautan URL mutlak, seperti. 4) Pastikan penggunaan laluan fail yang betul dan pesanan pemuatan fail CSS, dan mengoptimumkan prestasi boleh menggunakan preprocessor CSS untuk menggabungkan fail.

CSS Flexbox vs Grid: Kajian KomprehensifCSS Flexbox vs Grid: Kajian KomprehensifMay 12, 2025 am 12:01 AM

Memilih Flexbox atau Grid bergantung kepada keperluan susun atur: 1) Flexbox sesuai untuk susun atur satu dimensi, seperti bar navigasi; 2) Grid sesuai untuk susun atur dua dimensi, seperti susun atur majalah. Kedua -duanya boleh digunakan dalam projek untuk meningkatkan kesan susun atur.

Cara memasukkan fail CSS: Kaedah dan amalan terbaikCara memasukkan fail CSS: Kaedah dan amalan terbaikMay 11, 2025 am 12:02 AM

Cara terbaik untuk memasukkan fail CSS adalah menggunakan tag untuk memperkenalkan fail CSS luaran di bahagian HTML. 1. Gunakan tag untuk memperkenalkan fail CSS luaran, seperti. 2. Untuk pelarasan kecil, css sebaris boleh digunakan, tetapi harus digunakan dengan berhati -hati. 3. Projek besar boleh menggunakan preprocessors CSS seperti SASS atau kurang untuk mengimport fail CSS lain melalui @import. 4. Untuk prestasi, fail CSS harus digabungkan dan CDN harus digunakan, dan dimampatkan menggunakan alat seperti CSSNANO.

Flexbox vs Grid: Sekiranya saya belajar kedua -duanya?Flexbox vs Grid: Sekiranya saya belajar kedua -duanya?May 10, 2025 am 12:01 AM

Ya, youdyhouldlearnbothflexboxandgrid.1) flexboxisidealforone-dimensi, flexiblelayoutslikenavigasiMenus.2)

Mekanik Orbital (atau bagaimana saya mengoptimumkan animasi kerangka utama CSS)Mekanik Orbital (atau bagaimana saya mengoptimumkan animasi kerangka utama CSS)May 09, 2025 am 09:57 AM

Apa yang kelihatan seperti refactor kod anda sendiri? John Rhea memisahkan animasi CSS lama yang dia tulis dan berjalan melalui proses pemikiran mengoptimumkannya.

Animasi CSS: Adakah sukar untuk mencipta mereka?Animasi CSS: Adakah sukar untuk mencipta mereka?May 09, 2025 am 12:03 AM

Csanimationsarenotinherenthardbutrequirepracticeandundunderpanderofcsspropertiesandtimingfunctions.1) startwithsimpleanimationslikescalingabuttonhoverusingkeyframes.2)

See all articles

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

Nordhold: Sistem Fusion, dijelaskan
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini