Saya memiliki kode berikut:
<td style="position: relative; min-height: 60px; vertical-align: top;">
Contents of table cell, variable height, could be more than 60px;
<div style="position: absolute; bottom: 0px;">
Notice
</div>
</td>
Ini tidak bekerja sama sekali. Untuk beberapa alasan, perintah position: relative tidak dibaca di TD dan pemberitahuan DIV ditempatkan di luar wadah konten di bagian bawah halaman saya. Saya sudah mencoba memasukkan semua isi TD ke dalam DIV seperti:
<td>
<div style="position: relative; min-height: 60px; vertical-align: top;">
Contents of table cell, variable height, could be more than 60px;
<div style="position: absolute; bottom: 0px;">
Notice
</div>
</div>
</td>
Namun, ini menimbulkan masalah baru. Karena tinggi konten sel tabel adalah variabel, DIV pemberitahuan tidak selalu berada di bagian bawah sel. Jika sel tabel membentang melebihi penanda 60px, tetapi tidak ada sel lain yang melakukannya, maka di sel lain, DIV pemberitahuan berada di 60px ke bawah, bukan di bagian bawah.
html
position
html-table
Jason Axelrod
sumber
sumber
Jawaban:
Ini karena menurut CSS 2.1 , efek
position: relative
elemen tabel tidak terdefinisi. Ilustrasi ini,position: relative
memiliki efek yang diinginkan pada Chrome 13, tetapi tidak pada Firefox 4. Solusi Anda di sini adalah menambahkandiv
sekitar konten Anda dan meletakkannyaposition: relative
didiv
atasnya alih - alihtd
. Berikut ini ilustrasi hasil yang Anda peroleh denganposition: relative
(1) atasdiv
barang), (2) atastd
(tidak baik), dan terakhir (3) di bagiandiv
dalam atd
(barang lagi).sumber
td
dalam adiv
, set kewidth: 100%
danheight: 100%
, terapkan padding apa pun dari td ke div, dan setel kerelative
? Idenya adalah untuk membuat lapisan penahan tipis tepat di atastd
, yang bertindak sepertitd
itu sendiri, tetapi itu adiv
. Itu berhasil untuk saya.position:relative
bagian tabel internal tidak ditentukan, itu berarti perilaku bagian tabel itu sendiri (misalnya, tidak jelas bagaimana seharusnya batastd
perilaku jika dialihkanposition:relative
jikaborder-collapse:collapse
). Itu tidak mengecualikan mereka dari kemungkinan mengandung blok keturunan yang benar-benar diposisikan. Jadi perilaku Firefox ternyata hanya sebuah bug, yang telah diperbaiki pada tahun 2014.Trik ini juga cocok, tetapi dalam kasus ini properti pelurusan (tengah, bawah, dll.) Tidak akan berfungsi.
sumber
Isi sel tabel, tinggi variabel, bisa lebih dari 60px;
sumber
Sehubungan dengan upaya kedua Anda, apakah Anda mencoba menggunakan perataan vertikal? Antara
atau dengan css
sumber
juga berfungsi jika Anda melakukan "display: block;" di td, menghancurkan identitas td, tapi berhasil!
sumber