Buna benzer bir düzenim var:
<div>
<table>
</table>
</div>
divin yalnızca
tablo`mun genişliği kadar genişlemesini istiyorum.
CSS'in sığdırmak için daraltma genişliği dediği genişliğe sahip bir blok öğesi istiyorsunuz ve teknik özellik böyle bir şey elde etmek için kutsanmış bir yol sağlamıyor. CSS2'de, sığdırmak için küçültme bir amaç değil, tarayıcının "havadan bir genişlik alması" gereken bir durumla başa çıkmak için bir araçtır. Bu durumlar şunlardır:
genişlik belirtilmediğinde. CSS3'te istediğinizi eklemeyi düşündüklerini duydum. Şimdilik yukarıdakilerden biriyle idare edin.
Özelliği doğrudan ortaya çıkarmama kararı garip görünebilir, ancak bunun iyi bir nedeni var. Pahalıdır. Sığdırmak için küçültme en az iki kez biçimlendirme anlamına gelir: genişliğini bilmeden bir öğeyi biçimlendirmeye başlayamazsınız ve tüm içeriği gözden geçirmeden genişliği hesaplayamazsınız. Ayrıca, bir öğeyi sığdırmak için küçültmeye sanıldığı kadar sık ihtiyaç duyulmaz. Tablonuzun etrafında neden ekstra div'e ihtiyacınız var? Belki de ihtiyacınız olan tek şey tablo başlığıdır.
Bunun hangi bağlamda görüneceğini bilmiyorum, ancak CSS-style özelliği float
ya left
ya da right
bu etkiye sahip olacağına inanıyorum. Öte yandan, metnin etrafında yüzmesine izin vermek gibi başka yan etkileri de olacaktır.
Yanılıyorsam lütfen beni düzeltin, %100 emin değilim ve şu anda kendim test edemiyorum.
CSS2 uyumlu bir çözüm kullanmaktır:
.my-div
{
min-width: 100px;
}
Ayrıca div'inizi yüzdürerek mümkün olduğunca küçük olmasını sağlayabilirsiniz, ancak div'inizin içindeki herhangi bir şey yüzüyorsa clearfix kullanmanız gerekir:
.my-div
{
float: left;
}