2012-09-15 10 views
48

Jak mogę wyrównać tekst tak, aby jego część była wyrównana do lewej, a część zrównała się w prawo w obrębie tej samej linii?Jak mogę wyrównać tekst w lewo i tekst w prawo w tym samym wierszu?

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

mogę wyrównać cały tekst w lewo (lub w prawo), albo bezpośrednio inline lub za pomocą arkusza stylów -

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

Jak mogę wyrównać odpowiedni tekst do w lewo i w prawo, trzymając go na tej samej linii?

Odpowiedz

16

HTML:

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

css:

.right{ 
    float:right; 
} 

.left{ 
    float:left; 
} 

D emo:
http://jsfiddle.net/W3Pxv/1

+0

to, imo, biorąc pod uwagę najlepszą odpowiedzią – Mawg

+0

@mawg Choć może to być, wolę górną odpowiedzieć, bo to nie wymaga css. – Menasheh

+0

Obecnie "na górze" lub "na większości głosów"? Oba te mogą się zmienić, więc nie pomagacie żadnym przyszłym dyktatorom :-) W każdym razie, gdy zacząłem jak ty, ze wszystkimi stylami in-line, wkrótce zrozumiałem, że istnieją dobre powody do oddzielenia treści i prezentacji. CSS nie jest straszny i jest mnóstwo darmowych samouczków - idź na to – Mawg

5

HTML FILE:

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

CSS FILE:

.left 
{ 
    float: left; 
} 

.right 
{ 
    float: right; 
} 

i gotowe ....

-1

Jeśli chcesz tylko zmienić wyrównanie tekstu po prostu utwórz klasy

.left { 
text-align: left; 
} 

i rozciągać tej klasy w tekście

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

Jest to połowa odpowiedzi na pytanie o wyrównanie linii na linię. – TimZaman

6
<h1> left <span> right </span></h1> 

css:

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

Jeśli nie chcesz korzystać z elementów pływających i chcesz się upewnić, że oba bloki nie pokrywają się, spróbuj:

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

Podczas gdy kilka rozwiązań tutaj będzie działać, żadna klamka nie będzie się dobrze pokrywała i kończy się przenoszeniem jednego elementu na drugi. Jeśli próbujesz układać dane, które będą dynamicznie powiązane, nie będziesz wiedzieć, aż do czasu wykonania, że ​​wygląda źle.

Co lubię robić, to po prostu utworzyć tabelę z jednym wierszem i zastosować prawy ruch w drugiej komórce. Nie ma potrzeby stosowania lewostronnego na pierwszym, co dzieje się domyślnie. To obsługuje nakładanie się doskonale przez zawijanie słów.

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/

+0

Dla mnie jest to bliskie złotówki, ale jakikolwiek pomysł, dlaczego użycie właściwości tabeli CSS powoduje, że dwie komórki są poza linią poziomą? https://jsfiddle.net/7wddxks5/7/ Nie mogę tego obejść. – addMitt

+0

Właściwie dla mnie, ponieważ chcę, aby prawy tekst był wyrównany do prawej strony, to wydaje się działać idealnie, jeśli po prostu przypiszę tekst-wyrównanie: prawe i pozbyć się spławu. – addMitt

+0

Nie mogłem się domyślić, dlaczego powodowało to przesunięcie w pionie. Ale udało mi się to naprawić w pionie. Również przeciągnął style na klasy, aby trochę wyczyścić HTML. https://jsfiddle.net/o10ogqkd –

2

Dodaj rozpiętości na każdej lub grupy słów, które chcesz wyrównać lewo lub w prawo. następnie dodać ID lub klasę o rozpiętości takich jak:

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

CSS-

#makeLeft{ 
float: left; 
} 

#makeRight{ 
float: right; 
} 
+0

W specyfikacji html, Twój przykład powinien używać klasy, a nie identyfikatora. – Sergio

Powiązane problemy