2503 Stimmen

Wie kann ich ein Div nicht größer als sein Inhalt machen?

Ich habe ein ähnliches Layout:

<div>
    <table>
    </table>
</div>

Ich möchte, dass die div nur so weit ausdehnen, wie mein table wird.

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 !!!

3voto

NathanielSantley Punkte 300

Ich würde einfach die padding: -whateverYouWantpx;

3voto

Vinay Mehta Punkte 117

Ich habe eine span innerhalb einer div und nur die Einstellung margin: auto zum Container div hat für mich funktioniert.

1voto

Zeke Punkte 491

Einfach

<div style="display: inline;">
    <table>
    </table>
</div>

1voto

Harshana Punkte 524

Wie wäre es, wenn wir eine globale Variable definieren und diese für beide verwenden?

:root {
    --table-width: 400px;
}

.container{
     width:var(--table-width);
     border: 1px solid black;   // easy visualization
}
.inner-table {
     width:var(--table-width);
     border: 1px solid red;   // easy visualization
}

<div class="container">
    <table class="inner-table">
       <tr>
           <td>abc</td>
       </tr>
    </table>
</div>

1voto

Nicolas Talichet Punkte 299

Ich persönlich mache das einfach:

HTML-Code:

<div>
    <table>
    </table>
</div>

CSS-Code:

div {
    display: inline;
}

Wenn Sie ein float auf Ihr div anwenden, funktioniert es auch, aber natürlich müssen Sie eine "clear both" CSS-Regel auf das nächste HTML-Element anwenden.

CodeJaeger.com

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.

Powered by:

X