‘display:inline-block’ etiketi için sonuçlar
display:inline elemanlar arasındaki doğal boşluklar
Temmuz 14th, 2010 • 7 yorum CSS, XHTML
Etiketler: boşluk, display:inline, display:inline-block, menü
Daha önce gözüme çarpmamış olmaması ilginç geldi. Belki çarpmıştırda ben es geçmişimdir. Durumu şöyle açıklayayım. Basit bir menü oluşturmak istedim.
<ul> <li>deneme</li> <li>olarak</li> <li>bir örnek </li> </ul>
Yatay bir menü olacağı için
ul li{display:inline;}
eklemesini yaptım, daha sonra da padding değerleri ekleyince fark ortaya çıktı.
ul li{ padding:0 12px; background-color:#999}
İşin aslı İnternet Explorer 6 ve 7’de istediğim gibi olurken yeni nesil tarayıcılarda arada fazladan boşluklar atanmış gördüm. margin:0 değeri atadım ama olmadı biraz araştırınca gördüm ki display:inline elemanlar(display:inline-block’ta da oluyor) arasında kod kısmında boşluk varsa bu boşluklar yorumlanan sayfada da görünüyor.
Aradaki boşlukları kaldırmak için bir kaç yöntem var. Yatay menü oluşturmak için diğer bir yöntem olan float yöntemini denemek bunlardan biri
ul li{ float:left}
Diğer bir çözüm yolu ise aradaki boşlukları kaldırmak.
<ul> <li>deneme</li><li>olarak</li><li>bir örnek </li> </ul>
İnternet Explorer 8′in CSS Desteği
Mart 31st, 2010 • 8 yorum CSS, Haberler
Etiketler: :active, :after, :before, content, Data URI, display:inline-block, focus, hasLayout, ie8, outline
Biraz geç kalmış bir yazı olacak, ancak İnternet Explorer 8 çıktığından beri ilk defa birinciliği Firefox’dan aldı. Bende bu makaleyi yazmaya gerek duydum. Açıkçası İnternet Explorer 8′e ilgisiz kaldık. İnternet Explorer 6 ile o kadar uğraştık ki serinin 8. sürümü biraz atıl kaldı.
İnternet Explorer 8 yayıldıkça sorunları ortay çıkmaya başladı, yani test potamıza girmeye başladı. Her ne kadar uyumluluk kodu ile İnternet Explorer 7 gibi yorumlamasını sağlayıp test tarayıcı sayısını bire düşürme imkanımız olsada yeniliklerinden yararlanmak için bu kodu kullanmamak gerekebilir. Ayrıca makaleyi geç yazmamızın bir avantajı oldu o da ie8 sorunlarınıda görmeye başladık.
İnternet Explorer 8 ile birlikte CSS2.1 standartlarını tam desteklediğini açıkladı.
İnternet Explorer 8 ile gelen CSS özellikleri listesi; Okumaya devam edin »
Süper bir özellik display:inline-block
Şubat 28th, 2010 • 7 yorum CSS, XHTML
Etiketler: dikey-ortalama, display:inline-block, Kutu-Modeli, kutular, vertical-align
Alışkanlıklar kolay kolay bırakılmıyor. Zamanında display:inline-block özelliğini Firefox desteklemediği(Firefox desteği 3. sürümden itibaren geldi) için kullanmıyordum. Hala orada kalmışım hiç kullanmıyorum bu özelliği, şimdi bir projede gerekti ve kullandım. Çok hoşuma gitti. Tekrar bir hatırlayalım display:inline-block özelliği hibrit bir özelliktir. Bir yanı satır içi davranırken bir yanı blok davranır.
display:inline-block tanımı yapılmış elemanlar satır için akış içinde satır içi eleman gibi davranırken, elemente genişlik, yükseklik ve dikey margin değerleri tanımlanırsa satır içinde blok-level özelliğine bürünür.
display:inline-block elementler çevresindeki elementlere ve satır içi kutu içeriklerine göre farklı davranışlar gösterir.
Durumu daha iyi anlamak için genel bir örnek yapalım. 3 paraftan oluşan bir içeriğimiz olsun ve bu içerikteki belli bir kısmı paragraf etiketi içine alalım ve bunlara sırası ile display:block, display:inline ve display:inline-block tanımları atayalım
<div id="denemeBir"> Lorem ipsum dolor sit amet... <p>Praesent id nunc eros. Integer mauris orci, venenatis ac tempor ut, gravida ac diam. </p> Pellentesque...</div> <div id="denemeIki">Quisque at venenatis nulla...<p>Nam fermentum porttitor hendrerit.</p> Mauris ante nulla..</div> <div id="denemeUc"> Sed urna neque...<p>Sed est lacus, laoreet at malesuada quis, convallis ut nibh.</p> Sed dapibus...</div>
CSS kodu
div {margin: 10px 0; border: 1px solid #000;}
p {border: 1px dotted #000;}
div#denemeBir p {display: block; width: 50px; text-align: center; background-color:#FF0}
div#denemeIki p {display: inline; width: 50px; text-align: center; background-color:#0FF}
div#denemeUc p {display: inline-block; width: 50px; text-align: center; background-color:#F0F}
Örneği görmek için tıklayınız.
Aynı yapıdaki elemanların display özelliğine sırası ile block, inline ve inline-block tanımlarını atadık.
display:block uygulanan paragraf kendisine atanan width, text-align:center özelliğini yorumlamış ve blok-level bir element olarak sonrasına bir boşluk bırakmıştır.
display:inline tanımı yapılmış paragraf kendisine atanan width, text-align:center tanımlarını görmemiştir.
display:inline-block uygulanmış paragraf ise kendisine uygulanan width ve text-align:center tanımlarını görmüş ama bir blok-level element gibi sonrasına bir boşluk bırakmamıştır. Tam bir hibrit özellik göstermiştir.
display:inline-block tanımını daha iyi anlamak için nerelerde kullanırız neler yapabiliriz buna bakalım.
Float kullanmadan display:inline-block ile elemanları yan yana dizmek
<div id="menu"> <a href="">Ana Sayfa</a> <a href="">Ürünler</a> <a href="">İletişim</a> </div>
CSS kodumuzu yazalım;
#menu a{
width:150px;
height:50px;
display: inline-block;
margin:0;
padding:5px;
color: #1B1B1B;
background-color: #E2E2E2;
text-decoration: none;
border-top:5px solid #999
}
Örneği görmek için tıklayınız.
Bu kod ile biz öğeleri yan yana dizeriz. Normalde hiç bir tanım yapmasak da bu elemanlar yan yana dizilecekti, ancak bu elemanlar arasındaki mesafeyi ayarlıyamıyacaktık. Hem satır içi eleman gibi yan yana dursun hemde genişlik, yükseklik ve margin tanımlarını uygulayalım istersek display:inline-block tanımı yapmalıyız.
Dikeyde ortalama
Float uygulanmış elemanların dikeyde ortalamak çok zordur, aksine display:inline-block uyguladığımız elemanları sadece vertical-align özelliği kullanarak dikey ortalama yaparız. Dikeyde ortalama aynı seviyedeki elemanlar arasında olduğunu unutmamak lazım.
Bir örnek yapalım. Yan yana dizilmiş üç kutu hazırlayalım ve bunları kapsayıcı katmana göre dikey olarak üstte, ortada ve altta hizalayalım.
<div class="anaKapsul">
<div class="solKutu">Sol</div>
<div class="ortaKutu">Orta</div>
<div class="sagKutu">Sağ</div>
</div>
CSS kodumuzu yazalım.
.anaKapsul { border: 1px gray solid; padding: 5px; text-align: center; }
.solKutu { display: inline-block; background-color: lightblue; vertical-align: middle; width: 200px; height: 200px; }
.ortaKutu { display: inline-block; background-color: yellow; vertical-align: middle; width: 200px; height: 150px; }
.sagKutu { display: inline-block; background-color: gray; vertical-align: bottom; width: 200px; height: 100px; }
Örneği görmek için tıklayınız.
Firefox, Safari, Google Chrome, Opera ve İE8′de bu görüntüyü elde ederiz. Ancak ie7 ve ie6′da durum böyle değildir.
Bu tarayıcılarda aynı sonucu elde etmek için bu tarayıcılar için bu elemnalara display:inline ve zoom:1 tanımı yapmalıyız. Bunun için tüm tarayıcılar için düzeltmeler kısmındaki kodlardan yararlanacağım.
*:first-child+html div.anaKapsul div{display:inline; zoom: 1;}
* html div.anaKapsul div{display:inline; zoom: 1;}
Bu kodları ekledikten sonra sorunumuz düzeldi.
Kaynaklar
- http://www.search-this.com/2008/08/28/lets-all-get-inline-in-a-block-in-a-block/
- http://foohack.com/2007/11/cross-browser-support-for-inline-block-styling/
- http://helephant.com/2009/08/a-great-big-welcome-to-inline-block/
- http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/
- http://kempwire.com/browsers/firefox-2-does-not-support-inline-block.html
- http://robertnyman.com/2010/02/24/css-display-inline-block-why-it-rocks-and-why-it-sucks/
- http://www.quirksmode.org/css/display.html#t03
- http://blog.ternstyle.us/blog/float-vs-inline-block
- http://www.sitepoint.com/forums/showthread.php?t=596130 (sorun )
03 Eylül Web’den seçme haberler
Eylül 3rd, 2008 • Haberler
Etiketler: CSS filtreleme, display:inline-block, Erişebilirlik, Google Analytics, Google Chrome, internet explorer, internet explorer 6, jParallax, yazı tipi
- Hasan Yalçın sitesini yenilemiş. Hayırlı olsun. Bağlantı
- Bu aralar yazı tipi gömme işleri üzerine bayağı bir çalışma var. Bence çok gecikmiş bir özellik umarım tüm tarayıcılar anlaşırlarda iş tatlıya bağlanır. Bağlantı
- Internet Explorer 8.0 Beta 2 yayınlanmış. Bağlantı
- Internet Explorer 8.0 Beta 2 ile gelen güvenlik yenilikleri – daron.yondem.com Bağlantı
- display-inline:block hakkında güzel bir makale. Bağlantı
- Ağustos ayında yayınlanmış güzel makaleler. Süper derleme Bağlantı
- Web tasarımlarınızın erişebilirliğini ölçebileceğimiz 10 araç. Bağlantı
- 30 günde mootools öğrenmeyi anlatan güzel bir site. Bağlantı
- Birebir tasarıma uygun kod yazmak için güzel bir yöntem. Bağlantı
- Internet Explorer 6′yı engelleyelim. Bağlantı
- FireFox, Internet Explorer, Safari ve Opera’ya göre filtreleme yapmak. Bağlantı
- Google internet tarayıcı sektörünede girdi. Google Chrome adlı yeni tarayıcı rekabeti kızıştıracak gibi. Bağlantı
- Google Chrome çıktı. Hızlı, sade ve güven veriyor. Stadandartları destekliyor. Acid 2 testinden tam puan aldı. İndirmek için tıklayınız. Özelliklerini incelemek için tıklayınız Bağlantı
- Html elemanlarının CSS testini sağlamak için hazırlanmış güzel bir html dosyası. Bağlantı
- jQuery’nin güzel bir eklentisi jParallax. Bağlantı
- Profoyonel sitelerden temel olarak nasıl yardım alabilriz. Bağlantı
- Modern web sitelerinde javascript’in yeri. Bağlantı
- Çok kademeli sitler için güzel bir menü örneği. Bağlantı
- Google Analitics ipuçları. Bağlantı


