Як я можу вирівняти текст ліворуч і текст праворуч у тому ж рядку?


102

Як я можу вирівняти текст так, щоб частина його вирівнювалася ліворуч, а частина вирівнювалась праворуч у тому ж рядку?

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

Я можу вирівняти весь текст ліворуч (або праворуч), або безпосередньо вбудованим, або за допомогою таблиці стилів -

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

Як я можу вирівняти відповідний текст ліворуч та праворуч, зберігаючи його в одному рядку?

Відповіді:


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/


1
text-align:left;це має бути float:left;як <p> <span style = "float: left;"> Лівий текст </span> <span style = "float: right;"> Правий текст </span> </p>
Шилендра Мадда

34

HTML:

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

css:

.right{
    float:right;
}

.left{
    float:left;
}

Демонстрація:
http://jsfiddle.net/W3Pxv/1


@mawg Хоча це і може бути, я віддаю перевагу найважливішій відповіді, оскільки для цього не потрібно css.
Менаше

4
Наразі "вгорі" чи "найбільша кількість голосів"? І те, і інше може змінитися, тож ви не допомагаєте майбутнім користувачам :-) У будь-якому випадку, поки я починав, як ви, з усіма стилями в строці, незабаром я зрозумів, що є вагомі причини для розділення вмісту та презентації. CSS не страшний, і навколо є безліч безкоштовних підручників
сміливо

18

Якщо ви не хочете використовувати плаваючі елементи і хочете переконатися, що обидва блоки не перекриваються, спробуйте:

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

Це єдина відповідь, яка дозволяє використовувати не лише два стовпці, що було те, що мені потрібно. Це, мабуть, більш детальний контроль, ніж OP, про який дбали.
Kristen Hammack

9

ФАЙЛ HTML:

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

CSS FILE:

.left
{
  float: left;
}

.right
{
  float: right;
}

і ви закінчили….



7

Хоча декілька рішень тут працюватимуть, жодне рукоятка не накладається добре і в кінцевому підсумку пересуває один елемент нижче іншого. Якщо ви намагаєтеся розмістити дані, які будуть динамічно пов'язані, ви не знатимете до часу виконання, що це виглядає погано.

Мені подобається просто створити таблицю з одним рядком і застосувати правильний поплавок на другій комірці. Не потрібно застосовувати вирівнювання зліва на першому, що відбувається за замовчуванням. Ця ручка ідеально перекривається за допомогою переносу слів.

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/


Це для мене близьке до золотого, але будь-яка ідея, чому використання властивостей таблиці CSS робить дві клітинки поза рядком горизонтально? jsfiddle.net/7wddxks5/7 Я, здається, не можу цього обійти.
addMitt

1
Насправді, для мене, оскільки я хочу, щоб правильний текст був вирівняний праворуч, це, здається, спрацьовує чудово, якщо я просто призначу text-align: right і позбудуся плаваючого.
addMitt

Я також не міг зрозуміти, чому це спричиняє вертикальний зсув. Але мені вдалося виправити це вертикальним рівнем. Також витягнув стилі в класи, щоб трохи очистити HTML. jsfiddle.net/o10ogqkd
Ерік Сойке

це елегантне рішення тут. Я думаю, це має бути прийнятою відповіддю, оскільки це залучає більше творчості до використання тегів таблиці
Rotimi

3

Додайте інтервал до кожного або групи слів, які потрібно вирівняти ліворуч або праворуч. потім додайте ідентифікатор або клас на проміжок, наприклад:

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

CSS-

#makeLeft{
float: left;
}

#makeRight{
float: right;
}

2
Відповідно до специфікації html, ваш приклад повинен використовувати клас, а не ідентифікатор.
Серхіо

0

Якщо ви використовуєте Bootstrap, спробуйте це:

<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

Якщо ви просто хочете змінити вирівнювання тексту, просто створіть заняття

.left {
text-align: left;
}

і поширити цей клас на текст

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

3
Це половина відповіді на питання про взаємне вирівнювання на рядок.
TimZaman
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.