Persyaratan saya sederhana: 2 kolom di mana yang benar memiliki ukuran tetap . Sayangnya saya tidak dapat menemukan solusi yang berfungsi, baik di stackoverflow maupun di Google. Setiap solusi yang dijelaskan di sana gagal jika saya menerapkannya dalam konteks saya sendiri. Solusi saat ini adalah:
div.container {
position: fixed;
float: left;
top: 100px;
width: 100%;
clear: both;
}
#content {
margin-right: 265px;
}
#right {
float: right;
width: 225px;
margin-left: -225px;
}
#right, #content {
height: 1%; /* fixed for IE, although doesn't seem to work */
padding: 20px;
}
<div class="container">
<div id="content">
fooburg content
</div>
<div id="right">
test right
</div>
</div>
Saya mendapatkan yang berikut dengan kode di atas:
|----------------------- -------|
| fooburg content | |
|-------------------------------|
| | test right |
|----------------------- -------|
Mohon saran. Terimakasih banyak!
clear: both
di dalam salah satu kolom tidak akan memengaruhi pelampung luar. Ini bukan "rapuh" kecuali Anda menempatkan jelas pada tingkat yang sama dari kolom antara kolom, jika Anda menempatkannya di akhir tidak ada salahnya dilakukan.Lihat http://www.alistapart.com/articles/negativemargins/ , inilah yang Anda butuhkan ( contoh 4 di sana).
sumber
Yang terbaik untuk menghindari menempatkan kolom kanan sebelum kiri, cukup gunakan margin kanan negatif.
Dan menjadi "responsif" dengan memasukkan pengaturan @media sehingga kolom kanan jatuh di bawah kiri pada layar sempit.
sumber
Solusi termudah dan paling fleksibel sejauh ini untuk digunakan
table display
:HTML, div kiri datang pertama, div kanan datang kedua ... kita membaca dan menulis dari kiri ke kanan, sehingga tidak masuk akal untuk menempatkan divs kanan ke kiri
CSS:
Contoh kasus:
sumber
table
dengantd
s tentu saja tidak!Saya ingin menyarankan solusi yang belum disebutkan: gunakan CSS3
calc()
untuk mencampur%
danpx
unit.calc()
memiliki dukungan yang sangat baik saat ini, dan memungkinkan untuk konstruksi tata letak yang cukup kompleks.Berikut ini tautan JSFiddle untuk kode di bawah ini.
HTML:
CSS:
Dan inilah JSFiddle lain yang menunjukkan konsep ini diterapkan pada tata letak yang lebih kompleks. Saya menggunakan SCSS di sini karena variabelnya memungkinkan untuk kode yang fleksibel dan self-deskriptif, tetapi tata letak dapat dengan mudah dibuat kembali dalam CSS murni jika memiliki nilai "hard-coded" bukan masalah.
sumber
Ini adalah solusi berurutan sumber HTML generik di mana:
Memperbaiki / Kolom Kedua di Kanan
Memperbaiki / Kolom Kedua di Kiri
Solusi alternatif adalah dengan menggunakan display: table-cell ; yang menghasilkan kolom tinggi yang sama.
sumber
Hai, Apa yang bisa Anda lakukan adalah menerapkan lebar tetap ke kedua wadah dan kemudian menggunakan kelas div lain di mana jelas: keduanya, suka
letakkan div yang jelas di bawah wadah kiri dan kanan.
sumber
Saya telah menyederhanakannya: Saya telah mengedit jawaban jackjoe. Tinggi otomatis dll tidak diperlukan saya pikir.
CSS:
HTML:
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus varius eleifend. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Phasellus varius eleifend.
sumber