Saya memiliki struktur halaman yang mirip dengan ini:
<body>
<div id="parent">
<div id="childRightCol">
/*Content*/
</div>
<div id="childLeftCol">
/*Content*/
</div>
</div>
</body>
Saya ingin bagi orangtua div
untuk memperluas di height
saat batin div
's height
meningkat.
Sunting:
Satu masalah adalah bahwa jika width
konten anak meluas melewati width
jendela browser, CSS saya saat ini menempatkan scrollbar horizontal pada induknya div
. Saya ingin bilah gulir berada di tingkat halaman. Saat ini div orangtua saya diatur keoverflow: auto;
Bisakah Anda membantu saya dengan CSS untuk ini?
Jawaban:
Coba ini untuk orang tua, itu berhasil untuk saya.
MEMPERBARUI:
Satu lagi solusi yang berhasil:
Induk :
Anak :
sumber
overflow:auto
berarti browser harus memutuskan nilai yang akan diterapkan. Yang benar-benar melakukan trik inioverflow: overlay
.overflow:hidden
.overlay
tidak didukung di luar Webkit. Lain yang sama sekali berbeda adalah mengatakan itu tidak ada sama sekali. Tolong, RTFM dulu . ;)display:inline-block
. Yang bekerja sangat bagus untuk saya.tambahkan a
clear:both
. dengan asumsi bahwa kolom Anda mengambang. Bergantung pada bagaimana tinggi badan Anda ditentukan orang tua, Anda mungkin perlu overflow: otomatis;sumber
Seperti yang dikatakan Jens dalam komentar
Ini bekerja jauh lebih baik untuk saya di semua browser.
sumber
Cobalah berikan
max-content
untuk tinggi badan orang tua.https://jsfiddle.net/FreeS/so4L83wu/5/
sumber
Bagi mereka yang tidak bisa mengetahui ini dalam instruksi dari jawaban ini di sana:
Cobalah untuk set bantalan nilai lebih maka 0 , jika divs anak memiliki margin-top atau margin-bottom Anda bisa menggantinya dengan bantalan
Misalnya kalau sudah
akan lebih baik untuk menggantinya dengan:
sumber
Menggunakan sesuatu seperti diri kliring
div
sangat cocok untuk situasi seperti ini . Maka Anda hanya akan menggunakan kelas pada induk ... seperti:sumber
Menambahkan
Ke css dari div induk, atau tambahkan div di bagian bawah div induk yang jelas: keduanya;
Itu jawaban yang benar, karena melimpah: otomatis; mungkin berfungsi untuk tata letak web sederhana, tetapi akan mengacaukan dengan elemen yang mulai menggunakan hal-hal seperti margin negatif, dll
sumber
Apakah ini melakukan apa yang Anda inginkan?
sumber
Apakah Anda mencari tata letak CSS 2 kolom ?
Jika demikian, lihat petunjuknya , cukup mudah untuk memulai.
sumber
Saya membuat div orangtua memperluas konten div anak dengan meminta div anak sebagai satu kolom yang tidak memiliki atribut pemosisian seperti yang ditentukan absolut.
Contoh:
Didasarkan pada maincolumn div yang merupakan div anak terdalam #wrap, ini mendefinisikan kedalaman #wrap div dan pad 200px di kedua sisi menciptakan dua kolom kosong besar bagi Anda untuk menempatkan div yang benar-benar diposisikan sesukamu. Anda bahkan dapat mengubah padding atas dan bawah untuk menempatkan div header dan footer div menggunakan posisi: absolut.
sumber
Anda harus menerapkan solusi clearfix pada wadah induk. Berikut ini adalah artikel bagus yang menjelaskan tautan perbaikan
sumber
Jika konten Anda di dalam #childRightCol dan #childRightCol melayang ke kiri atau kanan, tambahkan saja ini ke css:
sumber
Ini berfungsi sebagaimana dijelaskan oleh spesifikasi - beberapa jawaban di sini valid, dan konsisten dengan yang berikut:
dari sini: https://www.w3.org/TR/css3-box/#blockwidth
sumber
Kode di bawah ini berfungsi untuk saya.
css
html
sumber
sumber
Darimana Kita Mulai
Inilah beberapa boilerplate HTML dan CSS. Dalam contoh kami, kami memiliki elemen induk dengan dua elemen anak melayang.
Solusi # 1: overflow: otomatis
Solusi yang bekerja di semua browser modern dan di Internet Explorer kembali ke IE8 adalah menambahkan
overflow: auto
elemen induk. Ini juga berfungsi di IE7, dengan scrollbar ditambahkan.Solusi # 2: Wadah Induk Apung
Solusi lain yang berfungsi di semua browser modern dan kembali ke IE7 adalah dengan mengapung wadah induk.
Ini mungkin tidak selalu praktis, karena mengambang div orangtua Anda dapat mempengaruhi bagian lain dari tata letak halaman Anda.
Metode # 3: Tambahkan Kliring Kliring Di Bawah Elemen Melayang
Metode # 4: Tambahkan Kliring Kliring ke Elemen Induk Solusi ini cukup anti peluru untuk peramban lama dan peramban baru.
dari https://www.lockedownseo.com/parent-div-100-height-child-floated-elements/
sumber
Saya menggunakan CSS ini untuk orang tua dan berfungsi:
sumber
Anda dikelola dengan menggunakan
overflow:hidden;
properti di csssumber