Imam podobno postavitev:
<div>
<table>
</table>
</div>
Rad bi, da se div
razširi samo na širino, ki jo ima moja tabela
.
Želite blokovni element, ki ima tako imenovano širino CSS, ki se skrči, da se prilega, specifikacija pa ne zagotavlja blagoslovljenega načina za pridobitev takšne možnosti. V CSS2 skrčenje na velikost ni cilj, temveč sredstvo za reševanje situacije, ko mora brskalnik "pridobiti širino iz zraka". Te situacije so:
če ni določena širina. Slišal sem, da razmišljajo o dodajanju želenega v CSS3. Za zdaj se zadovoljite z enim od zgoraj naštetih.
Odločitev, da funkcija ni neposredno izpostavljena, se morda zdi nenavadna, vendar za to obstaja dober razlog. To je drago. Zmanjšanje za prileganje pomeni vsaj dvakratno oblikovanje: elementa ne morete začeti oblikovati, dokler ne poznate njegove širine, širine pa ne morete izračunati, ne da bi pregledali celotno vsebino. Poleg tega elementa ne potrebujemo tako pogosto, kot bi si morda mislili. Zakaj potrebujete dodaten div okoli tabele? Morda je napis tabele vse, kar potrebujete.
Ne vem, v kakšnem kontekstu se bo to pojavilo, vendar verjamem, da bo lastnost sloga CSS float
bodisi levo
ali desno
imela ta učinek. Po drugi strani pa bo imela tudi druge stranske učinke, na primer omogočila, da besedilo lebdi okoli nje.
Prosim, popravite me, če se motim, nisem 100 % prepričan in trenutno tega ne morem preizkusiti.
Rešitev, združljiva s CSS2, je uporaba:
.my-div
{
min-width: 100px;
}
Svoj div lahko tudi plava, kar ga bo prisililo, da bo čim manjši, vendar boste morali uporabiti clearfix, če je karkoli znotraj vašega diva plavajoče:
.my-div
{
float: left;
}