dedlfix: Rahmen und Element-Arten

Beitrag lesen

echo $begrüßung;

[...] Jeder Rahmen, den ich mache, geht von ganz links bis nach ganz rechts. Ich fühle mich irgendwie veralbert.
Möglicherweise liegt es daran, dass die Elemente, die den Rahmen bekommen, standardmäßig 100% Breite haben?
Anscheinend; aber wie kann ich das machen, dass die Breite nicht 100% oder 50%, auch nicht bspw. 20% von was auch immer ist, sondern so breit wie dessen Inhalt? Natürlich noch mit innerem (Padding-)Rand von nur wenigen Pixeln.

Von den sichtbaren HTML-Elementen gibt es grundsätzlich zwei Arten: Block-Elemente und Inline-Elemente. Ein Block-Element ist immer so breit wie möglich. Beispiele dafür sind Absätze <p> und Überschriften <h1>..<h6>. Auch wenn die letzte oder einzige Zeile sich nicht über die gesamte zur Verfügung stehende Breite erstreckt, ihr Container tut es, wie du an deinen Rand-Versuchen festgestellt hast. Inline-Elemente sind Elemente mitten im Fließtext, unter anderem Textabschnitt-Auszeichnungen wie <strong>, Links <a>, Bilder <img> und Formular-Elemente <input>. Diese sind immer nur so breit wie ihr Inhalt, da sie ja mitten im Text stehen und um sie drumrum alles wie gehabt weiterfließen soll.

Um dein Gestaltungsproblem zu lösen, kannst du einerseits mit width konkrete Vorgaben machen, andererseits die Elemente "umformatieren" und ihnen mittels der CSS-Eigenschaft display ein Block- oder Inline-Verhalten verpassen.

echo "$verabschiedung $name";