Buben another question yazılan yorumlar bir çift umarım biraz daha net bir dolgun açıklamasıdır. Opera'nın Firefox ile aynı davranışa sahip olduğunu unutmayın.
Yukarıdaki şemada, toplam hücre alanı, karanlık kutudur ve My Text
metni, td
içeriğidir ve bu, Hücre Kutusu'nu (C) tanımlamasıdır.
Şimdi, CSS 2.1 spektrumu söyler:
bir table-row elemanın kutu yüksekliği kullanım madde mevcut satır tüm hücreleri bulunur kez hesaplanır: bu satırın hesaplanan height 'en fazla olduğu, satırındaki her hücrenin hesaplanan 'yüksekliği' ve hücreler tarafından gereken minimum yükseklik (MIN). Bir 'table-row' için 'auto' değeri ' ' değeri, düzeninin MIN için kullanıldığı satır yüksekliği anlamına gelir. MIN, hücre kutusu yüksekliklerine ve hücre kutusu hizalamasına bağlıdır (bir satır kutusu yüksekliğinin hesaplanması gibi çok ). ...
CSS 2.1'de, bir hücre kutusunun yüksekliği, içerik için tarafından istenen minimum yüksekliktir. Tablo hücresinin 'yükseklik' özelliği, satırın yüksekliğini etkileyebilir (yukarıya bakın), ancak hücre kutusunu yüksekliğini artırmaz.
Yani td { height:100px; }
Satır Yüksekliği (R) (en az 100px yüksek olacaktır) ama Hücre Kutusu (C) etkilemez etkiler.
Diğer yandan, td { padding:20px; }
, Hücre Kutusu'na (C) uygulanır, bu nedenle (C) + Üst Dolgu + Alt Dolgu yüksekliği 100 pikselden azsa, satır yüksekliği etkilenmez ve hala 100 pikseldir.
(C) + Üst Dolgu + Alt Dolgu 100px'den daha büyükse, satır yüksekliği (C) + Üst Dolgu + Alt Dolgusunun tüm yüksekliğini alabilmek için genişler.
Ardından, td { background-color:blue }
tüm satır yüksekliği (R) ve hücre genişliği için geçerlidir.
Finalde kafa karıştırıcı faktör Firebug td
hesaplanan yükseklik değeridir http://jsfiddle.net/Ez7xz/
de eylem görebilirsiniz. Buradaki gibi görünen şey, yüksekliğin content-box
kutu boyutlandırmasının sonucu olduğunu ve R'nin alt ve üst dolgusu oranından daha düşük olduğunu bildirmesidir. Bu garip görünüyor olsa da, makul bir şekilde raporlayabileceği başka bir şey değil.
Firebug'da, dolguyu hesaplar, ancak hesaplanan yükseklik "60px" şeklindedir. –
Belki de Firefox'un varsayılan stilleri ile ilgili bazı sorunlar. Stilleri sıfırlamak da işe yaramaz ... (http://meyerweb.com/eric/tools/css/reset/) – rekire
Bir CSS sıfırlaması ile mi demek istiyorsun? Aynı sonuç ... http://jsfiddle.net/8wDde/3/ – ptriek