Apakah ada cara untuk mewarnai bentang kolom sampai ke bawah. Lihat, contoh awal di bawah ini:
<table border="1">
<tr>
<th>Motor</th>
<th colspan="3">Engine</th>
<th>Car</th>
<th colspan="2">Body</th>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
</tr>
<tr>
<td>7</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
</table>
Dan saya mencari cara yang lebih baik (lebih sedikit kode, pewarnaan non-individu) untuk mewarnai, misalnya, rentang "Mesin" dan "Badan", termasuk semua sel di bawahnya di #DDD
<style>
.color {
background-color: #DDD
}
</style>
<table border="1">
<tr>
<th>Motor</th>
<th colspan="3" class="color">Engine</th>
<th>Car</th>
<th colspan="2" class="color">Body</th>
</tr>
<tr>
<td>1</td>
<td class="color">2</td>
<td class="color">3</td>
<td class="color">4</td>
<td>5</td>
<td class="color">6</td>
<td class="color">7</td>
</tr>
<tr>
<td>7</td>
<td class="color">1</td>
<td class="color">2</td>
<td class="color">3</td>
<td>4</td>
<td class="color">5</td>
<td class="color">6</td>
</tr>
</table>
Jawaban:
Ya, Anda bisa ... menggunakan
<col>
elemen:Catatan : Anda dapat menggunakan
span
atribut agar definisi kolom diterapkan ke lebih dari satu kolom.Lihat juga :
<colgroup>
sumber
<col span="3" />
kolom rentang.colgroup
yang berisi semua kolom.<tbody>
. Saya hanya lebih suka menentukan.col
tag tidak begitu umum, tetapi saya selalu menggunakannya untuk lebar kolomAnda dapat menggunakan
nth-child
selektor untuk itu:sumber
col
sendiri jauh lebih baik dari ini (lebih bersih dan lebih cepat).Biasanya paling sederhana untuk memberi gaya pada sel (menurut kolom jika diinginkan), tetapi kolom dapat diberi gaya, dengan cara yang berbeda. Salah satu cara sederhana adalah membungkus kolom dalam sebuah
colgroup
elemen dan mengatur gaya di atasnya. Contoh:sumber
col
elemen individu di dalamcolgroup
s tidak perlu diberi gaya satu per satu, Anda juga dapat menyetelspan
atributcolgroup
itu sendiri -<colgroup span="2">
- daripada menempatkancol
elemen di dalamnya.Anda dapat menggunakan CSS3: http://jsfiddle.net/snuggles08/bm98g8v8/
sumber
Saya akan menggunakan
nth-child
pseudo-class css untuk ini:Tampilkan cuplikan kode
sumber
Implement berikut adalah pemilih anak ke-n dan harus berfungsi ...
sumber
>
antara tr dan td, karena Anda mengalami kesulitan memilih tds hanya di dalam trs saja di dalam tabel ... (perhatikan tablegroups.)table tr td
adalah mubazir karenatd
selalu di dalamtr
dantable
.Versi saya menggunakan ekspresi anak ke-n:
Menggunakan konsep CSS aturan kaskade untuk pertama mewarnai sel dan kemudian menghapus warna yang saya ingin transparan. Pemilih pertama memilih semua sel setelah sel pertama, dan sel kedua memilih sel kelima agar transparan.
Periksa referensi menarik ini: http://learn.shayhowe.com/advanced-html-css/complex-selectors/
sumber
Ini adalah pertanyaan lama dengan banyak jawaban bagus. Hanya ingin menambahkan pemilih
-n
dannth-last-child
yang belum disebutkan. Mereka membantu saat menerapkan CSS ke beberapa kolom tetapi mungkin tidak mengetahui jumlah kolom sebelum penggayaan, atau memiliki beberapa tabel dengan lebar yang bervariasi.jsFiddle: https://jsfiddle.net/3rpf5oht/2/
sumber