HTML - Wie zweite Zeile einer Überschrift einrücken?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Gib deinem Text

display: inline-block;
vertical-align: top;

Beispiel:

<span>1️</span>
<span style="display: inline-block; vertical-align:top;">
Die Vorteile meiner differen-<br>zierten Analyse
</span>
Mogli333 
Fragesteller
 02.09.2021, 04:21

Ja. Ohne das Smiley ist der Umbruch einfach zu bewerkstelligen:

"Die Vorteile meiner differen&shy;zierten Analyse"

Aber mit dem Smiley funktioniert es linksbündig nicht.

0
MrAmazing2  02.09.2021, 04:24
@Mogli333

Das Emoji darf natürlich nicht im selben Text-Element sein. Tu's in ein extra <span>-Element oder so. Siehe Beispiel.

Hb meine Antwort editiert, schau sie dir nochmal an, so sollte es klappen.

0
Mogli333 
Fragesteller
 02.09.2021, 04:33

Funktioniert nicht, weil das Smiley in der 1. Zeile und der Text in der 2. und 3. Zeile - allerdings linksbündig - steht. Aber die Nummer soll ja davor stehen nicht oben darüber.

0
MrAmazing2  02.09.2021, 04:35
@Mogli333

Bei dem Code den ich dir geschrieben habe steht die Nummer davor, wie von dir gewünscht.

Schau, hier: https://jsfiddle.net/9yjzs1p6/

Vermutlich hast du irgendwas falsch abgeschrieben. Vlt. hast du "block" anstatt "inline-block" geschrieben? Oder du hast den Emoji in einem Block-Element?

Schick mal deinen HTML-Code bitte. Dann kann ich dir sagen was du falsch hast.

0
Mogli333 
Fragesteller
 02.09.2021, 04:37
@MrAmazing2

<p style="font-family:Arial,sans-serif;font-size:20px;background-color:#CBCBFC;padding-top:2px;margin-bottom:24px">1&#xFE0F;&#x20E3;&nbsp;&nbsp;Die Vor&shy;tei&shy;le mei&shy;ner dif&shy;fe&shy;ren&shy;zier&shy;ten Ana&shy;ly&shy;se</font>

</p>

0
MrAmazing2  02.09.2021, 16:12
@Mogli333

Du hast den Emoji und den Text im selben <p>-Element stehen. Da weiß HTML nicht auf magische Art und Weise, dass der Text in der nächsten Zeile hinter dem Emoji anfangen soll. Der Emoji und der Text müssen in Unterschiedlichen Elementen sein, siehe mein Beispiel.

Aber wegen dem &shy; klappt das mit dem inline-block sowieso nicht. CSS erkennt das nicht als Linebreak. Aber stattdessen geht's mit display: flex; !

<div style="font-family:Arial,sans-serif;font-size:20px;background-color:#CBCBFC;padding-top:2px;margin-bottom:24px; display: flex;">

<span>1&#xFE0F;&#x20E3;&nbsp;&nbsp;</span><span>Die Vor&shy;tei&shy;le mei&shy;ner dif&shy;fe&shy;ren&shy;zier&shy;ten Ana&shy;ly&shy;se</span>

</div>

Hab dir mal alles Dick markiert was zu ändern ist.

0
Mogli333 
Fragesteller
 02.09.2021, 23:17
@MrAmazing2

Danke für deine Antwort. Das Ergebnis ist "fast" befriedigend, aber nicht ganz. Ich habe aber zwischenzeitlich eine Lösung gefunden, die exakt die Linksbündigkeit der zweiten Zeile bringt. Ich sende dir meinen HTML-Code wie folgt:

0
Mogli333 
Fragesteller
 02.09.2021, 23:20
@Mogli333

<div style="margin-bottom:0; display:table; font-family:Arial,sans-serif;font-size:25px;background-color:#CBCBFC;padding-top:3px;padding-bottom:3px;margin-bottom:24px; width:100%;">

<div style="display: table-row">

<div style="display:table-cell;width:20px;">

1&#xFE0F;&#x20E3;&nbsp;&nbsp;

</div>

<div style="display:table-cell; line-height:1.2;">

<strong>Die Vorteile meiner differenzierten Analyse</strong>

</div>

</div>

</div>

</p>

1

Unterteile deinen Paragraph in zwei span-Elemente und ändere deren Renderingbox, sodass sie sich wie Tabellenzellen verhalten.

HTML:

<p>
  <span>1&#xFE0F;&#x20E3;</span>
  <span>Die Vorteile meiner differenzierten Analyse</span>
</p>

CSS:

p {
  /* your paragraph styles ... */
}

p > span { display: table-cell }

Anschließend noch zwei weitere Anmerkungen:

1) Statt der vielen Trennmarker (&shy;) würde ich in Erwägung ziehen, Worttrennungen komplett dem Browser zu überlassen. Der Support ist dafür schon gut.

  1. lang-Attribut auf html-Tag setzen (lang="de")
  2. hyphens-Property setzen

2) Ein font-Tag (abgesehen davon, dass deinem Vorkommen auch ein Starttag fehlen würde) hat in modernen HTML-Dokumenten (die den HTML5-Standard nutzen) nichts verloren. Verwende CSS, um deine Schrift zu stylen. Wenn ich mir deinen Inline-Style so anschaue, machst du das dort ja auch bereits.

Hallo,

Ich nehme an, dass du zum erstellen dieser Auflistung einen <li> Tag benutzt hast.

Ich gehe von einem Code in dieser Richtung aus:

<li>
  <span>
    Die Vorteile meiner differen- </br> zierten Analyse
  </span>
</li>

Die Einrückung erhältst du automatisch so:

<ul>
  <li>
    <span>
      Die Vorteile meiner differen- </br> zierten Analyse
    </span>
  </li>
</ul>

Zu einer Liste gehört immer der "ul" Tag. Dieser leitet eine Aufzählungsliste ein und mit dem li Tag beginnt ein neuer Punkt innerhalb der Liste.

Beim nächsten mal Code dazu dann ist es einfacher zu erklären und dein Problem zu verstehen.

Mogli333 
Fragesteller
 02.09.2021, 04:24

Mit deinem HTML-Code ist die zweite Zeile nicht linksbündig.

0