Saya punya sesuatu seperti itu:
<div style="width:100px;float:left">menu</div>
<div style="float:left">content</div>
kedua pelampung itu diperlukan. Saya ingin div konten memenuhi seluruh layar dikurangi 100px untuk menu. Jika saya tidak menggunakan float div mengembang persis seperti yang seharusnya. Tapi bagaimana cara mengatur ini saat float diatur? Jika saya menggunakan sth like
style=width:100%
lalu div konten mendapatkan ukuran induknya, yang berupa body atau div lain yang juga saya coba, dan tentu saja tidak sesuai di kanan menu dan kemudian ditampilkan di bawah.
Cara yang paling cocok untuk silang yang saya temukan untuk melakukan ini tidak terlalu jelas. Anda perlu menghapus float dari kolom kedua, dan menerapkannya
overflow:hidden
. Meskipun ini tampaknya menyembunyikan konten apa pun yang berada di luar div, ini sebenarnya memaksa div untuk tetap berada di dalam induknya.Menggunakan kode Anda, ini adalah contoh bagaimana hal itu dapat dilakukan:
Semoga ini bermanfaat bagi siapa pun yang mengalami masalah ini, yang menurut saya berfungsi paling baik untuk situs yang saya buat, setelah mencoba menyesuaikannya dengan resolusi lain. Sayangnya, ini tidak berfungsi jika Anda menyertakan pelampung kanan
div
setelah konten juga, jika ada yang tahu cara yang baik untuk membuatnya berfungsi, dengan kompatibilitas IE yang baik, saya akan sangat senang mendengarnya.Opsi baru yang lebih baik menggunakan
display: flex;
Sekarang model Flexbox diimplementasikan secara luas, saya sebenarnya akan merekomendasikan untuk menggunakannya, karena model ini memungkinkan lebih banyak
flex
kesibukan dengan tata letak. Berikut dua kolom sederhana seperti aslinya:Dan inilah tiga kolom dengan kolom tengah lebar fleksibel!
sumber
Solusi tanpa menetapkan ukuran pada margin Anda
1 untuk Merkuro, tetapi jika ukuran float berubah, margin tetap Anda akan gagal. Jika Anda menggunakan CSS di atas di sebelah kanan,
div
ukurannya akan berubah dengan baik dengan mengubah ukuran di float kiri. Sedikit lebih fleksibel seperti itu. Periksa biola di sini: http://jsfiddle.net/9ZHBK/144/sumber
overflow: hidden
danoverflow auto
mengakibatkan perilaku yang sama. Saya juga berpikir orang-orang menghargai Biola.Elemen yang di-float dikeluarkan dari tata letak aliran normal, dan elemen blok, seperti DIV, tidak lagi menjangkau lebar induknya. Aturan berubah dalam situasi ini. Alih-alih menemukan kembali roda, lihat situs ini untuk beberapa kemungkinan solusi untuk membuat tata letak dua kolom yang Anda cari: http://www.maxdesign.com.au/presentation/page_layouts/
Secara khusus, "tata letak Dua Kolom Cair".
Bersulang!
sumber
Ini adalah solusi terbaru untuk HTML 5 jika ada yang tertarik & tidak suka "mengambang".
Tabel berfungsi dengan baik dalam kasus ini karena Anda dapat mengatur lebar tetap ke tabel & sel tabel.
http://jsfiddle.net/EAEKc/596/ kode sumber asli dari @merkuro
sumber
penggunaan ini dapat menyelesaikan masalah Anda.
sumber
Dan berdasarkan
merkuro
solusi, jika Anda ingin memaksimalkan yang di kiri, Anda harus menggunakan:Belum diuji di IE, jadi mungkin terlihat rusak di IE.
sumber
Jawaban yang diterima mungkin berhasil, tetapi saya tidak suka gagasan tentang margin yang tumpang tindih. Di HTML5, Anda akan melakukannya dengan
display: flex;
. Ini solusi yang bersih. Cukup atur lebar untuk satu elemen danflex-grow: 1;
untuk elemen dinamis. Versi yang diedit dari biola merkuros: https://jsfiddle.net/EAEKc/1499/sumber
Hai, ada cara mudah dengan metode tersembunyi melimpah di elemen yang tepat.
sumber
Ini mungkin berhasil:
sumber