Saya menerapkan pagination, dan perlu dipusatkan. Masalahnya adalah bahwa tautan harus ditampilkan sebagai blok, sehingga tautan tersebut harus diapungkan. Tapi kemudian, text-align: center;
tidak berhasil. Saya dapat mencapainya dengan memberikan lapisan pembungkus kiri, tetapi setiap halaman akan memiliki jumlah halaman yang berbeda, sehingga tidak akan berfungsi. Ini kode saya:
.pagination {
text-align: center;
}
.pagination a {
display: block;
width: 30px;
height: 30px;
float: left;
margin-left: 3px;
background: url(/images/structure/pagination-button.png);
}
.pagination a.last {
width: 90px;
background: url(/images/structure/pagination-button-last.png);
}
.pagination a.first {
width: 60px;
background: url(/images/structure/pagination-button-first.png);
}
<div class='pagination'>
<a class='first' href='#'>First</a>
<a href='#'>1</a>
<a href='#'>2</a>
<a href='#'>3</a>
<a class='last' href='#'>Last</a>
</div>
<!-- end: .pagination -->
Untuk mendapatkan ide, apa yang saya inginkan:
Jawaban:
Menghapus
float
s, dan menggunakaninline-block
dapat memperbaiki masalah Anda:(hapus garis yang dimulai dengan
-
dan tambahkan garis yang dimulai dengan+
.)Tampilkan cuplikan kode
inline-block
berfungsi lintas-browser, bahkan pada IE6 selama elemen tersebut awalnya merupakan elemen inline.Kutipan dari quirksmode :
ini sering dapat secara efektif menggantikan pelampung:
Dari spec W3C :
sumber
Sejak bertahun-tahun saya menggunakan trik lama yang saya pelajari di beberapa blog, saya minta maaf saya tidak ingat nama untuk memberinya kredit.
Pokoknya untuk memusatkan elemen apung ini harus berfungsi:
Anda memerlukan struktur seperti ini:
Caranya adalah dengan mengapung ke kiri untuk membuat wadah mengubah lebar tergantung pada konten. Than adalah masalah posisi: relatif dan meninggalkan 50% dan -50% pada dua wadah.
Hal yang baik adalah bahwa ini adalah browser silang dan harus bekerja dari IE7 +.
sumber
margin: 0 auto;
melakukan pekerjaan yang lebih baik dalam kasus inifloat: left;
itu tidak perlu.main-container
dan.fixer-container
.overflow: hidden;
Mengapung centering itu mudah . Cukup gunakan gaya untuk wadah:
ubah margin untuk elemen apung:
atau
dan biarkan sisanya apa adanya.
Ini solusi terbaik bagi saya untuk menampilkan hal-hal seperti menu atau pagination.
Kekuatan:
lintas browser untuk elemen apa pun (blok, daftar-item, dll.)
kesederhanaan
Kelemahan:
@ arnaud576875 Menggunakan inline-block elemen akan bekerja dengan baik (lintas-browser) dalam hal ini karena pagination hanya berisi anchor (inline), tidak ada daftar-item atau div:
Kekuatan:
Weknesses:
kesenjangan antara elemen inline-blok - ia bekerja dengan cara yang sama seperti spasi di antara kata-kata. Ini dapat menyebabkan beberapa masalah menghitung lebar wadah dan margin gaya. Lebar celah tidak konstan tetapi khusus browser (4-5px). Untuk menghilangkan celah ini saya akan menambahkan kode arnaud576875 (tidak sepenuhnya diuji):
.pagination {spasi-kata: -1em; }
.pagination a {spasi-kata: .1em; }
itu tidak akan berfungsi di IE6 / 7 pada elemen blok dan daftar-item
sumber
Mengatur kontainer Anda
width
dipx
dan menambahkan:Referensi .
sumber
Menggunakan Flex
sumber
Saya pikir cara terbaik menggunakan
margin
bukandisplay
.Yaitu:
Periksa hasil dan kode:
http://cssdeck.com/labs/d9d6ydif
sumber
sumber
IE7 tidak tahu
inline-block
. Anda harus menambahkan:sumber
Tambahkan ini ke gaya kamu
* Jika lebar kontainer Anda adalah 50px, masukkan 25px, jika 10em, masukkan 5em.
sumber
Anda juga dapat melakukan ini dengan mengubah
.pagination
dengan mengganti "text-align: center" dengan dua hingga tiga baris css untuk kiri, mengubah dan, tergantung pada keadaan, posisi.sumber
Langkah 1
buat dua atau lebih div yang Anda inginkan dan beri lebar yang pasti seperti 100px untuk masing-masing lalu apungkan ke kiri atau kanan
Langkah 2
lalu warp kedua div ini di div lain dan berikan lebar 200px. untuk div ini terapkan margin otomatis. booming itu bekerja dengan cukup baik. periksa contoh di atas.
sumber
Hanya menambahkan
ke menu css saya dari
melakukan trik pemusatan juga
sumber