Anak tunggal CSS dan bukannya Logik Bersyarat

DDD
Lepaskan: 2024-10-26 11:09:29
asal
522 orang telah melayarinya

Dalam kebanyakan rangka kerja bahagian hadapan yang saya gunakan, terdapat pilihan untuk ternaries atau if-cawangan yang disuntik ke dalam logik HTML. Ini logik yang saya banyak gunakan. Satu kes tertentu adalah untuk menunjukkan apabila tiada data.

Saya baru sahaja terjumpa corak CSS yang menjadikan hidup saya lebih mudah: kelas pseudo :anak tunggal.

Bertindak balas

Dalam React, saya akan melakukan "sesuatu" seperti ini ...

{
  data.length === 0
    ? <div>Nothing to show.</div>
    : <TableWithRecords />
}
Salin selepas log masuk

bersudut

Dalam Angular, saya akan melakukan "sesuatu" seperti ini ...

@if (data.length === 0) {
   <div>Nothing to show.</div>
} @else {
   <TableWithRecords />
}
Salin selepas log masuk

Menggunakan CSS

Ringkasnya, saya ada dua kes.

  1. Tiada data.
  2. Ada data.
<h2>No Data Showing</h2>
<ul>
  <li class="handle-no-data">Nothing to show.</li>
  <!-- <li>Data here</li> -->
</ul>

<h2>Data Showing</h2>
<ul>
  <li class="handle-no-data">Nothing to show.</li>
  <li>Data here</li>
</ul>
Salin selepas log masuk

Menggunakan kelas CSS ringkas .single ...

.handle-no-data:not(:only-child) {
  display: none;
}
.handle-no-data:only-child {
  display: flex;
}
Salin selepas log masuk

CSS ini boleh dipermudahkan kepada ...

.handle-no-data {
  &:not(:only-child) {
    display: none;
  }
  &:only-child {
    display: flex;
  }
}
Salin selepas log masuk

Inilah hasil kod di atas ...

CSS

Ringkasan

Seperti yang anda lihat, saya perlu mengalihkan pengendalian data ke tahap jadual, tetapi CSS agak lurus ke hadapan untuk mengendalikan senario "tiada data".

Ini menarik!

Atas ialah kandungan terperinci Anak tunggal CSS dan bukannya Logik Bersyarat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!