Tablo yerine CSS ve iki satır içi blok (ya da her ne olursa olsun) DIV etiketi kullanmak böyle bir şey olabilir mi?
Tablo sürümü budur (kenarlıklar eklendi, böylece görebilirsiniz):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
<table style="width:100%;">
<tr>
<td style="border:1px solid black;width:100px;height:10px;"></td>
<td style="border:1px solid black;height:10px;"></td>
</tr>
</table>
</body>
</html>
SABİT GENİŞLİK (yüzde genişlik değil) içeren bir sol sütun ve satırdaki KALAN ALAN'ı doldurmak için genişleyen sağ bir sütun üretir . Kulağa basit geliyor, değil mi? Ayrıca, hiçbir şey "yüzülmediği" için, ana kabın yüksekliği içeriğin yüksekliğini kapsayacak şekilde genişler.
--BEGIN RANT -
Sabit genişlikli yan sütuna sahip çok sütunlu düzenler için "net düzeltme" ve "kutsal kase" uygulamalarını gördüm ve emiyorlar ve karmaşıklar. Öğelerin sırasını tersine çevirirler, yüzde genişliklerini kullanırlar veya yüzer, negatif kenar boşlukları kullanırlar ve "sol", "sağ" ve "kenar boşluğu" öznitelikleri arasındaki ilişki karmaşıktır. Ayrıca, mizanpajlar alt piksele duyarlıdır, böylece tek bir kenarlık, dolgu veya kenar boşluğu pikselinin eklenmesi tüm mizanpajı kırar ve bir sonraki satıra kaydırma yapan tüm sütunları gönderir. Örneğin, her biri genişliği% 25 olarak ayarlanmış bir satıra 4 öğe koymak gibi basit bir şey yapmaya çalışsanız bile, yuvarlama hataları bir sorundur.
- END RANT--
Ben "inline-block" ve "white-space: nowrap;" kullanarak denedim, ama sorun ben sadece satırda kalan alanı doldurmak için 2 eleman alamıyorum . Genişliği "width: 100% - (LeftColumWidth) px" gibi bir şeye ayarlamak bazı durumlarda işe yarar, ancak width özelliğinde hesaplama yapmak gerçekten desteklenmez.
display: table-*
yarayacak bir yapıya dönüştürmek dışında bunu yapmanın akılcı bir yolu olduğunu sanmıyorum , ama gerçekten "daha semantik" ya da (korkunç birdiv
çorba olmanın ) ve IE6 uyumluluğunu bozuyor.<table>
Birisi olmadan çalışan dahi basit bir fikir