Saya menggunakan Flexbox untuk menyelaraskan elemen anak saya. Apa yang saya mahu lakukan ialah memusatkan satu elemen dan menyelaraskan elemen lain ke kiri. Biasanya saya akan menggunakan margin-right: auto
Masalahnya ialah menolak elemen tengah dari pusat. Adakah ini boleh dilakukan tanpa menggunakan kedudukan mutlak?
HTML dan CSS
#parent { align-item: tengah; sempadan: 1px hitam pejal; paparan: flex; justify-content: pusat; margin: 0 auto; lebar: 500px; } #dibiarkan { margin-kanan: auto; } #center { margin: auto; }
Left Center
Tambah elemen kosong ketiga:
dan gaya berikut:
Hanya kiri dan kanan sahaja yang akan membesar, dan disebabkan hakikatnya...
...Elemen tengah akan sentiasa berpusat dengan sempurna.
Pada pendapat saya ini adalah lebih baik daripada jawapan yang diterima kerana anda tidak perlu menyalin kandungan kiri ke kanan dan menyembunyikannya untuk mendapatkan lebar yang sama pada kedua-dua belah pihak,ia berlaku secara ajaib(flexbox is magic).
Pembedahan praktikal:
EDIT:LihatJawapan Solodi bawah, yang merupakan penyelesaian yang lebih baik.
Idea di sebalik flexbox adalah untuk menyediakan rangka kerja untuk menjajarkan elemen dengan mudah dengan dimensi berubah dalam bekas. Oleh itu, tidak masuk akal untuk menyediakan susun atur yang benar-benar mengabaikan lebar elemen. Pada asasnya, ini adalah tujuan kedudukan mutlak, kerana ia mengeluarkan elemen daripada aliran biasa.
Setahu saya tidak ada cara yang baik untuk melakukan ini tanpa menggunakan
position:absolute;
jadi saya cadangkan untuk menggunakannya... tetapi jika anda benar-benar tidak mahu melakukannya atau tidak boleh menggunakan kedudukan mutlak maka saya fikir anda boleh menggunakan salah satu penyelesaian berikut.Jika anda tahu lebar tepatdiv "kiri", maka anda boleh meletakkan
justify-content
更改为flex-start
(kiri) dan kemudian selaraskan div "tengah" seperti ini:Jika anda tidak tahu lebarnyamaka anda boleh salin "Kiri" di sebelah kanan, gunakan
justify-content: space- Between;
dan kemudian sembunyikan elemen kanan baharu:Untuk menjadi jelas, ini benar-benar hodoh...lebih baik menggunakan kedudukan mutlak daripada menyalin kandungan. :-)