Клас вирівнювання тексту для таблиці


724

Чи є набір класів у програмі Bootstrap Twitter, який вирівнює текст?

Наприклад, у мене є кілька таблиць із $підсумками, які я хочу вирівняти праворуч ...

<th class="align-right">Total</th>

і

<td class="align-right">$1,000,000.00</td>

Відповіді:


1412

Завантаження 3

v3 Документи вирівнювання тексту

<p class="text-left">Left aligned text.</p>
<p class="text-center">Center aligned text.</p>
<p class="text-right">Right aligned text.</p>
<p class="text-justify">Justified text.</p>
<p class="text-nowrap">No wrap text.</p>

Приклад вирівнювання тексту Bootstrap 3

Завантаження 4

v4 Документи вирівнювання тексту

<p class="text-xs-left">Left aligned text on all viewport sizes.</p>
<p class="text-xs-center">Center aligned text on all viewport sizes.</p>
<p class="text-xs-right">Right aligned text on all viewport sizes.</p>

<p class="text-sm-left">Left aligned text on viewports sized SM (small) or wider.</p>
<p class="text-md-left">Left aligned text on viewports sized MD (medium) or wider.</p>
<p class="text-lg-left">Left aligned text on viewports sized LG (large) or wider.</p>
<p class="text-xl-left">Left aligned text on viewports sized XL (extra-large) or wider.</p>

Приклад вирівнювання завантажувального тексту 4


29
На жаль, це не працює для комірок таблиці. Це може бути просто проблема замовлення CSS. Дивіться цю проблему [ github.com/twitter/bootstrap/isissue/6837] . Потрібно виправити у версії 3.0.
Девід

26
Atm, я <td> <div class = 'text-center'> bootin </div> </td>, щоб обійти це.
Майкл Дж. Калкінс

3
Я б хотів, щоб завантажувач використовував точки перерви з цим класом, наприклад: text-right-md для вирівнювання тексту праворуч лише для середнього.
Ерік Бішард

2
<p class = "text-left"> Вирівняний текст зліва. </p> <p class = "text-center"> Текст, що вирівнюється по центру. </p> <p class = "text-right"> Текст, що вирівнюється вправо. </p> <p class = "text-justify"> Виправданий текст. </p> <p class = "text-nowrap"> Немає обгортання тексту. </p>
user5026837

1
Дивно, що я намагався використовувати text-md-right (і xs & lg), але вони не спрацювали. Я був у Кодені, так що це може мати щось спільне. У будь-якому випадку ця відповідь спрацювала для мене. Дякую!
Едсон

76

Використання Bootstrap 3.x з використанням text-rightвідмінно працює:

<td class="text-right">
  text aligned
</td>

Ви також можете застосувати це до всього рядка: <tr class = "text-right"> <td> вирівнювання тексту </td> </tr>
Glade Mellor

46

Ні, Bootstrap не має для цього класу, але цей клас вважається класом "корисність", подібний до класу ".pull-right", про який згадував @anton.

Якщо ви подивитесь на utilities.less ви побачите дуже мало класів корисних програм у Bootstrap, тому причина цього класу, як правило, нахмурена, і рекомендується використовувати для: a) прототипування та розробки - так що ви можете швидко створити вийміть на своїх сторінках, а потім видаліть класи вліво-вправо та вліво на користь застосування поплавців до більш семантичних класів або до самих елементів, або б) коли це явно практичніше, ніж більш семантичне рішення.

У вашому випадку за вашим запитанням виглядає так, що ви хочете, щоб певний текст вирівнювався праворуч у вашій таблиці, але не все це. Семантично було б краще зробити щось на кшталт (я просто збираюся скласти кілька класів тут, за винятком класу завантаження за замовчуванням, .table):

  <table class="table price-table">
    <thead>
      <th class="price-label">Total</th>
    </thead>
    <tbody>
      <tr>
        <td class="price-value">$1,000,000.00</td>
      </tr>
    </tbody>
  </table>

І просто застосуйте text-align: leftабо text-align: rightдекларації до класів ціна та ціна (або будь-які класи, які працюють для вас).

Проблема із застосуванням align-rightяк класу полягає в тому, що якщо ви хочете переробляти таблиці, вам доведеться повторити розмітку та стилі. Якщо ви використовуєте семантичні класи, ви, можливо, зможете уникнути рефакторингу лише вмісту CSS. Плюс, якщо ви витрачаєте час на застосування класу до елемента, найкраще спробувати присвоїти йому семантичне значення для того, щоб розмітка була легше орієнтуватися на інших програмістів (або на три місяці пізніше).

Один із способів подумати про це: якщо ви поставите запитання «Для чого це ТД?», Ви не отримаєте роз’яснення з відповіді «вирівняти-правильно».


1
і до речі, я впевнений, що ти можеш краще впоратись із назвами класів, ніж те, що я вибрав. але це не було наголосом
jonschlinkert

3
Вони цього не зробили, а ІМО досі не повинні.
jonschlinkert

34

Bootstrap 2.3 має утилітні класи text-left, text-rightі text-center, але вони не працюють у клітинках таблиці. Поки Bootstrap 3.0 не випущений (де вони вирішили проблему) і я не зможу зробити перемикання, я додав це до свого CSS сайту, який завантажується після bootstrap.css:

.text-right {
    text-align: right !important;
}

.text-center {
    text-align: center !important;
}

.text-left {
    text-align: left !important;
}

26

Просто додайте таблицю стилів, що завантажується після таблиці стилів Bootstrap. Отже визначення класів перевантажені.

У цій таблиці стилів оголошуйте вирівнювання наступним чином:

.table .text-right {text-align: right}
.table .text-left {text-align: left}
.table .text-center {text-align: center}

Тепер ви можете використовувати "загальні" умови вирівнювання для td і th елементів.


23

Я думаю, оскільки у CSS вже є text-align:right, AFAIK, Bootstrap не має для нього спеціального класу.

У Bootstrap є "тягнути вправо" для плаваючих дивів тощо. Праворуч.

Щойно вийшов Bootstrap 2.3 і додав стилі вирівнювання тексту:

Випущений Bootstrap 2.3 (2013-02-07)


1
Так, я не хотів використовувати вбудовані стилі для кожного елемента. Я знаю про pull-right, але я не хотів, щоб елементи плавали. Я можу просто додати клас, якщо його немає :)
Mediabeastnz

15

Запуск Bootstrap 4 ! Класи корисних програм, знайомі в Bootstrap 3.x, тепер увімкнено. За замовчуванням Точки зупинки є: xs, sm, md, lgі xl, таким чином , ці класи вирівнювання тексту виглядати приблизно так .text-[breakpoint]-[alignnment].

<div class="text-sm-left"></div> //or
<div class="text-md-center"></div> //or
<div class="text-xl-right"></div>

Важливо: На момент написання цього запису Bootstrap 4 є лише в Альфа 2. Ці класи та спосіб їх використання можуть змінюватися без попереднього повідомлення.


Це змусило мене охоронятись під час читання Bootstrap 3 документа на установці Bootstrap 4. Дякуємо за нагадування!
Бен Сімпсон

12

Вирівнювання тексту завантажувальної програми у версії 3.3.5:

 <p class="text-left">Left</p>
 <p class="text-center">Center</p>
 <p class="text-right">Right</p>

Приклад CodePen


11

Наступні рядки коду працюють належним чином. Ви можете призначити такі класи, як текстовий центр, ліворуч або праворуч. Текст відповідно вирівняється.

<p class="text-center">Day 1</p> 
<p class="text-left">Day 2</p> 
<p class="text-right">Day 3</p>

Тут немає необхідності створювати будь-який зовнішній клас. Це класи Bootstrap і мають свою власність.


10

Ви можете використовувати цей CSS нижче:

.text-right {text-align: right} /* For right align */
.text-left {text-align: left} /* For left align */
.text-center {text-align: center} /* For center align */

8

.text-alignКлас повністю дійсний і зручніший , ніж мати .price-labelі .price-valueякі не потрібно більше.

Я рекомендую перейти на 100% з користувальницьким класом утиліти

.text-right {
  text-align: right;
}

Мені подобається робити якісь магії, але це залежить від вас, як-небудь:

span.pull-right {
  float: none;
  text-align: right;
}

1
Так, кожен клас абсолютно "дійсний", але це не семантично. У виробничому коді потрібно використовувати класи утиліти, вони призначені для "завантаження".
jonschlinkert

3
Тому що w3 каже, що правильний спосіб використання пунктів не означає, що це найкраще. Користувальницький інтерфейс jQuery і Bootstrap не існували б, якби їх не було через "несемантичні" класи. Люди схильні використовувати семантичне значення для пунктів, поки не зрозуміють, що ідея на загальне в усіх аспектах набагато краща. Спочатку важко це зрозуміти або подумати, що це насправді добре, я пішов цією дорогою ...
Барт Калікто

1
Користувальницький інтерфейс jQuery - це поганий приклад, тому що це бібліотека javascript, яка також включає CSS, а Bootstrap, як я вже зазначив, використовує класи утиліти як ПОВІДОМЛЕННЯ. Ви ніколи не замислювалися над тим, чому Bootstrap називають Bootstrap ? Так що ви можете використовувати ці класи для розробки та змінити їх у виробничому коді. І я не казав взагалі не користуватися ними, я дуже мало використовую потяг ліворуч, потягніть праворуч. І я також іноді використовую текстовий центр. Але я використовую їх економно, і я не в якості першого курсу дій рекомендую іншим використовувати їх над кращими, більш семантичними варіантами.
jonschlinkert

1
Інтерфейс jQuery був лише прикладом. Підхід, про який я говорю, - це те, що змушує бібліотеки працювати. Ми можемо бачити кендо, план, сітку, 960, інтерфейс Chico та навіть сам Bootstrap. Це єдиний спосіб існування / роботи цих бібліотек. Ви можете поглянути на великі компанії, як вони використовують css, як Apple ( images.apple.com/v/imac/a/styles/imac.css ), і ви будете вражені. Це пов'язано з продуктивністю та величезною справою. По правді кажучи, я був вражений, що не знайшов підручника, що пояснює це. Я думаю, що термін завантажувач - це те, що вам потрібно починати, а не пізніше змінювати.
Барт Калікто

7

Ось коротка і мила відповідь із прикладом.

table{
    width: 100%;
}
table td, table th {
    border: 1px solid #000;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<body>
  <table>
    <tr>
      <th class="text-left">Text align left.</th>
      <th class="text-center">Text align center.</th>
      <th class="text-right">Text align right.</th>
    </tr>
    <tr>
      <td class="text-left">Text align left.</td>
      <td class="text-center">Text align center.</td>
      <td class="text-right">Text align right.</td>
    </tr>
  </table>
</body>


Чи теги HTML linkчи scriptдійсні поза тегами headчи bodyтегами? Чому б не надати повний та дійсний приклад документа HTML?
Пітер Мортенсен

6

Розгортаючи відповідь Девіда , я просто додаю простий клас для збільшення Bootstrap таким чином:

.money, .number {
    text-align: right !important;
}

5

Власне, з випуском Bootstrap 3 ви можете використовувати класи text-centerдля вирівнювання по центру, text-left для вирівнювання вліво, text-rightдля правого вирівнювання та text-justifyдля виправданого вирівнювання.

Як тільки ви користуєтесь, Bootstrap - це дуже проста рамка інтерфейсу, з якою можна працювати. Окрім того, що дуже легко налаштувати під свій смак.


3

Для цього у нас є п’ять класів, до яких ви можете посилатися тут: http://v4-alpha.getbootstrap.com/components/utilities/

<div class="text-left">Left aligned text.</div>
<div class="text-center">Center aligned text.</div>
<div class="text-right">Right aligned text.</div>
<div class="text-justify">Justified text.</div>
<div class="text-nowrap">No wrap text.</div>


3

Ось найпростіше рішення

Ви можете призначити такі класи, як текстовий центр, зліва або справа. Текст відповідно буде відповідати цим класам. Не потрібно робити заняття окремо. Ці класи вбудовані в BootStrap 3

    <h1 class="text-center"> Heading 1 </h1> 
    <h1 class="text-left"> Heading 2 </h1> 
    <h1 class="text-right"> Heading 3 </h1>

Перевірте тут: Демо


1
<p class="text-sm-left">Left aligned text on viewports sized SM (small) or wider.</p>
Текст зліва вирівнюється на МД (середній розмір) або ширше.

Зліва вирівняний текст на оглядових розмірах LG розміром (великий) або ширше.

Зліва вирівняний текст на вікнах перегляду розміром XL (надзвичайно великий) або ширше.


1

У Bootstrap версії 4. Є кілька вбудованих класів для розміщення тексту.

Для центрального заголовка таблиці та тексту даних:

 <table>
    <tr>
      <th class="text-center">Text align center.</th>
    </tr>
    <tr>
      <td class="text-center">Text align center.</td>
    </tr>
  </table>

Ви також можете використовувати ці класи для позиціонування будь-якого тексту.

<p class="text-left">Left aligned text on all viewport sizes.</p>
<p class="text-center">Center aligned text on all viewport sizes.</p>
<p class="text-right">Right aligned text on all viewport sizes.</p>

<p class="text-sm-left">Left aligned text on viewports sized SM (small) or wider.</p>
<p class="text-md-left">Left aligned text on viewports sized MD (medium) or wider.</p>
<p class="text-lg-left">Left aligned text on viewports sized LG (large) or wider.</p>
<p class="text-xl-left">Left aligned text on viewports sized XL (extra-large) or wider</p>

Детальніше

Сподіваюся, це допоможе вам.


0

У цьому трьох класах Bootstrap недійсний клас

 .text-right {
     text-align: right; }

 .text-center {
     text-align: center; }

 .text-left {
    text-align: left; }

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

Що ви маєте на увазі під "недійсним класом Bootstrap три класу" ? Чи можете ви докладно? Зокрема, для "недійсного класу" .
Пітер Мортенсен

0

Використовуйте text-align:center !important. Можуть бути й інші text-alignправила css, тому !importantважливо.

table,
th,
td {
  color: black !important;
  border-collapse: collapse;
  background-color: yellow !important;
  border: 1px solid black;
  padding: 10px;
  text-align: center !important;
}
<table>
  <tr>
    <th>
      Center aligned text
    </th>
  </tr>
  <tr>
    <td>Center aligned text</td>
    <td>Center aligned text</td>
  </tr>
</table>

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