Ich habe ein ähnliches Layout:
<div>
<table>
</table>
</div>
Ich möchte, dass die div
nur so weit ausdehnen, wie mein table
wird.
Ich habe ein ähnliches Layout:
<div>
<table>
</table>
</div>
Ich möchte, dass die div
nur so weit ausdehnen, wie mein table
wird.
Sie wollen ein Blockelement, das eine Breite hat, die CSS "shrink-to-fit" nennt, und die Spezifikation bietet keine gesegnete Möglichkeit, so etwas zu erhalten. In CSS2 ist "shrink-to-fit" kein Ziel, sondern ein Mittel, um mit einer Situation umzugehen, in der der Browser eine Breite aus der Luft holen "muss". Solche Situationen sind:
wenn keine Breite angegeben ist. Ich habe gehört, sie denken über das Hinzufügen, was Sie wollen in CSS3. Für jetzt, machen Sie mit einem der oben genannten zu tun.
Die Entscheidung, die Funktion nicht direkt zu veröffentlichen, mag seltsam erscheinen, aber es gibt einen guten Grund dafür. Es ist teuer. Einschrumpfen bedeutet, dass man mindestens zweimal formatieren muss: Man kann nicht mit der Formatierung eines Elements beginnen, bevor man seine Breite kennt, und man kann die Breite nicht berechnen, ohne den gesamten Inhalt zu durchlaufen. Außerdem braucht man das Schrumpfen nicht so oft, wie man vielleicht denkt. Warum brauchen Sie ein zusätzliches Div um Ihre Tabelle? Vielleicht ist die Tabellenüberschrift alles, was Sie brauchen.
Ich denke, mit
display: inline-block;
würde funktionieren, aber ich bin mir nicht sicher, ob der Browser kompatibel ist.
Eine andere Lösung wäre, Ihre div
in einem anderen div
(wenn Sie das Blockverhalten beibehalten wollen):
HTML:
<div>
<div class="yourdiv">
content
</div>
</div>
CSS:
.yourdiv
{
display: inline;
}
Sie können versuchen fit-content
(CSS3):
div {
width: fit-content;
/* To adjust the height as well */
height: fit-content;
}
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
109 Stimmen
Der Effekt wird "shrinkwrapping" genannt, und wie bereits erwähnt, gibt es mehrere Möglichkeiten, dies zu tun (float, inline, min/max-width), die alle verschiedene Nebeneffekte haben
1 Stimmen
Keine der unten aufgeführten Antworten hat bei mir funktioniert, außer:
display: table
-OR-height: fit-content
!!!