Wie kann ich Text links und Text rechts in derselben Zeile ausrichten?


101

Wie kann ich Text so ausrichten, dass ein Teil davon links und ein Teil rechts in derselben Zeile ausgerichtet ist?

<p>This text should be left-aligned. This text should be right aligned.</p> 

Ich kann den gesamten Text links (oder rechts) ausrichten, entweder direkt inline oder mithilfe eines Stylesheets.

<p style='text-align: left'>This text should be left-aligned. 
    This text should be right aligned.</p>

Wie kann ich den entsprechenden Text links und rechts ausrichten, während ich ihn in derselben Zeile halte?

Antworten:



34

HTML:

<span class="right">Right aligned</span><span class="left">Left aligned</span>

CSS:

.right{
    float:right;
}

.left{
    float:left;
}

Demo:
http://jsfiddle.net/W3Pxv/1


@mawg Obwohl es sein könnte, bevorzuge ich die Top-Antwort, weil es kein CSS erfordert.
Menasheh

4
Derzeit "oben" oder "die meisten Stimmen"? Beides kann sich ändern, so dass Sie keinen zukünftigen Lesern helfen :-) Wie auch immer, während ich wie Sie angefangen habe, mit allem Styling im Einklang, wurde mir schnell klar, dass es gute Gründe gibt, Inhalt und Präsentation zu trennen. CSS ist nicht beängstigend und es gibt viele kostenlose Tutorials - machen Sie es
Mawg sagt, Monica

18

Wenn Sie keine schwebenden Elemente verwenden möchten und sicherstellen möchten, dass sich beide Blöcke nicht überlappen, versuchen Sie Folgendes:

<p style="text-align: left; width:49%; display: inline-block;">LEFT</p>
<p style="text-align: right; width:50%;  display: inline-block;">RIGHT</p>

Dies ist die einzige Antwort, mit der Sie mehr als nur zwei Spalten verwenden können, was ich brauchte. Es ist wahrscheinlich eine detailliertere Kontrolle als das OP.
Kristen Hammack

9

HTML-DATEI:

<div class='left'> Left Aligned </div> 
<div class='right'> Right Aligned </div>

CSS-DATEI:

.left
{
  float: left;
}

.right
{
  float: right;
}

und du bist fertig ....


7
<h1> left <span> right </span></h1>

CSS:

h1{text-align:left; width:400px; text-decoration:underline;}
span{float:right; text-decoration:underline;}

7

Während einige der hier beschriebenen Lösungen funktionieren, überlappen sich keine gut und verschieben ein Element unter das andere. Wenn Sie versuchen, Daten zu gestalten, die dynamisch gebunden werden, wissen Sie erst zur Laufzeit, dass sie schlecht aussehen.

Was ich gerne mache, ist einfach eine einzelne Zeilentabelle zu erstellen und den richtigen Float auf die zweite Zelle anzuwenden. Es ist nicht erforderlich, beim ersten Mal eine Linksausrichtung anzuwenden, dies geschieht standardmäßig. Diese Griffe überlappen sich perfekt durch Zeilenumbruch.

HTML

<table style="width: 100%;">
  <tr><td>Left aligned stuff</td>
      <td class="alignRight">Right aligned stuff</td></tr>
</table>

CSS

.alignRight {
  float: right;
}

https://jsfiddle.net/esoyke/7wddxks5/


Das ist für mich fast golden, aber gibt es eine Idee, warum die Verwendung der CSS-Tabelleneigenschaften die beiden Zellen horizontal aus der Linie bringt? jsfiddle.net/7wddxks5/7 Ich kann es anscheinend nicht umgehen .
AddMitt

1
Für mich scheint dies perfekt zu funktionieren, da ich einfach den richtigen Text nach rechts ausrichten möchte, wenn ich einfach text-align: right zuweisen und den Float entfernen möchte.
AddMitt

Ich konnte auch nicht herausfinden, warum es die vertikale Verschiebung verursachte. Aber ich konnte es mit vertikaler Ausrichtung reparieren. Ziehen Sie die Stile auch in Klassen, um den HTML-Code ein wenig zu bereinigen. jsfiddle.net/o10ogqkd
Eric Soyke

Dies ist hier eine elegante Lösung. Ich denke, es sollte die akzeptierte Antwort sein, da es mehr Kreativität bei der Verwendung des Tabellen-Tags einsetzt
Rotimi

3

Fügen Sie jedem Wort oder jeder Gruppe von Wörtern, die Sie links oder rechts ausrichten möchten, eine Spanne hinzu. Fügen Sie dann ID oder Klasse in den Bereich ein, z.

<h3>
<span id = "makeLeft"> Left Text</span>
<span id = "makeRight"> Right Text</span>
</h3>

CSS-

#makeLeft{
float: left;
}

#makeRight{
float: right;
}

2
Gemäß der HTML-Spezifikation sollte Ihr Beispiel eine Klasse und keine ID verwenden.
Sergio

0

Wenn Sie Bootstrap verwenden, versuchen Sie Folgendes:

<div class="row">
    <div class="col" style="text-align:left">left align</div>
    <div class="col" style="text-align:right">right align</div>
</div>

-1

Wenn Sie nur die Ausrichtung von Text ändern möchten, erstellen Sie einfach eine Klasse

.left {
text-align: left;
}

und spanne diese Klasse durch den Text

<span class='left'>aligned left</span>

3
Dies ist die halbe Antwort auf die Frage nach mehreren Ausrichtungen pro Zeile.
TimZaman
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.