Elemanların yatay ve dikey hizalanması. Ortaya hizalama: CSS düzeni
Bir nesneyi CSS ile dikey olarak ortalamanın temelde farklı birkaç yolu vardır, ancak doğru olanı seçmek zor olabilir. Bazılarına bakacağız ve ayrıca edinilen bilgileri kullanarak küçük bir web sitesi yapacağız.
CSS ile dikey merkez hizalaması elde etmek o kadar kolay değildir. Birçok yol vardır ve hepsi tüm tarayıcılarda çalışmaz. 5 farklı yönteme ve her birinin artılarına ve eksilerine bir göz atalım. Örnek.
1. yol
Bu yöntem, bazı öğeleri ayarladığımızı varsayar.
bir tablo olarak göstermenin bir yolu, bundan sonra içinde dikey hizalama özelliğini kullanabiliriz (farklı öğelerde farklı şekilde çalışır).
İçerik, yüksekliği dinamik olarak değiştirebilir (yükseklik, CSS'de tanımlanmamıştır).
Yeterli alan yoksa içerik kesilmez.
eksiler
IE 7 ve altında çalışmıyor
Çok sayıda iç içe etiket
2. yöntem
Bu yöntem, üst kısmı %50'ye ayarlanmış ve üst kenar boşluğu (kenar boşluğu) eksi içeriğin yüksekliğinin yarısı olan div'in mutlak konumlandırmasını kullanır. Bu, nesnenin CSS stillerinde tanımlanan sabit bir yüksekliğe sahip olması gerektiği anlamına gelir.
Yükseklik sabit olduğu için overflow:auto; içeriği içeren div için, yani içerik sığmazsa kaydırma çubukları görünecektir.
İçerik Burada
#content ( konum: mutlak; üst: %50; yükseklik: 240 piksel; üst kenar boşluğu: -120 piksel; /* eksi yüksekliğin yarısı */ )
profesyoneller
Tüm tarayıcılarda çalışır.
Ekstra yatırım yok.
eksiler
Yeterli alan olmadığında içerik kaybolur (örneğin, div gövdenin içindedir ve kullanıcı pencereleri küçültür, bu durumda kaydırma çubukları görünmez.
3. yöntem
Bu yöntemde içerik div'ini başka bir div ile saracağız. Yüksekliğini %50'ye (height: %50;) ve alt kenar boşluğunu yüksekliğinin yarısına (margin-bottom:-contentight;) ayarlayın. İçerik kayan noktayı temizleyecek ve ortalanacaktır.
işte içerik
#floater( float: left; yükseklik: %50; alt kenar boşluğu: -120px; ) #content( clear: her ikisi; yükseklik: 240px; konum: göreli; )
profesyoneller
Tüm tarayıcılarda çalışır.
Yeterli alan olmadığında (örneğin, pencere küçültüldüğünde) içerik kesilmez, kaydırma çubukları görünür.
eksiler
Sadece bir tane düşünüyorum: fazladan boş bir öğe kullanılıyor.
4. yöntem.
Bu yöntem, position:absolute özelliğini kullanır; sabit boyutlara (genişlik ve yükseklik) sahip div'ler için. Ardından koordinatlarını top:0; alt:0; , ancak sabit bir yüksekliğe sahip olduğu için esnemez ve merkezlenir. Bu, sabit genişlikli bir blok düzeyinde öğeyi (margin: 0 auto;) yatay olarak merkezlemenin iyi bilinen yöntemine çok benzer.
Kapta yeterli alan yoksa içerik kaydırma çubukları olmadan kırpılır.
5. yöntem
Tek bir metin satırını ortalamak için bu yöntemi kullanabilirsiniz. Sadece metnin yüksekliğini (satır yüksekliği) öğenin yüksekliğine (yükseklik) ayarlayın. Bundan sonra, çizgi ortada görüntülenecektir.
Yalnızca metinle çalışır (blok öğeleriyle çalışmaz).
Birden fazla metin satırı varsa, çok kötü görünüyor.
Bu yöntem, metni bir düğme veya metin kutusunda ortalamak gibi küçük öğeler için çok kullanışlıdır.
Artık dikey merkez hizalamasını nasıl yapacağınızı bildiğinize göre, sonunda şöyle görünecek basit bir web sitesi yapalım:
Aşama 1
Anlamsal işaretlemeyle başlamak her zaman iyidir. Sayfamız şu şekilde yapılandırılacaktır:
#floater (içeriği ortalamak için)
#merkezli (merkez öğe)
#taraf
#logo
#nav (liste
#içerik
#bottom (telif hakları ve tümü için)
Aşağıdaki html işaretlemesini yazalım:
Merkezli Bir Şirket
Bir şirket
Ev
Ürünler
Blog
temas etmek
Hakkında
Sayfa başlığı
Süreç merkezli işbirliği ve fikir paylaşımının ardından katma değerli dış kaynak kullanımını bütünsel olarak yeniden yapılandırın. Etkinleştirilmiş zorunluluklar aracılığıyla etkili niş pazarları enerjik bir şekilde basitleştirin. Zorlayıcı senaryolardan sonra birinci sınıf yeniliğe bütünsel olarak hakim olun. Son teknoloji ürünü ürünlerle insan sermayesindeki yüksek standartları sorunsuz bir şekilde yeniden tanımlayın. Güçlü sanallardan önce standartlara uyumlu şemaları belirgin bir şekilde bir araya getirin. Kullanıma hazır bilgiler karşısında kaldıraçlı web hazırlığını benzersiz bir şekilde yeniden özetleyin.
Başlık 2
Müşteri tarafından yönlendirilen süreçler yerine özelleştirilmiş web hazırlığını verimli bir şekilde benimseyin. Proaktif teknolojiler karşısında platformlar arası zorunlulukları iddialı bir şekilde büyütün. Kurumsal çapta arabirimler olmadan çok disiplinli meta hizmetleri uygun şekilde güçlendirin. Odaklanmış e-pazarlarla rekabetçi stratejik tema alanlarını uygun şekilde düzene sokun. Katma değerli pazarlar karşısında birinci sınıf toplulukları fosforlu bir şekilde birleştirin. Sağlam e-hizmetlerden önce bütünsel hizmetleri uygun şekilde yeniden icat edin.
Telif hakkı bildirimi buraya gelecek
Adım 2
Şimdi sayfaya eleman yerleştirmek için en basit CSS'yi yazacağız. Bu kodu style.css dosyasına kaydetmelisiniz. Bağlantının html dosyasına yazıldığı üzerindedir.
İçeriğimizi merkeze hizalı hale getirmeden önce, gövde ve html yüksekliklerini %100 olarak ayarlamamız gerekiyor. Yükseklik, iç ve dış dolgu (doldurma ve kenar boşluğu) olmadan kabul edildiğinden, kaydırma çubukları olmaması için onları (doldurma) 0 olarak ayarladık.
"kayan" öğe için alt dolgu, içeriğin yüksekliğinin (400 piksel) eksi yarısıdır, yani -200 pikseldir;
Sayfanız şimdi şöyle görünmelidir:
#centered öğesinin genişliği %80'dir. Bu, sitemizi küçük ekranlarda daraltır ve büyük ekranlarda genişletir. çoğu site, sol üst köşedeki yeni geniş monitörlerde çirkin görünüyor. Min-width ve max-width özellikleri de sayfamızı çok geniş veya çok dar görünmeyecek şekilde sınırlar. Internet Explorer bu özellikleri desteklemiyor. Sabit bir genişliğe ayarlanması gerekir.
#centered öğesi, position:relative olarak ayarlandığından, içindeki öğelerin mutlak konumlandırmasını kullanabiliriz. Ardından overflow:auto; #content öğesi için, sığdırılacak içerik yoksa kaydırma çubukları görünür.
Aşama 3
Ve yapacağımız son şey, sayfanın biraz daha çekici görünmesi için biraz stil eklemek. Menü ile başlayalım.
#nav ul ( liste stili: yok; dolgu: 0; kenar boşluğu: 20px 0 0 0; metin girintisi: 0; ) #nav li ( dolgu: 0; kenar boşluğu: 3px; ) #nav li a ( ekran: blok; background-color: #e8e8e8; padding: 7px; margin: 0; text-decoration: none; color: #000; border-bottom: 1px solid #bbb; text-align: right; ) #nav li a::after ( içerik: """; renk: #aaa; yazı tipi ağırlığı: kalın; ekran: satır içi; kayan nokta: sağ; kenar boşluğu: 0 2px 0 5px; ) #nav li a:hover, #nav li a:odak ( arka plan: # f8f8f8; border-bottom-color: #777; ) #nav li a:hover::after ( marj: 0 0 0 7px; color: #f93; ) #nav li a:active ( padding: 8px 7px 6px 7px; )
Menünün daha iyi görünmesini sağlamak için yaptığımız ilk şey, list-style:none özniteliğini ayarlayarak madde işaretlerini kaldırmak ve varsayılanlar tarayıcılar arasında büyük farklılıklar gösterdiğinden dolgu ve dolguyu ayarlamak oldu.
Daha sonra, bağlantıların blok düzeyinde öğeler olarak işlenmesi gerektiğini belirttiğimize dikkat edin. Şimdi, görüntülendiklerinde, bulundukları elemanın tüm genişliği boyunca gerilirler.
Menüler için kullandığımız bir başka ilginç şey de :before ve :after sözde sınıflarıdır. Bir öğeden önce ve sonra bir şeyler eklemenize izin verirler. Bu, her bağlantının sonuna ok gibi simgeler veya semboller eklemenin iyi bir yoludur. Bu hile Internet Explorer 7 ve altında çalışmaz.
Adım 4
Ve son olarak, daha fazla güzellik için tasarımımıza bazı tüller ekleyeceğiz.
Bu stillerde #centered öğesi için yuvarlatılmış köşeler ayarladık. CSS3'te bu, border-radius özelliği tarafından ele alınacaktır. Bu, Mozilla Firefox ve Safari/Webkit için -moz ve -webkit ön eklerinin kullanılması dışında bazı tarayıcılar tarafından henüz uygulanmamaktadır.
Uyumluluk
Tahmin edebileceğiniz gibi, uyumluluk sorunlarının ana kaynağı Internet Explorer'dır:
#floater öğesi bir genişliğe ayarlanmalıdır
IE 6'daki menüler etrafında ekstra dolgu
235881 görüntüleme
Genel olarak, HTML öğelerini bir sayfada ortalamak zor bir iş değildir. Bazı durumlarda... web geliştiricileri en iyi çözümü bulmak için kafa yormak zorunda kalırlar.
Öğeleri yatay olarak ortalamak o kadar zor değil, dikey olarak zaten soruları gündeme getiriyor, ancak genel olarak bunları birleştirmek kafa karıştırıcı olabilir. Duyarlı tasarım çağında, belirli öğelerin tam boyutlarını nadiren biliyoruz. Öğeleri CSS ile ortalamanın 6 farklı yolunu saydım. Basit örneklerle başlayalım ve daha karmaşık örneklerle bitirelim. Aynı HTML koduyla çalışacaktır:
Bu yöntem için display: block özelliğini ayarlamanız gerektiğini unutmayın.
Tablo hücresi ile merkezleme
display: table-cell kullanarak, öğenin hem dikey hem de yatay olarak ortalanmasını sağlayabiliriz. Ancak burada görüntüyü başka bir div öğesine yerleştirmemiz gerekiyor.
Her şeyin doğru çalışması için div'in genişliğe ayarlanması gerekir: %100. Öğeyi dikey olarak ortalamak için yüksekliği ayarlayarak standart yöntemleri kullanacağız. IE8+ dahil her yerde çalışır.
mutlak merkezleme
Çok ilginç bir çözüm. Dış kabın yüksekliğini ayarlamanız gerektiği gerçeğinden oluşur:
Çok basit, ihtiyacımız olan boyutları tüm sayfa düzenine göre hesaplayabiliriz. Hesaplamalar çok basit, %50 kapsayıcının merkez noktası ama bizim görevimiz görüntünün sol üst köşesini bu koordinatlara yerleştirmek. Ardından, görüntünün yüksekliğinin ve genişliğinin yarısını çıkarın. Formül:
Umarım bu yöntemler kendinize en uygun çözümü bulmanız için yeterlidir.
css,
HTML
Yerleşim çalışması yapan birçoğunuzun öğeleri dikey olarak hizalama ihtiyacıyla karşılaştığını ve bir öğeyi merkeze hizalarken ne gibi zorluklar ortaya çıktığını bildiğinizi düşünüyorum.
Evet, CSS'de dikey hizalama için birçok değere sahip özel bir dikey hizalama özelliği vardır. Ancak pratikte beklendiği gibi çalışmıyor. Bunu anlamaya çalışalım.
Aşağıdaki yaklaşımları karşılaştıralım. ile hizalama:
tablolar,
girinti,
satır yüksekliği ,
germe,
negatif kenar boşluğu,
dönüştürmek,
sözde eleman
esnek kutu.
Bir örnek olarak, aşağıdaki örneği göz önünde bulundurun.
Biri diğerinin içinde iç içe geçmiş iki div öğesi vardır. Onlara uygun sınıfları verelim - outer ve inner .
Amaç, iç öğeyi dış öğenin merkezine hizalamaktır.
Başlamak için, dış ve iç bloğun boyutlarının ne zaman olduğunu düşünün. bilinen. İç öğeye display: inline-block ve dış öğeye text-align: center ve Vertical-align: mid ekleyelim.
Hizalamanın yalnızca satır içi veya satır içi blok görüntüleme moduna sahip öğeler için geçerli olduğunu unutmayın.
Blokların boyutlarını ve kenarlıklarını görmek için arka plan renklerini ayarlayalım.
Dış ( genişlik: 200 piksel; yükseklik: 200 piksel; metin hizalama: merkez; dikey hizalama: orta; arka plan rengi: #ffc; ) .inner ( ekran: satır içi blok; genişlik: 100 piksel; yükseklik: 100 piksel; arka plan rengi : #fcc; ) Stilleri uyguladıktan sonra, iç bloğun yatay olarak hizalandığını ancak dikey olarak hizalanmadığını göreceğiz: http://jsfiddle.net/c1bgffffq/
Neden oldu? Gerçek şu ki, dikey hizalama özelliği hizalamayı etkiler öğenin kendisi, içeriği değil(tablo hücrelerine uygulandığı durumlar hariç). Bu nedenle, bu özelliği dış öğeye uygulamak hiçbir şey yapmadı. Ayrıca, bu özelliği iç elemana uygulamak da hiçbir şey yapmaz, çünkü satır içi bloklar komşu bloklarla dikey olarak hizalanır ve bizim durumumuzda bir satır içi bloğumuz var.
Bu sorunu çözmek için birkaç teknik var. Aşağıda her birine daha yakından bakalım.
Tablo ile hizalama
Akla gelen ilk çözüm, dış bloğu tek hücreli bir tabloyla değiştirmektir. Bu durumda, hizalama hücrenin içeriğine, yani iç bloğa uygulanacaktır.
http://jsfiddle.net/c1bgffffq/1/
Bu çözümün bariz dezavantajı, anlambilim açısından hizalama için tabloların kullanılmasının yanlış olmasıdır. İkinci dezavantaj, bir tablo oluşturmak için dış bloğun etrafına bir eleman daha eklemeniz gerekmesidir.
İlk eksi, tablo ve td etiketlerini div ile değiştirerek ve CSS'de tablo görüntüleme modunu ayarlayarak kısmen kaldırılabilir.
.outer-sarmalayıcı (ekran: tablo;) .outer (ekran: tablo-hücre;) Bununla birlikte, dış blok, ortaya çıkan tüm sonuçları içeren bir tablo olarak kalacaktır.
Dolgu ile hizalama
İç ve dış bloğun yükseklikleri biliniyorsa, hizalama aşağıdaki formül kullanılarak iç bloğun dikey dolgusu kullanılarak ayarlanabilir: (H dış - H iç) / 2.
Dış ( yükseklik: 200 piksel; ) . iç ( yükseklik: 100 piksel; kenar boşluğu: 50 piksel 0; ) http://jsfiddle.net/c1bgffffq/6/
Çözümün dezavantajı, her iki bloğun yüksekliklerinin bilindiği sınırlı sayıda durumda uygulanabilmesidir.
Satır yüksekliği ile hizalama
İç bloğun birden fazla metin satırı kaplamaması gerektiğini biliyorsanız, line-height özelliğini kullanabilir ve bunu dış bloğun yüksekliğine eşitleyebilirsiniz. İç bloğun içeriği ikinci satıra kaydırılmaması gerektiğinden, white-space:nowrap ve overflow: hidden kurallarının da eklenmesi önerilir.
Dış ( yükseklik: 200 piksel; satır yüksekliği: 200 piksel; ) . iç ( beyaz boşluk: şimdi rap; taşma: gizli; ) http://jsfiddle.net/c1bgffffq/12/
Bu teknik, iç blok için satır yüksekliği değerini geçersiz kılarsanız ve display: inline-block ve Vertical-align: middle kurallarını eklerseniz, çok satırlı metni hizalamak için de kullanılabilir.
Bu tekniğin özü, uzatılmış ve kesinlikle konumlandırılmış bir blok için bir yükseklik belirlemenin, değerleri auto olarak ayarlanmışsa, tarayıcının dikey dolguyu eşit oranlarda hesaplamasına neden olmasıdır.
Negatif kenar boşluğu ile hizalama
Bu yöntem yaygın olarak bilinir hale geldi ve çok sık kullanılıyor. Bir önceki gibi, dış bloğun yüksekliği bilinmeyip iç bloğun yüksekliği bilindiğinde uygulanır.
Dış bloğu göreceli konumlandırmaya ve iç bloğu mutlak konumlandırmaya ayarlamanız gerekir. Daha sonra, iç kutuyu dış kutunun üst kısmının yüksekliğinin yarısı kadar aşağı indirmeniz gerekir: %50 ve kendi yüksekliğinin yarısı kadar yukarı marj-üst: -H iç / 2.
Bu yöntemin dezavantajı, iç ünitenin yüksekliğinin bilinmesi gerekmesidir.
dönüşüm ile hizalama
Bu yöntem bir öncekine benzer, ancak iç bloğun yüksekliği bilinmediğinde uygulanabilir. Bu durumda, piksel cinsinden negatif bir dolgu ayarlamak yerine, transform özelliğini kullanabilir ve translateY işlevi ve -50% değeri ile iç kutuyu yukarı kaldırabilirsiniz.
Önceki yöntemde değeri yüzde olarak ayarlamak neden imkansızdı? Margin özelliğinin yüzde değerleri parent elemana göreli olduğu için %50 değeri dış kutunun yüksekliğinin yarısına eşit olur ve iç kutuyu kendi yüksekliğinin yarısı kadar yükseltmemiz gerekir. Transform özelliği tam olarak bunun içindir.
Bu yöntemin dezavantajı, dahili blok mutlak konumlandırmaya sahipse uygulanamamasıdır.
Flexbox ile Hizalama
Dikey olarak hizalamanın en modern yolu, Esnek Kutu Düzeni'ni (halk arasında Flexbox olarak bilinir) kullanmaktır. Bu modül, sayfadaki öğelerin konumunu esnek bir şekilde kontrol etmenizi ve neredeyse her yere yerleştirmenizi sağlar. Flexbox için merkez hizalama çok basit bir iştir.
Dış bloğun display: flex olarak ayarlanması gerekir ve iç bloğun margin: auto olarak ayarlanması gerekir. Ve hepsi bu! Güzel. Değil mi?
Bu yöntemin dezavantajı, Flexbox'ın yalnızca modern tarayıcılar tarafından desteklenmesidir.
Hangi yolu seçmeli?
Sorunun ifadesinden devam etmek gerekir:
Metnin dikey hizalanması için dikey dolgu veya satır yüksekliği özelliğini kullanmak daha iyidir.
Yüksekliği bilinen (simgeler gibi) kesinlikle konumlandırılmış öğeler için, negatif kenar boşluğu yaklaşımı idealdir.
Bloğun yüksekliğinin bilinmediği daha karmaşık durumlar için sözde öğe veya transform özelliği kullanılmalıdır.
IE'nin eski sürümlerini desteklemeniz gerekmeyecek kadar şanslıysanız, o zaman elbette Flexbox daha iyidir.
Çoğu zaman görev, bloğu sayfanın / ekranın ortasına hizalamaktır ve hatta bir java betiği olmadan, sabit boyutlar veya negatif girintiler ayarlamadan, böylece blok boyutunu aşarsa kaydırma çubukları ebeveyn üzerinde çalışır. Bir bloğun ekranın merkezine nasıl hizalanacağına dair internette oldukça fazla monoton örnek var. Kural olarak, çoğu aynı ilkelere dayanmaktadır.
Sorunu çözmenin ana yolları, artıları ve eksileri aşağıdadır. Örneklerin özünü anlamak için, belirtilen bağlantılardaki örneklerde Sonuç penceresinin yüksekliğini / genişliğini azaltmanızı öneririm.
Seçenek 1. Negatif dolgu.
konumlandırma engellemek top ve left niteliklerini %50 oranında artırın ve bloğun yüksekliğini ve genişliğini önceden bilerek, boyutun yarısına eşit olan bir negatif kenar boşluğu ayarlayın engellemek. Bu seçeneğin büyük bir dezavantajı, negatif girintileri saymanız gerekmesidir. Ayrıca engellemek kaydırma çubukları ortamında pek doğru davranmaz - negatif girintilere sahip olduğu için basitçe kesilir.
Daha az yaygın, ancak ilkine benzer. İçin engellemek genişliği ve yüksekliği ayarlayın, sağ üst alt sol öznitelikleri 0 olarak konumlandırın ve otomatik kenar boşluğunu ayarlayın. Bu seçeneğin avantajı çalışan kaydırma çubuklarıdır. ebeveyn, ikincisi %100 genişliğe ve yüksekliğe sahipse. Bu yöntemin dezavantajı katı boyutlandırmadır.
Biz sorarız ebeveyn tablo stilleri, hücre ebeveyn Metin hizalamasını merkeze ayarlayın. A blok satır içi blok modelini ayarlayın. Dezavantajlar, çalışan kaydırma çubukları değildir ve genel olarak tablonun "öykünme" estetiği değildir.
Bu örneğe kaydırma eklemek için yapıya bir eleman daha eklemeniz gerekecek. Örnek: jsfiddle.net/serdidg/fk5nqh52/3 .
Seçenek 4. Sahte öğe.
Bu seçenek, önceki yöntemlerde listelenen tüm sorunları içermez ve orijinal görevleri de çözer. mesele şu ki ebeveyn stilleri ayarla sözde elemanönce, yani %100 yükseklik, merkez hizalama ve satır içi kutu modeli. İle aynı engellemek satır içi bloğun modelini, orta hizalamayı koyun. İle engellemek altına düşmedi sözde eleman ilkinin boyutları daha büyük olduğunda ebeveyn, belirtin ebeveyn beyaz boşluk: şimdi rap ve yazı tipi boyutu: 0 ve ardından y engellemek bu stilleri aşağıdakilerle iptal edin - boşluk: normal. Bu örnekte, aralarında oluşan boşluğu kaldırmak için font-size: 0 gereklidir. ebeveyn Ve engellemek kod biçimlendirme ile bağlantılı olarak. Boşluk başka şekillerde giderilebilir, ancak buna izin vermemek en iyisi olarak kabul edilir.
En basit ve en zarif yollardan biri flexbox kullanmaktır. Gereksiz vücut hareketleri gerektirmez, olan bitenin özünü oldukça açık bir şekilde anlatır ve yüksek esnekliğe sahiptir. Bu yöntemi seçerken hatırlanması gereken tek şey, sürüm 10 dahil olmak üzere IE desteğidir. caniuse.com/#feat=flexbox
Yapıyla sınırlıysak uygundur ve ana öğeyi manipüle etmenin bir yolu yoktur, ancak bloğun bir şekilde hizalanması gerekir. translate() css işlevi kurtarmaya gelecek. %50 mutlak konum değeri, kutunun sol üst köşesini tam olarak merkezde konumlandırır, ardından negatif çevirme değeri kutuyu kendi boyutlarına göre hareket ettirir. Olumsuz etkilerin bulanık kenarlar veya yazı tipi stili şeklinde görünebileceğini lütfen unutmayın. Ayrıca, benzer bir yöntem, java-script "a kullanılarak bloğun konumunun hesaplanmasında sorunlara yol açabilir. Bazen, sol css özelliğinin kullanılması nedeniyle genişliğin %50'lik kaybını telafi etmek için, kural ayarlanır. blok yardımcı olabilir: sağ kenar boşluğu: -50%; .
Kullanıcı seçeneği nerede engellemek bir düğme etiketine sarılmış. Düğme, içindeki her şeyi, yani satır içi ve blok satır (inline blok) modelinin öğelerini ortalama yeteneğine sahiptir. Pratikte tavsiye etmiyorum.
4. seçenek fikrini kullanarak, kenar boşluklarını ayarlayabilirsiniz. engellemek ve aynı zamanda ikincisi, kaydırma çubukları ortamında yeterince gösterilecektir. Örnek: jsfiddle.net/serdidg/nfqg9rza/2 .
Ayrıca resmi ortaya hizalayabilirsiniz ve eğer resim daha büyükse ebeveyn, boyutuna göre ölçeklendirin ebeveyn. Örnek: jsfiddle.net/serdidg/nfqg9rza/3 . Büyük resim örneği: