Classe di allineamento del testo per all'interno di una tabella


724

Esiste un insieme di classi nel framework Bootstrap di Twitter che allinea il testo?

Ad esempio, ho alcune tabelle con i $totali che voglio allineati a destra ...

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

e

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

Risposte:


1412

Bootstrap 3

v3 Documenti di allineamento del testo

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

Esempio di allineamento del testo di Bootstrap 3

Bootstrap 4

v4 Documenti di allineamento del testo

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

Esempio di allineamento del testo di Bootstrap 4


29
Questo non funziona purtroppo per le celle di tabella. Potrebbe essere semplicemente un problema di ordine CSS. Vedi questo problema [ github.com/twitter/bootstrap/issues/6837] . Dovrebbe essere risolto nella versione 3.0.
David,

26
Atm Faccio <td> <div class = 'text-center'> bootin </div> </td> per aggirare questo.
Michael J. Calkins,

3
Vorrei che bootstrap usasse i punti di interruzione con questa classe come: text-right-md per allineare il testo a destra solo per il medio.
Eric Bishard,

2
<p class = "text-left"> Testo allineato a sinistra. </p> <p class = "text-center"> Centra testo allineato. </p> <p class = "text-right"> Testo allineato a destra. </p> <p class = "text-justify"> Testo giustificato. </p> <p class = "text-nowrap"> Nessun testo a capo. </p>
user5026837

1
È strano che ho provato a usare text-md-right (e xs & lg) ma non funzionavano. Ero a Codepen, quindi potrebbe avere qualcosa a che fare con esso. Comunque, questa risposta ha funzionato per me. Grazie!
Edson

76

L'uso di Bootstrap 3.x usando text-rightfunziona perfettamente:

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

Puoi anche applicarlo anche a tutta la riga: <tr class = "text-right"> <td> testo allineato </td> </tr>
Glade Mellor

46

No, Bootstrap non ha una classe per questo, ma questo tipo di classe è considerata una classe "utility", simile alla classe ".pull-right" menzionata da @anton.

Se guardi utilities.less vedrai pochissime classi di utilità in Bootstrap, il motivo è che questo tipo di classe è generalmente disapprovato, e si consiglia di usarlo per entrambi: a) prototipazione e sviluppo - in modo da poter creare rapidamente dalle tue pagine, quindi rimuovi le classi pull-right e pull-left a favore dell'applicazione di float a più classi semantiche o agli elementi stessi, oppure b) quando è chiaramente più pratico di una soluzione più semantica.

Nel tuo caso, con la tua domanda sembra che tu voglia avere un certo testo allineato a destra nella tua tabella, ma non tutto. Semanticamente, sarebbe meglio fare qualcosa del genere (tratterò solo alcune classi qui, ad eccezione della classe bootstrap predefinita, .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>

E basta applicare il text-align: leftotext-align: right dichiarazioni alle classi prezzo-valore e prezzo-etichetta (o qualunque classe funzioni per te).

Il problema con l'applicazione align-rightcome classe è che se vuoi riformattare le tue tabelle dovrai rifare il markup e gli stili. Se usi le classi semantiche potresti essere in grado di cavartela solo con il refactoring del contenuto CSS. Inoltre, se stai impiegando del tempo per applicare una classe a un elemento, è consigliabile provare ad assegnare un valore semantico a quella classe in modo che il markup sia più facile da navigare per altri programmatori (o tu tre mesi dopo).

Un modo di pensarci è questo: quando poni la domanda "A cosa serve questo td?", Non otterrai chiarimenti dalla risposta "align-right".


1
e comunque, sono sicuro che puoi fare di meglio con i nomi delle classi di quello che ho scelto. ma non era questo l'enfasi
jonschlinkert l'

3
Non l'hanno fatto al momento e l'IMO non dovrebbe ancora farlo.
jonschlinkert,

34

Bootstrap 2.3 ha classi di utilità text-left, text-righte text-center, ma non funzionano nelle celle della tabella. Fino al rilascio di Bootstrap 3.0 (dove hanno risolto il problema) e non sono in grado di effettuare il passaggio, l'ho aggiunto al CSS del mio sito che viene caricato dopo bootstrap.css:

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

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

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

26

Aggiungi semplicemente un foglio di stile "personalizzato" che viene caricato dopo il foglio di stile di Bootstrap. Quindi le definizioni di classe sono sovraccaricate.

In questo foglio di stile dichiarare l'allineamento come segue:

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

Ora puoi utilizzare le convenzioni di allineamento "comuni" per gli elementi td e th.


23

Immagino perché CSS ha già text-align:right , AFAIK, Bootstrap non ha una classe speciale per questo.

Bootstrap ha "pull-right" per i div fluttuanti, ecc. A destra.

Bootstrap 2.3 è appena uscito e ha aggiunto gli stili di allineamento del testo:

Rilascio di Bootstrap 2.3 (2013-02-07)


1
Sì, non volevo usare gli stili incorporati su ogni elemento. Conosco pull-right ma non volevo che gli elementi fluttuassero. Potrei semplicemente aggiungere un corso se non ce n'è nessuno :)
Mediabeastnz,

15

Bootstrap 4 sta arrivando ! Le classi di utilità rese familiari in Bootstrap 3.xsono ora abilitate al punto di interruzione. I punti di interruzione di default sono: xs, sm, md, lge xl, quindi queste classi di allineamento del testo sembrano qualcosa di simile .text-[breakpoint]-[alignnment].

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

Importante: al momento della stesura di questo, Bootstrap 4 è solo in Alpha 2. Queste classi e il modo in cui vengono utilizzate sono soggette a modifiche senza preavviso.


Questo mi ha colto di sorpresa mentre leggevo i documenti di Bootstrap 3 su un'installazione di Bootstrap 4. Grazie per il promemoria!
Ben Simpson,

12

Allineamento del testo Bootstrap in v3.3.5:

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

Esempio di CodePen


11

Le seguenti righe di codice funzionano correttamente. Puoi assegnare classi come centro testo, sinistra o destra, il testo si allineerà di conseguenza.

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

Qui non è necessario creare alcuna classe esterna. Queste sono le classi Bootstrap e hanno una propria proprietà.


10

Puoi usare questo CSS qui sotto:

.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

La .text-alignclasse è totalmente valida e più utilizzabile che avere un .price-labele.price-value che non servono più.

Consiglio di andare al 100% con una classe di utilità personalizzata chiamata

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

Mi piace fare un po 'di magia, ma dipende da te, come qualcosa:

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

1
Sì, ogni classe è totalmente "valida", ma non è semantica. Dovresti usare le classi di utilità con parsimonia nel codice di produzione, sono pensate per il "bootstrap".
jonschlinkert,

3
Perché w3 dice che è il modo corretto di usare i clasi non significa che sia il migliore. L'interfaccia utente di jQuery e Bootstrap non esisterebbero se non a causa di classi "non semantiche". Le persone tendono ad usare il significato semantico per i classe fino a quando non si rendono conto che cercare il generico è molto meglio sotto tutti gli aspetti. All'inizio è difficile ottenerlo o pensare che sia effettivamente buono, ho camminato su quella strada ...
Bart Calixto

1
L'interfaccia utente di jQuery è un cattivo esempio, perché è una libreria javascript che include anche CSS e Bootstrap, come ho sottolineato, utilizza le classi di utilità come UTILITÀ. Hai mai pensato al perché Bootstrap si chiama Bootstrap ? In modo che sia possibile utilizzare queste classi per lo sviluppo e modificarle nel codice di produzione. E non ho detto di non usarli affatto, uso abbastanza pull-left, pull-right. E a volte uso anche text-center. Ma li uso con parsimonia e non come primo piano di azione consiglio agli altri di usarli su opzioni migliori e più semantiche.
jonschlinkert,

1
L'interfaccia utente di jQuery era solo un esempio. L'approccio di cui sto parlando è ciò che fa funzionare le biblioteche. Possiamo vedere kendo, blueprint, grid, 960, Chico UI e persino Bootstrap stesso. È l'unico modo in cui queste librerie possono esistere / funzionare. Puoi dare un'occhiata alle principali aziende su come stanno usando css come Apple ( images.apple.com/v/imac/a/styles/imac.css ) e rimarrai colpito. Questo spiega la produttività e una questione enorme. Devo essere sincero, sono stato sorpreso di non aver trovato tutorial che spiegassero questo. Penso che il termine bootstrap sia perché è qualcosa che devi iniziare, non cambiare in seguito.
Bart Calixto,

7

Ecco una breve e dolce risposta con un esempio.

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>


Sono i tag HTML linke scriptvalida al di fuori heado bodytag? Perché non fornire un esempio di documento HTML completo e valido?
Peter Mortensen,

6

Espandendo la risposta di David , ho appena aggiunto una semplice classe per aumentare Bootstrap in questo modo:

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

5

In alternativa, con il rilascio di Bootstrap 3, è possibile utilizzare le classi di text-centerper allineamento centrale, text-left per allineamento a sinistra, text-rightper allineamento a destra e text-justifyper un allineamento giustificato.

Bootstrap è un framework frontend molto semplice con cui lavorare, una volta utilizzato. Oltre ad essere molto facile da personalizzare per adattarlo ai tuoi gusti.


3

Abbiamo cinque classi per questo, a cui puoi fare riferimento da qui: 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

Ecco la soluzione più semplice

È possibile assegnare le classi come text-center, sinistra o destra. Il testo si allineerà di conseguenza a queste classi. Non è necessario creare lezioni separatamente. Queste classi sono integrate in BootStrap 3

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

Controlla qui: Demo


1
<p class="text-sm-left">Left aligned text on viewports sized SM (small) or wider.</p>
Testo allineato a sinistra su finestre di dimensioni MD (medie) o più ampie.

Testo allineato a sinistra su finestre di dimensioni LG (grandi) o più grandi.

Testo allineato a sinistra su finestre di dimensioni XL (extra-large) o più grandi.


1

In Bootstrap versione 4. Esistono alcune classi integrate per posizionare il testo.

Per centrare l'intestazione della tabella e il testo dei dati:

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

Puoi anche usare queste classi per posizionare qualsiasi testo.

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

Per ulteriori dettagli

Spero ti sia d'aiuto.


0

In questa classe non valida di Bootstrap a tre classi

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

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

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

5
Esistono già diverse risposte di alta qualità a questa domanda, la maggior parte delle quali sono state pubblicate tre anni fa quando è stata posta la domanda. Mentre può essere un esercizio utile tentare di rispondere a domande semplici come questa al fine di migliorare le tue capacità di programmazione, pubblicare questa risposta nel suo stato attuale non aggiunge nulla alla domanda. Se c'è qualcosa di nuovo nella tua risposta, ti preghiamo di prendere un paio di frasi per spiegare come è diverso e perché ciò lo rende migliore.
MTCoster,

Cosa intendi con "In questa classe non valida di Bootstrap a tre classi" ? Puoi elaborare? In particolare, per "classe non valida" .
Peter Mortensen,

0

Usa text-align:center !important. Potrebbero esserci altre text-alignregole CSS quindi !importantè importante.

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>

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.