テーブル内のテキスト整列クラス


724

TwitterのBootstrapフレームワークには、テキストを揃える一連のクラスがありますか?

たとえば$、右に揃えたい合計のあるテーブルがあります...

<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>

ブートストラップ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/issues/6837]。バージョン3.0で修正する必要があります。
David

26
Atm私はこれを回避するために<td> <div class = 'text-center'> bootin </ div> </ td>を行います。
Michael J. Calkins 2013

3
ブートストラップがこのクラスのブレークポイントを使用することを望みます。
Eric Bishard、2014

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)を使用してみたのは奇妙ですが、機能しません。私はCodepenにいたので、それが何かに関係しているかもしれません。とにかく、この答えは私にとってうまくいきました。ありがとう!
エドソン

76

Bootstrap 3.xを使用text-rightすると、完全に機能します。

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

これを行全体に適用することもできます:<tr class = "text-right"> <td> text揃え</ td> </ tr>
Glade Mellor

46

いいえ、Bootstrapにはそのためのクラスはありませんが、この種類のクラスは、@ antonが言及した「.pull-right」クラスと同様に、「ユーティリティ」クラスと見なされます。

Utilities.lessを見ると、Bootstrapにユーティリティクラスはほとんど表示されません。その理由は、この種のクラスは一般に推奨されないため、次のいずれかに使用することをお勧めします。a)プロトタイピングと開発-すばやくビルドできるページを外してから、pull-rightクラスとpull-leftクラスを削除して、フロートをよりセマンティックなクラスまたは要素自体に適用するか、b)よりセマンティックなソリューションよりも明らかに実用的である場合。

あなたの場合、あなたの質問では、あなたはテーブルの右側に特定のテキストを揃えたいと思っていますが、すべてではありません。意味的には、次のようなことをする方が良いでしょう(デフォルトのブートストラップクラス.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: leftor text-align: right宣言をprice-valueクラスとprice-labelクラス(またはあなたのために働くどんなクラスでも)に適用するだけです。

align-rightクラスとして適用する場合の問題は、テーブルをリファクタリングしたい場合、マークアップとスタイルをやり直す必要があることです。セマンティッククラスを使用する場合は、CSSコンテンツのみをリファクタリングすることで回避できる場合があります。さらに、クラスを要素に適用するのに時間がかかる場合は、そのクラスにセマンティック値を割り当てて、マークアップが他のプログラマー(または3か月後)にナビゲートしやすくなるようにすることをお勧めします。

それを考える1つの方法は次のとおりです。「これは何のためにあるのですか?」という質問をすると、「align-right」という回答から明確化されません。


1
ちなみに、クラス名は、私が選んだものよりも上手くできると思います。しかし、それは重要ではありませんでした
jonschlinkert '11年

3
当時はそうでなかったし、IMOもそうすべきではなかった。
jonschlinkert 2014年

34

ブートストラップ2.3はユーティリティクラスを持っているtext-lefttext-righttext-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には、右側にフローティングdivなどの「pull-right」があります。

Bootstrap 2.3がリリースされ、テキスト配置スタイルが追加されました。

Bootstrap 2.3がリリースされました(2013-02-07)


1
ええ、各要素にインラインスタイルを使用したくありませんでした。プルライトについては知っていますが、要素をフローティングにしたくありませんでした。ない場合は、クラスを追加するだけかもしれません:)
Mediabeastnz '10年

15

ブートストラップ4がやってくる!Bootstrapで使い慣れたユーティリティクラスは、3.xブレークポイントが有効になっています。:デフォルトのブレークポイントはxssmmdlgおよび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はAlpha 2のみです。これらのクラスとその使用方法は、予告なしに変更される場合があります。


これは、Bootstrap 4のインストールでBootstrap 3のドキュメントを読んでいるときに、油断してしまいました。念押し有難う!
ベンシンプソン2016年

12

v3.3.5のブートストラップテキストの配置:

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

CodePenの例


11

次のコード行は正しく機能しています。text-center、left、rightなどのクラスを割り当てることができます。テキストはそれに応じて配置されます。

<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 2013

3
w3は、それがclaseを使用する適切な方法であると言っているので、それが最良であるとは限りません。「非セマンティック」クラスのため、jQuery UIとBootstrapは存在しませんでした。人々は、ジェネリックのほうがすべての面ではるかに優れていることに気づくまで、クラスのセマンティックな意味を使用する傾向があります。最初はそれを手に入れるのが難しい、または実際に良いと思う、私はその道を歩きました...
Bart Calixto

1
jQuery UIは悪い例です。これは、CSSを含むJavaScriptライブラリであり、Bootstrapは、私が指摘したように、ユーティリティクラスをUTILITIESとして使用しているためです。あなたは今までブートストラップが呼ばれている理由について考えているブートストラップ?これらのクラスを開発に使用し、本番コードで変更できるようにします。そして、私はそれらをまったく使用しないとは言いませんでした。私はかなり左にプル、右にプルします。また、テキストセンターを使用することもあります。しかし、私はそれらを控えめに使用し、最初の行動方針として、他の人がより良い、よりセマンティックなオプションよりもそれらを使用することを推奨していません。
jonschlinkert 2013

1
jQuery UIはほんの一例です。私が話しているアプローチは、ライブラリを機能させるものです。剣道、設計図、グリッド、960、Chico UI、さらにはBootstrap自体もこれを実行しています。これは、このライブラリが存在/機能できる唯一の方法です。大手企業がAppleのようなcss(images.apple.com/v/imac/a/styles/imac.css)をどのように使用しているかを見ることができ、感動するでしょう。それが生産性と大きな問題の原因です。正直に言うと、これを説明するチュートリアルが見つからなかったことに驚きました。ブートストラップという用語は、後で変更するのではなく、最初から始める必要があるためだと思います。
Bart Calixto 2013

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タグは、またはタグの外linkscript有効ですか?完全で有効なHTMLドキュメントの例を提供しないのはなぜですか?headbody
Peter Mortensen

6

Davidの答えを拡張して、次のようにBootstrapを拡張する単純なクラスを追加します。

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

5

オウは、ブートストラップ3のリリースで、あなたがのクラスを使用することができtext-center、中央揃えのためにtext-left 、左の位置合わせのためにtext-right右の位置合わせのためにとtext-justify両端揃えのために。

Bootstrapは、一度使用すると非常にシンプルなフロントエンドフレームワークであり、使用することができます。また、好みに合わせてカスタマイズするのも非常に簡単です。



3

これが最も簡単な解決策です

text-center、left、rightなどのクラスを割り当てることができます。テキストはこれらのクラスに合わせて配置されます。クラスを個別に作成する必要はありません。これらのクラスは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>
MD(中)以上のサイズのビューポートで左揃えのテキスト。

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

この3つのクラスでは、Bootstrapの無効なクラス

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

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

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

5
この質問にはすでにいくつかの質の高い回答があり、そのほとんどは3年前に質問されたときに投稿されたものです。プログラミング能力を高めるために、このような簡単な質問に答えるのは価値のあることかもしれませんが、この答えを現在の状態で投稿しても、質問には何も追加されません。あなたの答えに何か新しいものがあれば、それがどのように違うのか、そしてそれがなぜそれをより良くするのかを説明するために、数文を取ってください。
MTCoster 2016

「この3つのクラスではBootstrap無効クラス」とはどういう意味ですか?詳しく説明できますか?特に、「無効なクラス」の場合
Peter Mortensen

0

を使用しtext-align:center !importantます。他のtext-alignCSSルールがあるかもしれないので、それ!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>

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.