Wie kann ich einem div automatisch eine eigene Breite zuweisen lassen?

7

Wie kann ich die Breite eines DIV so einstellen, wie es ist, wenn float:left gesetzt ist, aber ohne einen Float zu setzen? width:auto scheint das nicht zu tun (in Chrome).

Ich versuche etwas wie das Folgende zum Laufen zu bringen ...

%Vor%     
Justin808 19.04.2011, 06:45
quelle

4 Antworten

33

Sie könnten display: inline-block ausprobieren und sehen, ob das in Ihrer Situation funktioniert. Sie können es jedoch nicht mit margin-left: auto & amp; margin-right: auto , weil für diese Technik ein width-Wert erforderlich ist.

Wenn möglich, verwenden Sie display: inline-block und setzen Sie text-align: center auf seinen Container.

%Vor%

Siehe Arbeitsdemo auf jsFiddle: Ссылка

    
jessegavin 19.04.2011, 06:48
quelle
5

Für diejenigen unter Ihnen, die immer noch auf dieses Problem stoßen, können Sie das heutzutage mit:

umgehen %Vor%

Hier ist eine neue Geige basierend auf der akzeptierten Antwort: Ссылка

    
kayakyakr 21.01.2015 01:12
quelle
3

<div> s sind Blockelemente. Sie nehmen die volle Breite ihrer Container ein. Zeitraum. Genau wie <body> oder <html>

Ihre obige Regel macht im Wesentlichen Folgendes: div { width:100%; margin:0 auto; } als 100% ist der automatische Wert.

inline-block würde funktionieren, aber es funktioniert nicht genau wie ein echtes inline-block -Element.

Grundsätzlich ... Sie können es nicht tun, ohne eine Breite einzustellen und zu positionieren.

Wenn Sie die Inline-Block-Route gehen, lesen Sie dies ... Sie könnten damit enden, unerwartete Schlachten mit Ihren CSS-Erwartungen zu führen.

Ссылка (Link unten in der folgenden msdn-Seite gefunden) Ссылка

    
Dawson 19.04.2011 06:53
quelle
2

Ich denke, das funktioniert heutzutage:

%Vor%     
jiggunjer 24.07.2017 11:58
quelle

Tags und Links