Saya memiliki div dan ingin itu dipusatkan secara horizontal - meskipun saya berikan itu margin:0 auto;
tidak terpusat ...
.container {
position: absolute;
top: 15px;
z-index: 2;
width:40%;
max-width: 960px;
min-width: 600px;
height: 60px;
overflow: hidden;
background: #fff;
margin:0 auto;
}
Jawaban:
Anda perlu mengatur
left: 0
danright: 0
.Ini menentukan seberapa jauh untuk mengimbangi tepi margin dari sisi jendela.
Sumber: http://www.w3.org/TR/CSS2/visuren.html#position-props
sumber
width
adalah suatu keharusan!margin: auto
agar bisa berfungsi dalam kasus kamiIni tidak berfungsi di IE8 tetapi mungkin menjadi pilihan untuk dipertimbangkan. Ini terutama berguna jika Anda tidak ingin menentukan lebar.
sumber
Meskipun jawaban di atas benar tetapi untuk mempermudah para pemula, yang perlu Anda lakukan adalah menetapkan margin, kiri dan kanan. kode berikut akan melakukannya asalkan lebar diatur dan posisi absolut:
Demo:
sumber
Flexbox? Anda dapat menggunakan flexbox.
sumber
left: 0; right: 0;
diperluas hingga 100%, yang bukan pilihan karena elemen anak memiliki warna latar belakang, danleft: 50%; transform: translateY(-50%);
tidak berfungsi karena itu membatasi anak hingga 50% lebar. Ini adalah satu-satunya solusi yang mempertahankan dimensi fleksibel anak (hanya terbatas pada dukungan browser). Terima kasih!sumber
begitu mudah, hanya gunakan margin dan properti kiri, kanan:
Anda dapat melihat lebih banyak di tip ini => Cara mengatur elemen div ke pusat di html- Obinb blog
sumber
Berikut ini tautan, silakan gunakan ini untuk membuat div di tengah jika posisinya absolut.
HTML:
CSS:
Contoh jsfiddle
sumber
Anda tidak dapat menggunakan
margin:auto;
padaposition:absolute;
elemen, hanya menghapusnya jika Anda tidak membutuhkannya, namun, jika Anda melakukannya, Anda bisa menggunakanleft:30%;
((100% -40%) / 2) dan kueri media untuk max dan min nilai-nilai:sumber