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?

Sababoni
quelle

Antworten:

164

<p style="text-align:left;">
    This text is left aligned
    <span style="float:right;">
        This text is right aligned
    </span>
</p>

https://jsfiddle.net/gionaf/5z3ec48r/

Giona
quelle
1
text-align:left;Es sollte float:left;wie folgt aussehen: <p> <span style = "float: left;"> Linker Text </ span> <span style = "float: right;"> Rechter Text </ span> </ p>
Shylendra Madda
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

Puyol
quelle
@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>
Jack Miller
quelle
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 ....

Osama Yawar Khawaja
quelle
7
<h1> left <span> right </span></h1>

CSS:

h1{text-align:left; width:400px; text-decoration:underline;}
span{float:right; text-decoration:underline;}
Web Designer mit Promoter
quelle
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/

Eric Soyke
quelle
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;
}
Urvashi Gupta
quelle
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>
Adrian Chrostowski
quelle
-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>
bntrns
quelle
3
Dies ist die halbe Antwort auf die Frage nach mehreren Ausrichtungen pro Zeile.
TimZaman