Saya telah melihat beberapa posting di StackOverflow, tetapi belum dapat menemukan jawaban untuk pertanyaan yang agak sederhana ini.
Saya memiliki konstruksi HTML seperti ini:
<table>
<tr>
<td class="thatSetsABackground">
<div class="thatSetsABackgroundWithAnIcon">
<dl>
<dt>yada
</dt>
<dd>yada
</dd>
</dl>
<div>
</td>
<td class="thatSetsABackground">
<div class="thatSetsABackgroundWithAnIcon">
<dl>
<dt>yada
</dt>
<dd>yada
</dd>
</dl>
<div>
</td>
</tr>
</table>
Yang saya butuhkan adalah untuk div
mengisi tinggi td
, jadi saya bisa memposisikan latar belakang div (ikon) di sudut kanan bawah td
.
Bagaimana Anda menyarankan saya melakukan itu?
Jawaban:
Jika Anda memberi TD Anda tinggi 1px, maka div turunan akan memiliki orang tua yang ditinggikan untuk menghitung% asalnya. Karena konten Anda akan lebih besar dari 1px, td secara otomatis akan bertambah, seperti halnya div. Agak hack sampah, tapi saya yakin itu akan berhasil.
sumber
min-height: 1px;
alih-alihheight: 1px;
Tinggi CSS: 100% hanya berfungsi jika induk elemen memiliki tinggi yang ditentukan secara eksplisit. Misalnya, ini akan berfungsi seperti yang diharapkan:
Karena sepertinya Anda
<td>
akan menjadi tinggi variabel, bagaimana jika Anda menambahkan ikon kanan bawah dengan gambar yang benar-benar diposisikan seperti ini:Dengan markup sel tabel seperti ini:
Edit: menggunakan jQuery untuk mengatur ketinggian div
Jika Anda menyimpan
<div>
sebagai anak dari<td>
, cuplikan jQuery ini akan menyetel tingginya dengan benar:sumber
Anda dapat mencoba membuat div mengambang:
Sebagai alternatif, gunakan blok-sebaris:
Contoh kerja dari metode blok-sebaris:
sumber
Benar-benar harus melakukan ini dengan JS. Inilah solusinya. Saya tidak menggunakan nama kelas Anda, tapi saya memanggil div di dalam nama kelas td "full-height" :-) Jelas digunakan jQuery. Perhatikan ini dipanggil dari jQuery (document) .ready (function () {setFullHeights ();}); Perhatikan juga jika Anda memiliki gambar, Anda harus mengulanginya terlebih dahulu dengan sesuatu seperti:
}
Dan Anda ingin memanggil loadFullHeights () dari docReady sebagai gantinya. Ini sebenarnya yang akhirnya saya gunakan untuk berjaga-jaga. Harus berpikir jauh ke depan lho!
}
sumber
Pertanyaan ini sudah terjawab di sini . Masukkan saja ke
height: 100%
dalamdiv
dan wadahnyatd
.sumber
Ubah gambar latar belakang <td> itu sendiri.
Atau terapkan beberapa css ke div:
sumber