Textausrichtungsklasse für innerhalb einer Tabelle

724

Gibt es eine Reihe von Klassen im Bootstrap-Framework von Twitter, die Text ausrichten?

Zum Beispiel habe ich einige Tabellen mit $Summen, die ich rechts ausrichten möchte ...

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

und

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

Antworten:

1412

Bootstrap 3

v3 Textausrichtungsdokumente

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

Beispiel für die Textausrichtung von Bootstrap 3

Bootstrap 4

v4 Textausrichtungsdokumente

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

Beispiel für die Textausrichtung von Bootstrap 4

Michael J. Calkins
quelle
29
Dies funktioniert leider nicht für Tabellenzellen. Es kann einfach ein Problem mit der CSS-Bestellung sein. Siehe dieses Problem [ github.com/twitter/bootstrap/issues/6837] . Sollte in Version 3.0 behoben sein.
David
26
Atm Ich starte <td> <div class = 'text-center'> bootin </ div> </ td>, um dies zu umgehen.
Michael J. Calkins
3
Ich wünschte, Bootstrap hätte die Haltepunkte mit dieser Klasse wie folgt verwendet: text-right-md zum Ausrichten von Text nach rechts nur für Medium Up.
Eric Bishard
2
<p class = "text-left"> Links ausgerichteter Text. </ p> <p class = "text-center"> Ausgerichteter Text zentrieren. </ p> <p class = "text-right"> Rechts ausgerichteter Text. </ p> <p class = "text-rechtfertigen"> Begründeter Text. </ p> <p class = "text-nowrap"> Kein Zeilenumbruch. </ p>
user5026837
1
Es ist seltsam, dass ich versucht habe, text-md-right (und xs & lg) zu verwenden, aber sie würden nicht funktionieren. Ich war in Codepen, damit das vielleicht etwas damit zu tun hat. Wie auch immer, diese Antwort hat bei mir funktioniert. Vielen Dank!
Edson
76

Die Verwendung von Bootstrap 3.x text-rightfunktioniert einwandfrei:

<td class="text-right">
  text aligned
</td>
Paolo Casciello
quelle
Sie können dies auch auf die gesamte Zeile anwenden: <tr class = "text-right"> <td> Text ausgerichtet </ td> </ tr>
Glade Mellor
46

Nein, Bootstrap hat keine Klasse dafür, aber diese Art von Klasse wird als "Utility" -Klasse betrachtet, ähnlich der von @anton erwähnten ".pull-right" -Klasse.

Wenn Sie sich utilities.less ansehen, werden in Bootstrap nur sehr wenige Utility-Klassen angezeigt. Der Grund dafür ist, dass diese Art von Klasse im Allgemeinen verpönt ist und empfohlen wird, entweder für: a) Prototyping und Entwicklung verwendet zu werden, damit Sie schnell erstellen können Entfernen Sie Ihre Seiten und entfernen Sie dann die Pull-Right- und Pull-Left-Klassen, um Floats auf semantischere Klassen oder auf die Elemente selbst anzuwenden, oder b) wenn dies eindeutig praktischer ist als eine semantischere Lösung.

In Ihrem Fall sieht es nach Ihrer Frage so aus, als ob Sie möchten, dass bestimmter Text rechts in Ihrer Tabelle ausgerichtet wird, aber nicht der gesamte. Semantisch wäre es besser, so etwas zu tun (ich werde hier nur ein paar Klassen zusammenstellen, mit Ausnahme der Standard-Bootstrap-Klasse .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>

Wenden Sie einfach die Deklarationen text-align: leftoder text-align: rightauf die Preis-Wert- und Preis-Label-Klassen an (oder welche Klassen auch immer für Sie arbeiten).

Das Problem bei der Anwendung align-rightals Klasse besteht darin, dass Sie das Markup und die Stile wiederholen müssen, wenn Sie Ihre Tabellen umgestalten möchten. Wenn Sie semantische Klassen verwenden, können Sie möglicherweise nur den CSS-Inhalt umgestalten. Wenn Sie sich die Zeit nehmen, eine Klasse auf ein Element anzuwenden, empfiehlt es sich, dieser Klasse einen semantischen Wert zuzuweisen, damit das Markup für andere Programmierer (oder Sie drei Monate später) einfacher zu navigieren ist.

Eine Möglichkeit, sich das vorzustellen, ist folgende: Wenn Sie die Frage "Wofür ist das?" Stellen, erhalten Sie keine Klarstellung aus der Antwort "rechts ausrichten".

jonschlinkert
quelle
1
Übrigens, ich bin sicher, Sie können mit den Klassennamen besser umgehen als mit dem, was ich gewählt habe. aber das war nicht der Schwerpunkt
Jonschlinkert
3
Das haben sie damals nicht getan, und IMO sollte es immer noch nicht.
Jonschlinkert
34

Bootstrap 2.3 hat Utility - Klassen text-left, text-rightund text-center, aber sie funktionieren nicht in Tabellenzellen. Bis Bootstrap 3.0 veröffentlicht wird (wo das Problem behoben wurde) und ich den Wechsel vornehmen kann, habe ich dies zu meinem Site-CSS hinzugefügt, das nach dem Laden geladen wird bootstrap.css:

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

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

.text-left {
    text-align: left !important;
}
David
quelle
26

Fügen Sie einfach ein "benutzerdefiniertes" Stylesheet hinzu, das nach dem Bootstrap-Stylesheet geladen wird. Die Klassendefinitionen sind also überladen.

Deklarieren Sie in diesem Stylesheet die Ausrichtung wie folgt:

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

Jetzt können Sie die "allgemeinen" Ausrichtungskonventionen für td- und th-Elemente verwenden.

Michael
quelle
23

Ich denke, weil CSS bereits text-align:rightAFAIK hat, hat Bootstrap keine spezielle Klasse dafür.

Bootstrap hat "Pull-Right" für schwebende Divs usw. auf der rechten Seite.

Bootstrap 2.3 ist gerade herausgekommen und hat Textausrichtungsstile hinzugefügt:

Bootstrap 2.3 veröffentlicht (07.02.2013)

Anton
quelle
1
Ja, ich wollte nicht für jedes Element Inline-Stile verwenden. Ich weiß, wie man nach rechts zieht, aber ich wollte nicht, dass die Elemente schweben. Ich könnte einfach eine Klasse hinzufügen, wenn es keine gibt :)
Mediabeastnz
15

Bootstrap 4 kommt ! Die in Bootstrap bekannten Dienstprogrammklassen 3.xsind jetzt für Haltepunkte aktiviert. Die Standardhaltepunkte sind: xs, sm, md, lgund xl, so dass diese Textausrichtung Klassen in etwa so aussehen .text-[breakpoint]-[alignnment].

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

Wichtig: Zum Zeitpunkt des Schreibens ist Bootstrap 4 nur in Alpha 2. Diese Klassen und ihre Verwendung können ohne vorherige Ankündigung geändert werden.

dKen
quelle
Dies überraschte mich beim Lesen von Bootstrap 3-Dokumenten in einer Bootstrap 4-Installation. Danke für die Erinnerung!
Ben Simpson
12

Bootstrap-Textausrichtung in Version 3.3.5:

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

CodePen-Beispiel

Gothburz
quelle
11

Die folgenden Codezeilen funktionieren ordnungsgemäß. Sie können die Klassen wie Textmitte, links oder rechts zuweisen. Der Text wird entsprechend ausgerichtet.

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

Hier muss keine externe Klasse erstellt werden. Dies sind die Bootstrap-Klassen und haben ihre eigene Eigenschaft.

Vanshaj Rai
quelle
10

Sie können dieses CSS unten verwenden:

.text-right {text-align: right} /* For right align */
.text-left {text-align: left} /* For left align */
.text-center {text-align: center} /* For center align */
kushal kant
quelle
8

Die .text-alignKlasse ist absolut gültig und benutzerfreundlicher als eine .price-labelund .price-valuedie nicht mehr von Nutzen sind.

Ich empfehle 100% mit einer benutzerdefinierten Dienstprogrammklasse namens

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

Ich mag es etwas zu zaubern, aber das liegt an dir, wie etwas:

span.pull-right {
  float: none;
  text-align: right;
}
Bart Calixto
quelle
1
Ja, jede Klasse ist absolut "gültig", aber nicht semantisch. Sie sollten Dienstprogrammklassen im Produktionscode sparsam verwenden, sie sind für "Bootstrapping" gedacht.
Jonschlinkert
3
Weil w3 sagt, dass dies die richtige Art ist, Klassen zu verwenden, heißt das nicht, dass es die beste ist. jQuery UI und Bootstrap würden nicht existieren, wenn es nicht 'nicht-semantische' Klassen gäbe. Menschen neigen dazu, semantische Bedeutung für Klassen zu verwenden, bis sie erkennen, dass es in allen Aspekten viel besser ist, sich für das Generische zu entscheiden. Es ist schwer, es zuerst zu bekommen oder zu denken, dass es wirklich gut ist, ich bin diesen Weg gegangen ...
Bart Calixto
1
Die jQuery-Benutzeroberfläche ist ein schlechtes Beispiel, da es sich um eine Javascript-Bibliothek handelt, die auch CSS enthält, und Bootstrap verwendet, wie bereits erwähnt, Dienstprogrammklassen als UTILITIES. Haben Sie jemals darüber nachgedacht , warum Bootstrap heißt Bootstrap ? Damit Sie diese Klassen für die Entwicklung verwenden und in Ihrem Produktionscode ändern können. Und ich habe nicht gesagt, sie überhaupt nicht zu benutzen, ich benutze ziemlich viel Pull-Left, Pull-Right. Und manchmal benutze ich auch Text-Center. Aber ich benutze sie sparsam und empfehle nicht als erste Vorgehensweise, dass andere sie über bessere, semantischere Optionen verwenden.
Jonschlinkert
1
Die jQuery-Benutzeroberfläche war nur ein Beispiel. Der Ansatz, über den ich spreche, ist, was Bibliotheken zum Funktionieren bringt. Wir können sehen, wie Kendo, Blueprint, Grid, 960, Chico UI und sogar Bootstrap dies tun. Nur so können diese Bibliotheken existieren / funktionieren. Sie können sich große Unternehmen ansehen, wie sie CSS wie Apple verwenden ( images.apple.com/v/imac/a/styles/imac.css ), und Sie werden beeindruckt sein. Das ist für die Produktivität und eine große Sache verantwortlich. Muss ehrlich sein, ich war erstaunt, dass ich KEIN Tutorial gefunden habe, das dies erklärt. Ich denke, der Begriff Bootstrap liegt daran, dass man anfangen muss, um sich später nicht zu ändern.
Bart Calixto
7

Hier ist eine kurze und süße Antwort mit einem Beispiel.

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>

Hitesh
quelle
Sind die HTML - Tags linkund scriptgültig außerhalb der headoder bodyTags? Warum nicht ein vollständiges und gültiges HTML-Dokumentbeispiel bereitstellen?
Peter Mortensen
6

Um Davids Antwort zu erweitern , füge ich einfach eine einfache Klasse hinzu, um Bootstrap wie folgt zu erweitern:

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

Mit der Veröffentlichung von Bootstrap 3 können Sie die Klassen text-centerfür die Ausrichtung in der Mitte, text-left für die Ausrichtung nach links , für die Ausrichtung text-rightnach rechts und text-justifyfür eine gerechtfertigte Ausrichtung verwenden.

Bootstrap ist ein sehr einfaches Frontend-Framework, mit dem Sie arbeiten können, sobald Sie es verwenden. Sie sind nicht nur sehr einfach an Ihre Bedürfnisse anzupassen.

Jordan D. Angus
quelle
3

Wir haben fünf Klassen dafür, auf die Sie hier verweisen können: 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>

Ganesh Putta
quelle
3

Hier ist die einfachste Lösung

Sie können die Klassen wie Textmitte, links oder rechts zuweisen. Der Text wird entsprechend diesen Klassen ausgerichtet. Sie müssen keine Klassen separat erstellen. Diese Klassen sind in BootStrap 3 integriert

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

Überprüfen Sie hier: Demo

wali
quelle
1
<p class="text-sm-left">Left aligned text on viewports sized SM (small) or wider.</p>
Links ausgerichteter Text in Ansichtsfenstern mit der Größe MD (mittel) oder breiter.

Links ausgerichteter Text in Ansichtsfenstern mit der Größe LG (groß) oder breiter.

Links ausgerichteter Text in Ansichtsfenstern mit der Größe XL (extragroß) oder breiter.

Ch UmarJamil
quelle
1

In Bootstrap Version 4. Es gibt einige eingebaute Klassen zum Positionieren von Text.

Zum Zentrieren von Tabellenkopf und Datentext:

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

Sie können diese Klassen auch verwenden, um beliebigen Text zu positionieren.

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

Für mehr Details

Hoffe es hilft dir.

Majedur Rahaman
quelle
0

In dieser drei Klassen Bootstrap ungültige Klasse

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

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

 .text-left {
    text-align: left; }
Ashu Designer
quelle
5
Es gibt bereits mehrere qualitativ hochwertige Antworten auf diese Frage, von denen die meisten vor drei Jahren veröffentlicht wurden, als die Frage gestellt wurde. Während es eine lohnende Übung sein kann, zu versuchen, einfache Fragen wie diese zu beantworten, um Ihre Programmierfähigkeiten zu verbessern, fügt das Posten dieser Antwort in ihrem aktuellen Zustand der Frage nichts hinzu. Wenn Ihre Antwort etwas Neues enthält, nehmen Sie bitte ein paar Sätze, um zu erklären, wie es anders ist und warum es dadurch besser wird.
MTCoster
Was meinst du mit "In dieser drei Klassen Bootstrap ungültige Klasse" ? Können Sie das näher erläutern? Insbesondere für "ungültige Klasse" .
Peter Mortensen
0

Verwenden Sie text-align:center !important. Es kann andere text-alignCSS-Regeln geben, daher !importantist dies wichtig.

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>

Justin Liu
quelle