2013-05-08 29 views
6

neden bu olur Hey merak ediyorum:Tablo Tablo Hücre tutarsızlığı.

http://jsfiddle.net/dSVGF/

düğmeleri henüz çapalar yapmak kabını doldurmaz. Stilistik olarak iki etiket arasında temelde farklı nedir?

<div class="table"> 
    <a href="#">A</a> 
    <a href="#">B</a> 
    <a href="#">C</a> 
</div> 

<div class="table"> 
    <button href="#">A</button> 
    <button href="#">B</button> 
    <button href="#">C</button> 
</div> 


.table { 
    display: table; 
    width: 100%; 
    outline: 1px solid red; 
} 

.table > * { 
    display: table-cell; 
    outline: 1px solid lightgreen; 
} 
+0

Bunu çözemedim :) Ben de merak ediyorum! – Jondlm

+0

Daha ilginç olarak: http://jsfiddle.net/dSVGF/2/ :) – Passerby

+1

@Passerby, ".table> * kuralı" yalnızca kuramsal olarak, yani ani çocuklara uygulanır. Bu düğme için B düğmesi ve açıklık (tekrar iç içe değil) kullanılmalıdır. Düğme etiketi bazı tarayıcılarda "ekran: tablo hücresi" ye izin vermediğinden, "B" düğmesi burada döngüden çıkarılır. – BDawg

cevap

4

Bu elemanlar arasındaki temel farkın, <button>'un değiştirilen öğe olarak (en azından bazı tarayıcılar tarafından) ele alınması ve CSS olmayan tarayıcı yerleşik mekanizmaların yardımıyla oluşturulması gerektiğine inanıyorum. Bugzilla'da bunun neden olduğu düğmelerin görüntülenme sınırlamaları hakkında birçok sorun vardır (ör. https://bugzilla.mozilla.org/show_bug.cgi?id=733914).

IE9 + ve Opera, <button> ürününü, değiştirilmiş bir öğe olarak görmüyor gibi görünüyor, bu da en son HTML spec numaralı telefona göre daha doğru görünüyor, ancak CSS modelinde henüz açık değil.

-2

bir düğme vb metin, resim

bir bağlantı etiketi Köprüler için özeldir gibi içinde bir şey koymak sağlayan bir tıklanabilir unsurdur.

Kaynak: Bir düğme etiketi aslında kabul olsun ya da olmasın

+0

-1. – Sparky

+0

Bu bir html sorudan daha fazla bir css sorusu olduğunu düşünüyorum. Muhtemelen tarayıcı stil sayfasında, denetçide hiçbir özellik bunun üzerinde herhangi bir etkiye sahip görünmüyor. – Jeffpowrs

1

w3schools.com "display: table hücreli" görünüşe göre, tarayıcıda bağlıdır. Chrome geliştirici araçlarında hızlı bir kontrol gerçekleştirdim: Hesaplanan stillerde, düğmelerdeki ekran satır içi bloğa ayarlandı. IE10'da da aynısını denediğimde, değişimi ve gerçekten masa hücresi olarak boyutlandırılmış düğmeleri kabul etti.