Rumah > Artikel > hujung hadapan web > Bolehkah saya menggunakan `col`, `colgroup` dan CSS `:hover` untuk menyerlahkan lebih daripada sel jadual tunggal?
Bolehkah col, colgroup dan pseudoclass "hover" css digunakan untuk lebih daripada sel tunggal?
Untuk menyerlahkan baris jadual dan lajur pada hover tetikus, kelas pseudo CSS seperti ":hover" boleh digunakan. Tetapi bagaimana jika anda ingin menyerlahkan bukan sahaja sel tunggal, tetapi keseluruhan baris atau lajur, termasuk pengepala?
Penyelesaian CSS tulen boleh mencapai ini menggunakan ::before dan ::after pseudo-elements. Elemen ini menambah kandungan sebelum dan selepas elemen yang dipilih, masing-masing. Begini caranya:
Buat Elemen Sorotan:
Sembunyikan Limpahan Sorotan:
Tambah Pemilih Baris/Lajur:
Kod CSS di bawah melaksanakan prinsip ini:
table { overflow: hidden; } td, th, .row, .col { cursor: pointer; padding: 10px; position: relative; } td:hover::before, .row:hover::before { background-color: #FFA; content: '<pre class="brush:php;toolbar:false"><table> <tr> <th></th><th>50kg</th><th>55kg</th><th>60kg</th><th>65kg</th><th>70kg</th> </tr> <tr class="row"> <th class="row">160cm</th><td>20</td><td>21</td><td>23</td><td>25</td><td>27</td> </tr> <tr class="row"> <th class="row">165cm</th><td>18</td><td>20</td><td>22</td><td>24</td><td>26</td> </tr> </table>a0'; height: 100%; left: -5000px; position: absolute; top: 0; width: 10000px; z-index: -1; } td:hover::after, .col:hover::after { background-color: #FFA; content: 'a0'; height: 10000px; left: 0; position: absolute; top: -5000px; width: 100%; z-index: -1; }
HTML sebahagian besarnya kekal tidak berubah, tetapi termasuk nama kelas untuk baris dan lajur:
Penyelesaian ini berfungsi dalam penyemak imbas moden, memanjangkan kesan sorotan tuding ke seluruh baris dan lajur dengan elegan.
Atas ialah kandungan terperinci Bolehkah saya menggunakan `col`, `colgroup` dan CSS `:hover` untuk menyerlahkan lebih daripada sel jadual tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!