Saya telah melayang gambar dan kotak inset di bagian atas wadah menggunakan float: kanan (atau kiri) berkali-kali. Baru-baru ini saya menemukan kebutuhan untuk mengapung div di sudut kanan bawah div lain dengan bungkus teks normal yang Anda dapatkan dengan float (teks yang dibungkus di atas dan ke kiri saja).
Saya pikir ini pasti relatif mudah walaupun float tidak memiliki nilai dasar tetapi saya belum dapat melakukannya dengan menggunakan sejumlah teknik dan mencari web belum menghasilkan apa pun selain menggunakan penentuan posisi absolut tetapi ini tidak berikan perilaku bungkus kata yang benar.
Saya pikir ini akan menjadi desain yang sangat umum tetapi ternyata tidak. Jika tidak ada yang punya saran saya harus memecah teks saya ke dalam kotak yang terpisah dan menyelaraskan div secara manual tapi itu agak berbahaya dan saya benci harus melakukannya pada setiap halaman yang membutuhkannya.
EDIT: Hanya catatan untuk siapa saja yang datang ke sini. Pertanyaan yang ditautkan di atas sebagai duplikat sebenarnya bukan duplikat. Persyaratan bahwa teks membungkus elemen inset membuatnya sangat berbeda. Sebenarnya, jawaban atas jawaban yang dipilih di sini memperjelas mengapa jawaban dalam pertanyaan terkait salah sebagai tanggapan terhadap pertanyaan ini. Bagaimanapun, tampaknya masih tidak ada solusi umum untuk masalah ini, tetapi beberapa solusi yang diposting di sini dan dalam pertanyaan terkait mungkin bekerja untuk kasus-kasus tertentu.
Jawaban:
Atur div induk ke
position: relative
, lalu div bagian dalam ke ...... dan begitulah :)
sumber
Cara untuk membuatnya berfungsi adalah sebagai berikut:
Putar div induk 180 derajat menggunakan
JSfiddle: http://jsfiddle.net/wcneY/
Sekarang putar semua elemen yang mengambang ke kiri (beri mereka kelas) 180 derajat untuk meluruskannya lagi. Voila! mereka melayang ke bawah.
sumber
Setelah berjuang dengan berbagai teknik selama beberapa hari saya harus mengatakan bahwa ini tampaknya tidak mungkin. Bahkan menggunakan javascript (yang tidak ingin saya lakukan) sepertinya tidak mungkin.
Untuk mengklarifikasi bagi mereka yang mungkin tidak mengerti - inilah yang saya cari: dalam penerbitan itu cukup umum untuk tata letak inset (gambar, tabel, gambar, dll.) Sehingga garis bawahnya ke atas dengan bagian bawah yang terakhir baris teks dari sebuah blok (atau halaman) dengan teks yang mengalir di sekitar inset secara alami di atas dan ke kanan atau ke kiri tergantung pada sisi mana halaman inset aktif. Dalam html / css itu sepele untuk menggunakan gaya float untuk berbaris atas inset dengan bagian atas blok tetapi mengejutkan saya tampaknya tidak mungkin untuk berbaris di bagian bawah teks dan inset meskipun itu menjadi tugas tata letak umum .
Saya kira saya harus meninjau kembali tujuan desain untuk item ini kecuali ada yang punya saran menit terakhir.
sumber
Saya telah mencapai ini di JQuery dengan meletakkan elemen strut lebar nol di atas float kanan, kemudian mengukur strut (atau pipa) sesuai dengan tinggi induk dikurangi tinggi anak melayang.
Sebelum js menendang saya menggunakan pendekatan posisi absolut, yang berfungsi tetapi memungkinkan aliran teks di belakang. Oleh karena itu saya beralih ke posisi statis untuk mengaktifkan pendekatan strut. (header adalah elemen induk, guntingan adalah yang saya inginkan di kanan bawah, dan pipa adalah penyangga saya)
CSS
Pipa harus datang ke-1, lalu ke guntingan, lalu teks dalam urutan HTML.
sumber
Ini menempatkan div tetap di bagian bawah halaman dan perbaikan ke bawah saat Anda menggulir ke bawah
sumber
Letakkan div di div lain dan atur gaya div induk ke
position:relative;
Kemudian di child div atur properti CSS berikut:position:absolute; bottom:0;
sumber
Jika Anda baik-baik saja dengan hanya baris paling bawah dari teks pergi ke sisi blok (sebagai lawan untuk benar-benar di sekitar dan di bawahnya, yang tidak dapat Anda lakukan tanpa mengakhiri blok dan memulai yang baru), itu bukan tidak mungkin mengapung blok ke salah satu sudut bawah blok induk. Jika Anda meletakkan beberapa konten dalam tag paragraf di dalam blok dan ingin melayang tautan ke sudut kanan bawah blok, letakkan tautan di dalam paragraf blok dan atur ke float: right, lalu masukkan div tag dengan jelas : keduanya diset tepat di bawah akhir tag paragraf. Div terakhir adalah untuk memastikan tag induk mengelilingi tag mengambang.
sumber
Jika Anda mengatur elemen induk sebagai posisi: relatif, Anda dapat mengatur anak ke posisi pengaturan bawah: absolut; dan bawah: 0;
sumber
Jika Anda ingin teksnya dibungkus dengan baik: -
sumber
Saya tahu bahwa barang ini sudah tua, tetapi baru-baru ini saya mengalami masalah ini.
menggunakan saran posisi absolut divs benar-benar konyol, karena seluruh hal float semacam kehilangan titik dengan posisi absolut ..
sekarang, saya tidak menemukan solusi universal, tetapi dalam banyak kasus prople menggunakan floating divs hanya untuk menampilkan sesuatu secara berurutan, seperti serangkaian elemen span. dan Anda tidak dapat menyelaraskannya secara vertikal.
untuk mencapai efek yang serupa Anda dapat melakukan ini: jangan membuat div float, tetapi atur properti display-nya
inline-block
. maka Anda dapat menyelaraskannya secara vertikal namun itu menyenangkan Anda. Anda hanya perlu properti div set orang tuavertical-align
baiktop
,bottom
,middle
ataubaseline
Saya harap itu membantu seseorang
sumber
Dengan diperkenalkannya Flexbox , ini menjadi sangat mudah tanpa banyak peretasan.
align-self: flex-end
pada elemen anak akan menyelaraskannya di sepanjang sumbu silang .Keluaran:
Tampilkan cuplikan kode
sumber
Saya telah menemukan solusi ini untuk waktu yang lama juga. Inilah yang saya dapatkan:
align-self: flex-end;
tautan: https://philipwalton.github.io/solved-by-flexbox/demos/vertical-centering/ Namun, saya tidak dapat mengingat dari mana saya membuka tautan ini. Semoga ini bisa membantu
sumber
Saya hanya akan melakukan meja.
Dan CSS:
Lihat dalam aksi:
http://jsfiddle.net/mLphM/1/
sumber
Saya mencoba beberapa teknik ini, dan berikut ini bekerja untuk saya, jadi jika semuanya ada di sini jika semuanya gagal maka coba ini karena berhasil untuk saya :).
sumber
A memilih pendekatan @ dave-kok ini. Tapi itu hanya berfungsi jika seluruh konten sesuai tanpa menggulir. Saya menghargai jika seseorang akan meningkat
Berikut ini adalah kode http://jsfiddle.net/d9t9joh2/
sumber
Ini sekarang dimungkinkan dengan kotak fleksibel. Cukup atur 'display' dari parent parent sebagai 'flex' dan atur properti 'margin-top' ke 'auto'. Ini tidak mendistorsi properti dari kedua div tersebut.
sumber
Tidak yakin, tetapi skenario yang diposting sebelumnya tampaknya berfungsi jika Anda menggunakan posisi: relatif bukan absolut pada div anak.
Dan tidak ada meja ...!
sumber
Jika Anda memerlukan perataan relatif dan DIV masih tidak memberikan apa yang Anda inginkan, cukup gunakan tabel dan setel valign = "bawah" di sel yang Anda inginkan kontennya disejajarkan dengan bagian bawah. Saya tahu ini bukan jawaban yang bagus untuk pertanyaan Anda karena DIV seharusnya mengganti tabel, tapi inilah yang harus saya lakukan baru-baru ini dengan keterangan gambar dan sejauh ini sudah berfungsi dengan sempurna.
sumber
Saya mencoba skenario ini diposting sebelumnya juga;
Penentuan posisi absolut memperbaiki div ke bagian terendah browser setelah memuat halaman, tetapi ketika Anda menggulir ke bawah jika halaman lebih panjang, itu tidak menggulir dengan Anda. Saya mengubah posisi menjadi relatif dan berfungsi dengan sempurna. Div langsung ke bagian bawah saat dimuat sehingga Anda tidak akan benar-benar melihatnya sampai Anda mencapai bagian bawah.
sumber
Salah satu pendekatan yang menarik adalah menumpuk beberapa elemen float kanan di atas satu sama lain.
Satu-satunya masalah adalah bahwa ini hanya berfungsi ketika Anda mengetahui ketinggian kotak.
sumber
Jawaban Stu datang paling dekat dengan bekerja sejauh ini, tetapi masih belum memperhitungkan fakta bahwa tinggi div luar Anda dapat berubah, berdasarkan pada cara teks membungkus di dalamnya. Jadi, memposisikan ulang div bagian dalam (dengan mengubah ketinggian "pipa") hanya sekali saja tidak akan cukup. Perubahan itu harus terjadi di dalam satu lingkaran, sehingga Anda dapat terus memeriksa apakah Anda telah mencapai penentuan posisi yang tepat, dan menyesuaikan kembali jika diperlukan.
CSS dari jawaban sebelumnya masih benar-benar valid:
Namun, Javascript akan terlihat seperti ini:
sumber
Saya tahu ini adalah utas yang sangat lama tetapi saya masih ingin menjawab. Jika ada yang mengikuti css & html di bawah ini maka itu berfungsi. Child footer div akan menempel dengan lem seperti dasar.
sumber
Untuk menggunakan
margin-top
properti css dengan tujuan untuk mengatur footer ke bagian bawah wadahnya. Dan untuk menggunakantext-align-last
properti css untuk mengatur konten footer di tengah.sumber
Oh, anak-anak .... Di sini Anda:
Tidak ada posisi absolut! Responsif! OldSchool
sumber
Pertanyaan yang cukup lama, tapi tetap saja ... Anda dapat mengapung div ke bagian bawah halaman seperti ini:
Anda bisa melihat di mana keajaiban terjadi. Saya pikir Anda bisa melakukan hal yang sama untuk melayang ke bagian bawah div induk.
sumber
sederhana ...... di kanan file html .... punya "footer" (atau div yang Anda inginkan di bagian bawah) di bagian bawah. Jadi jangan lakukan ini:
LAKUKAN INI: (letakkan footer di bawahnya.)
Setelah melakukan ini maka Anda dapat pergi file css dan memiliki "sidebar" mengapung ke kiri. kemudian miliki "konten" mengambang ke kanan lalu "footer" hapus keduanya.
itu harus bekerja. Apakah untuk saya.
sumber
Saya mendapatkan ini untuk bekerja pada percobaan pertama dengan menambahkan
position:absolute; bottom:0;
ID div di dalam CSS. Saya tidak menambahkan gaya indukposition:relative;
.Ini berfungsi sempurna di Firefox dan IE 8, belum mencobanya di IE 7.
sumber
jawaban alternatif adalah penggunaan tabel dan rowspan secara bijaksana. dengan mengatur semua sel tabel pada baris sebelumnya (kecuali konten utama) menjadi rowspan = "2" Anda akan selalu mendapatkan lubang satu sel di bagian bawah sel tabel utama Anda sehingga Anda selalu dapat menempatkan valign = "bawah".
Anda juga dapat mengatur ketinggiannya menjadi minimum yang Anda butuhkan untuk satu baris. Dengan demikian Anda akan selalu mendapatkan baris teks favorit Anda di bagian bawah terlepas dari berapa banyak ruang yang dihabiskan oleh sisa teks.
Saya mencoba semua jawaban div, saya tidak dapat membuat mereka melakukan apa yang saya butuhkan.
sumber
inilah solusi saya:
sumber
Anda dapat mencoba menggunakan elemen kosong dengan lebar 1px dan mengapungkannya. Kemudian kosongkan elemen yang sebenarnya ingin Anda posisikan dan gunakan ketinggian elemen kosong untuk mengontrol seberapa jauh ia berjalan.
http://codepen.io/cssgrid/pen/KNYrey/
sumber