Wie wird die Absatzbreite in CSS automatisch festgelegt?

9

Hier ist der Deal. Anstatt meinen Absatz nur zu unterstreichen und text-align zu verwenden, möchte ich einen gepunkteten Rahmen darunter einfügen und ihn im Elternteil div des Absatzes zentrieren. Dies ist mein Code, der nicht funktioniert. (Es fügt den Rahmen über den gesamten div anstatt nur des Absatzes hinzu)

%Vor%

Der Absatz scheint die Breite des übergeordneten div zu übernehmen. Gibt es eine Möglichkeit, die Breite des Absatzes auf den enthaltenen Text zu setzen? (Es scheint, dass margin:auto nach Möglichkeit funktioniert.)

    
user2020058 18.06.2013, 17:47
quelle

6 Antworten

29

Absätze werden auf die Breite ihrer Container erweitert. Um es nicht zu tun, könnten Sie versuchen:

%Vor%

Fiedel mit einem Beispiel: Ссылка

Vielleicht möchten Sie auch die p -Tags in ein zusätzliches div einschließen, wenn Sie sie benötigen, um andere Absätze / Elemente zu löschen.

    
SlightlyCuban 18.06.2013, 17:59
quelle
4

Wenn Sie möchten, dass der Absatz aufeinander aufbaut und aus deren Inhalt wächst, sollten Sie Folgendes tun:

%Vor%     
G-Cyr 18.06.2013 18:11
quelle
1

Fügen Sie Ihrem Absatz einen Breitenwert hinzu, andernfalls wird der Absatz die gesamte Breite des übergeordneten Containers ausfüllen und die Randwerte werden nichts bewirken:

%Vor%     
Phil Sinatra 18.06.2013 17:51
quelle
0

Das habe ich ausprobiert ....

%Vor%     
psniffer 18.06.2013 17:53
quelle
0

Nein, mit Rand automatisch wird die Größe des Absatzelements nicht geändert. Es wird einfach versucht, automatisch die geeignete Randgröße auf den Seiten mit der automatischen Größe des Elements zu bestimmen. Wenn Sie möchten, dass der Absatz kleiner als das div ist, das ihn enthält, können Sie eine statische Breite des Absatzes (s) als eine bestimmte Breite oder einen Prozentsatz der inneren Breite des übergeordneten Elements festlegen. Eine weitere Option, wenn Sie keine statische Größenanpassung der Absätze vornehmen möchten, wäre das Auffüllen des übergeordneten Elements oder das Festlegen statischer Ränder für die Absätze.

%Vor%

Dies würde alle Absätze in das div zentrieren und 40px kleiner sein, vorausgesetzt die Absätze haben keine Ränder.

%Vor%

Wenn der Rahmen genau die Breite des Textes haben soll, dann:

%Vor%

Angenommen, der Text füllt das Absatzelement, dann funktioniert dies. Wenn Sie zwei Wörter im Absatz haben, wird es nicht nur so breit wie der Text sein. Die einzige Möglichkeit, dies zu entfernen, wäre ein Inline-Element wie ein Span oder ein Element, das auf display: inline; gesetzt wurde, aber Inline-Elemente werden nur dann durcheinander gebracht, wenn Sie ein Blockelement dazwischen setzen / p>     

txpeaceofficer09 18.06.2013 18:19
quelle
0

Kugelsicherer Weg

HTML

%Vor%

CSS

%Vor%     
comonitos 17.02.2014 14:16
quelle

Tags und Links