Olarak , bu örnekte görüntü ortalanır. Neden? Tarayıcım Windows 7'de Google Chrome v10, IE değil.
<img src="/img/logo.png" style="margin:0px auto;"/>
Olarak , bu örnekte görüntü ortalanır. Neden? Tarayıcım Windows 7'de Google Chrome v10, IE değil.
<img src="/img/logo.png" style="margin:0px auto;"/>
Yanıtlar:
ekleyin display:block;ve işe yarayacak. Görüntüler varsayılan olarak satır içindedir
Açıklığa kavuşturmak gerekirse, bir blockelemanın varsayılan genişliği auto, elbette içeren elemanın mevcut tüm genişliğini doldurur.
Kenar boşluğunu olarak ayarlayarak, autotarayıcı kalan alanın margin-leftyarısını ve diğer yarısını için atar margin-right.
margin:autobir öğeyi ortalamak için neyin gerekli olduğunu açıklarsanız harika bir cevap olurdu . ( display:blockveya display:table, position:staticveya position:relative, vb.)
0px autosadece autoona geçsem bile yine de çalışmıyor.
display: flex; align-items: center; justify-content: centerve şimdi içeriğiniz yatay ve dikey olarak ortalanır. Veya bunu align-self: center; justify-self: centeriçeriğin kendisine taşıyın . css-tricks.com/snippets/css/a-guide-to-flexbox
Bazı durumlarda ve miras (IE, Gecko, Webkit önceki sürümlerinde olduğu gibi) ile elemanları position:relative;engeller margin:0 auto;olsa bile, çalışmasını top, right, bottomve leftayarlanmaz.
Öğenin position:static;(varsayılan) olarak ayarlanması, bu koşullar altında onu düzeltebilir. Genel olarak, belirli bir genişliğe sahip blok seviyesi öğeleri, margin:0 auto;ya relativeda statickonumlandırma kullanılarak dikkate alınacaktır .
margin: 0 autogöreli olarak konumlandırılmış elemanlar üzerinde şamandıra ve belirli bir genişliğe sahip olmayan blok elemanlar oldukları sürece gayet iyi çalışır ...
floatve displaybu davranışı değiştirilebilir.
Otomatik genişlik div öğesini kullanarak ortalayabilirsiniz display:table;
div{
margin: 0px auto;
float: none;
display: table;
}
Ne zaman genişlik ve ekleme yapmazsak margin:auto, sanırım işe yaramayacak. Benim tecrübemden. Genişlik, tam olarak nerede eşit kenar boşlukları sağlaması gerektiği fikrini verir.
Orada bir alternatif olduğunu margin-left:auto; margin-right: auto;veya margin:0 auto;kullananlar için position:absolute;bu nasıl:
Eğer% 50 (elemanın sol konumunu ayarlamak left:50%;) ama bu doğru merkezli olmak elemanı için sırayla doğru ortalamak olmaz bunu bir vermek gerekmez genişliğinin yarısı kadar olan kenar boşluğu, elemanınızı mükemmel bir şekilde ortalayacak
işte bir örnek: http://jsfiddle.net/35ERq/3/
Bir gün bir div kullanarak ortalamak için çok zaman harcadığımı hatırlıyorum margin: 0 auto.
Ben vardı display: inline-block, onu kaldırdığımda, div doğru ortaladı.
Ross'un belirttiği gibi, satır içi öğeler üzerinde çalışmıyor.