Lebih
Bagaimana cara pusat menyelaraskan horisontal <UL> menu?
Aku perlu ke pusat align horizontal menu.
I've mencoba berbagai solusi, termasuk campuran dari inline-block
/ block
/ pusat-align
dll., tapi belum't berhasil.
Berikut ini adalah kode saya:
<div class="topmenu-design">
<!-- Top menu content: START -->
<ul id="topmenu firstlevel">
<li class="firstli" id="node_id_64"><div><a href="#"><span>Om kampanjen</span></a></div></li>
<li id="node_id_65"><div><a href="#"><span>Fakta om inneklima</span></a></div></li>
<li class="lastli" id="node_id_66"><div><a href="#"><span>Statistikk</span></a></div></li>
</ul>
<!-- Top menu content: END -->
</div>
UPDATE
Aku tahu bagaimana untuk pusat menyelaraskan ul
dalam div
. Yang dapat dicapai dengan menggunakan Sarfraz's saran.
Tapi daftar barang-barang yang masih melayang kiri di dalam ul
.
Apakah saya membutuhkan Javascript untuk mencapai hal ini?
148
16
Dari http://pmob.co.uk/pob/centred-float.htm:
Kode
Ini bekerja untuk saya. Jika aku belum't disalahartikan pertanyaan anda, anda bisa mencobanya.
Dengan CSS3 flexbox. Sederhana.
Ini adalah cara paling sederhana yang saya temukan. Saya menggunakan html anda. Padding adalah untuk me-reset browser default.
Berikut ini's sebuah artikel yang baik tentang cara untuk melakukannya cukup rock-solid tanpa hacks dan penuh dukungan cross-browser. Bekerja untuk saya:
--> http://matthewjamestaylor.com/blog/beautiful-css-centered-menus-no-hacks-full-cross-browser-support
Demo - http://codepen.io/grantex/pen/InLmJ
Omg jadi jauh lebih bersih.
Lakukan seperti ini :
Dan CSS:
Seperti banyak dari anda, saya've telah berjuang dengan ini untuk sementara. Solusi yang pada akhirnya harus dilakukan dengan div mengandung UL. Semua saran pada mengubah bantalan, lebar, dll. dari UL tidak memiliki efek, tetapi setelah melakukannya.
It's semua tentang
margin:0 auto;
pada yang mengandung div. Saya harap ini membantu beberapa orang, dan terima kasih untuk semua orang yang sudah menyarankan hal ini di kombinasi dengan hal-hal lain.Coba ini:
Pada umumnya jalan ke pusat hitam tingkat elemen (seperti
<ul>
) adalah menggunakanmargin:auto;
properti.Untuk menyelaraskan teks dan inline elemen-elemen tingkat blok elemen tingkat penggunaan
text-align:center;
. Jadi semua bersama-sama seperti...... harus bekerja.
Pinggiran kasus Internet Explorer6... atau bahkan lain IEs bila tidak menggunakan
<!DOCTYPE>
. IE6 salah sejalan blok tingkat elemnts menggunakantext-align
. Jadi jika anda'kembali mencari untuk mendukung IE6 (atau tidak menggunakan<!DOCTYPE>
) anda solusi lengkap...Sebagai catatan kaki, saya pikir
id="topmenu firstlevel"
tidak valid sebagai sebuahid
atribut dapat't mengandung spasi... ? Memang rekomendasi w3c mendefinisikanid
atribut sebagai 'nama' tipe...Saya menggunakan display:inline-block properti: larutan yang terdiri dalam menggunakan bungkus dengan lebar tetap. Di dalam, ul blok dengan inline-block untuk tampilan. Menggunakan ini, ul hanya mengambil lebar untuk real konten! dan akhirnya margin: 0 auto, untuk pusat ini inline-block =)
@Robusto's solusi yang paling sederhana untuk apa yang saya coba lakukan, saya sarankan anda menggunakan itu. Saya mencoba untuk melakukan hal yang sama untuk gambar dalam unordered list untuk membuat sebuah galeri... saya membuat js fiddle untuk main-main dengan hal itu. Merasa bebas untuk coba di sini.
[itu diatur menggunakan robusto's contoh kode]
HTML:
Adalah layak pendekatan pada layar besar. Yang tidak baik, tapi yang baik kotor memperbaiki.
ul sebagai inline-table perbaikan dengan masalah. Aku digunakan orang tua div untuk menyelaraskan teks ke pusat. cara ini terlihat baik bahkan dalam bahasa-bahasa lain (terjemahan, lebar yang berbeda)
saya menggunakan kode jquery ini. (Alternatif solusi)
Itu semua!