Saya akan display: inline-blockorang-orang itu daripada melayang mereka. Jika total lebarnya kurang dari lebar kontainer, mereka akan duduk bersebelahan.
Adam Waite
Saya sarankan menggunakan "display: table". Ini adalah solusi yang paling dapat dipelihara dan dapat diandalkan. lihat stackoverflow.com/questions/14070787/…
John Henckel
Jawaban:
300
Beri mereka lebar dan float: left;, inilah sebuah contoh:
Bagaimana jika Anda ingin semuanya berkembang saat halaman diperluas?
CodyBugstein
31
@imray cukup gunakan% daripada px
TehTris
9
Bisakah Anda menguraikan mengapa harus digunakan <br style="clear: left;" />dengan gaya itu pada khususnya.
Mike de Klerk
2
@MikedeKlerk ini adalah perbaikan yang jelas, untuk menghindari runtuhnya induk.
Angel Politis
seperti yang dijelaskan @Nick Craver, Anda harus memberikan semua elemen Anda properti float: left . Ini terjadi karena properti float menentukan bagaimana elemen ditempatkan di sepanjang sisi kiri atau kanan wadah induknya .
Tapi DIV adalah elemen level blok, kan? Lalu bagaimana mereka ditempatkan berdampingan dan tidak di baris berikutnya (sebagai elemen level blok dimulai dan diakhiri dengan jeda baris). Apakah float memiliki pengaruh lain terhadapnya juga?
Ashwin
26
mengapung mereka semua pergi
pastikan lebar ditentukan bahwa mereka semua dapat masuk ke dalam wadah mereka (baik div lain atau jendela), kalau tidak mereka akan membungkus
kode yang diposting seseorang di sana, itu berhasil !!! ketika saya menempelkannya tepat sebelum menutup Container DIV, ada baiknya membersihkan semua DIV berikutnya agar tidak tumpang tindih dengan DIV yang saya buat berdampingan di bagian atas!
<div><divclass="left"></div><divclass="left"></div>
...
...
<divclass="left"></div><!-- then magic trick comes here --><brstyle="clear: left;"/></div>
Intinya adalah bahwa jawaban saya adalah yang paling benar dan ketika orang baru akan mencari Q ini di internet mereka akan menemukan jawaban saya yang akan sangat membantu mereka.
Arwen
2
Itu mungkin. Tetapi tidak ada penjelasan. Tidak apa-apa di situs ini untuk menyalin jawaban lain, menggabungkan beberapa jawaban parsial menjadi satu jawaban yang lebih baik. Anda dapat mengedit dan menyelesaikan milik Anda. Namun pengguna baru memiliki beberapa batasan (upvoting, beberapa tautan), jadi saya tetap merekomendasikan untuk tidak fokus pada pertanyaan lama dan dijawab.
cfi
@ cfi terima kasih, saya akan menyimpannya untuk referensi di masa mendatang.
Arwen
10
Saya biasanya hanya melayang yang pertama ke kiri, yang kedua ke kanan. Yang ketiga secara otomatis menyelaraskan di antara mereka.
Bukankah itu menyebabkan kekacauan ketika browser diubah ukurannya?
CodyBugstein
10
<style>.left-column
{float:left;width:30%;background-color:red;}.right-column
{float:right;width:30%;background-color:green;}.center-column
{margin:auto;width:30%;background-color:blue;}</style><divid="container"><sectionclass="left-column">THIS IS COLUMN 1 LEFT</section><sectionclass="right-column">THIS IS COLUMN 3 RIGHT</section><sectionclass="center-column">THIS IS COLUMN 2 CENTER</section></div>
keuntungan dari cara ini adalah Anda dapat mengatur masing-masing lebar kolom independen dari yang lain selama Anda menyimpannya di bawah 100%, jika Anda menggunakan 3 x 30% sisanya 10% dibagi sebagai ruang pembagi 5% antara kolom
DIPERBARUI: Tentu saja, untuk menggunakan teknik ini dan karena posisi absolut Anda perlu melampirkan divs pada wadah dan melakukan postprocessing untuk menentukan ketinggian jika, sesuatu seperti ini:
Tentu saja, untuk menggunakan teknik ini dan karena posisi absolut Anda perlu melampirkan divs pada wadah dan melakukan postprocessing untuk menentukan ketinggian jika, sesuatu seperti ini:
jpbourbon
jQuery (document) .ready (function () {jQuery ('. main'). height (Math.max (jQuery ('. kolom-kiri'). height (), jQuery ('. kolom-kanan'). height (), jQuery ('. kolom-tengah'). height ()));}); Bukan hal yang paling menakjubkan di dunia, tetapi setidaknya tidak merusak IE yang lebih lama.
jpbourbon
4
Tetapi apakah itu bekerja di Chrome?
Float setiap div dan atur jelas; keduanya untuk baris. Tidak perlu mengatur lebar jika Anda tidak mau. Bekerja di Chrome 41, Firefox 37, IE 11
<divclass="stack"><divclass="row"><divclass="col">
One
</div><divclass="col">
Two
</div></div><divclass="row"><divclass="col">
One
</div><divclass="col">
Two
</div><divclass="col">
Three
</div></div></div>
@Leniel metode ini bagus tetapi Anda harus menambahkan lebar ke semua div mengambang. Saya akan mengatakan membuat mereka sama lebar atau menetapkan lebar tetap. Sesuatu seperti
.content-wrapper > div { width:33.3%;}
Anda dapat menetapkan nama kelas untuk setiap div daripada menambahkan inline style, yang bukan praktik yang baik.
Pastikan untuk menggunakan clearfix div atau clear div untuk menghindari konten berikut tetap di bawah div ini.
Anda dapat menemukan detail tentang cara menggunakan clearfix div di sini
display: inline-block
orang-orang itu daripada melayang mereka. Jika total lebarnya kurang dari lebar kontainer, mereka akan duduk bersebelahan.Jawaban:
Beri mereka lebar dan
float: left;
, inilah sebuah contoh:sumber
<br style="clear: left;" />
dengan gaya itu pada khususnya.Cara modern adalah dengan menggunakan flexbox CSS , lihat tabel dukungan .
Anda juga dapat menggunakan kisi CSS , lihat tabel dukungan .
sumber
Ini adalah cara yang sama seperti yang Anda lakukan untuk dua div, hanya mengambang yang ketiga ke kiri atau kanan juga.
sumber
mengapung mereka semua pergi
pastikan lebar ditentukan bahwa mereka semua dapat masuk ke dalam wadah mereka (baik div lain atau jendela), kalau tidak mereka akan membungkus
sumber
kode yang diposting seseorang di sana, itu berhasil !!! ketika saya menempelkannya tepat sebelum menutup Container DIV, ada baiknya membersihkan semua DIV berikutnya agar tidak tumpang tindih dengan DIV yang saya buat berdampingan di bagian atas!
tadaa !! :)
sumber
Float ketiga div ke kiri. Seperti di sini:
sumber
Saya biasanya hanya melayang yang pertama ke kiri, yang kedua ke kanan. Yang ketiga secara otomatis menyelaraskan di antara mereka.
sumber
keuntungan dari cara ini adalah Anda dapat mengatur masing-masing lebar kolom independen dari yang lain selama Anda menyimpannya di bawah 100%, jika Anda menggunakan 3 x 30% sisanya 10% dibagi sebagai ruang pembagi 5% antara kolom
sumber
Anda dapat mengapung: ke kiri untuk semuanya dan atur lebarnya menjadi 33,333%
sumber
coba tambahkan "display: block" ke style
sumber
Saya tidak melihat jawaban bootstrap, jadi untuk apa nilainya:
biarkan Bootstrap mencari tahu persentase. Saya suka menghapus keduanya, untuk jaga-jaga.
sumber
Saya lebih suka metode ini, mengapung kurang didukung di versi IE yang lebih lama (sungguh? ...)
DIPERBARUI: Tentu saja, untuk menggunakan teknik ini dan karena posisi absolut Anda perlu melampirkan divs pada wadah dan melakukan postprocessing untuk menentukan ketinggian jika, sesuatu seperti ini:
Bukan hal yang paling menakjubkan di dunia, tetapi setidaknya tidak merusak IE yang lebih lama.
sumber
Tetapi apakah itu bekerja di Chrome?
Float setiap div dan atur jelas; keduanya untuk baris. Tidak perlu mengatur lebar jika Anda tidak mau. Bekerja di Chrome 41, Firefox 37, IE 11
Klik untuk JS Fiddle
HTML
CSS
sumber
Inilah cara saya berhasil melakukan sesuatu yang mirip dengan ini di dalam
<footer>
elemen:CSS:
sumber
@Leniel metode ini bagus tetapi Anda harus menambahkan lebar ke semua div mengambang. Saya akan mengatakan membuat mereka sama lebar atau menetapkan lebar tetap. Sesuatu seperti
Anda dapat menetapkan nama kelas untuk setiap div daripada menambahkan
inline style
, yang bukan praktik yang baik.Pastikan untuk menggunakan clearfix div atau clear div untuk menghindari konten berikut tetap di bawah div ini.
Anda dapat menemukan detail tentang cara menggunakan clearfix div di sini
sumber