2013-08-21 11 views
30

Sto usando Twitter Bootstrap per portare via molto lavoro CSS per me. Voglio usare i loro pannelli per una sorta di "post" da un utente. Mi piacerebbe avere la sezione Titolo include Modifica/Elimina collegamenti ipertestuali sul lato DESTRA del titolo, mentre il titolo stesso è allineato a sinistra.Come posso aggiungere del testo a sinistra ea destra del mio titolo del pannello?

Ho provato questo senza successo:

<div class="row"> 
    <div class="panel panel-primary"> 
     <div class="panel-heading"> 
      <h3 class="panel-title">@vModel.Title <span class="text-right">Hey</span></h3> 
     </div> 
     <div class="panel-body"> 
      @vModel.Blog 
     </div> 
    </div> 
</div> 

Il titolo dovrebbe essere allineato a sinistra (come fa di default), ma voglio che il testo aggiuntivo "Hey" di presentarsi sul lato DESTRO .

EDIT: http://getbootstrap.com/dist/css/bootstrap.css

+1

Hai provato a usare chiaro: proprio sul titolo – Hive7

+0

incollare il codice del pannello-titolo e codice della classe di testo a destra. e prova ad aggiungere float: proprio nella classe text-right. –

risposta

45

Twitter bootstrap ha due classe che ti può aiutare.

Il primo è .text-right e il secondo è .pull-right quindi aggiungere questa due classe e vedere.

+1

.pull-right funziona, ma perché .text-right non funziona affatto? – Tada

+1

perché tirare a destra è in realtà l'intero elemento mobile a destra ... dove come allineamento del testo basta impostare il testo a destra nella larghezza specifica dell'elemento. –

+0

Odio il float, ma questo sembra essere il modo migliore che ho trovato finora :-( – linuxdan

3

Aggiungere e rimuovere float:righttext-align: right

.text-right { 
    float:right; 
} 
+1

Non farlo! Tu (quasi) non vuoi mai lavorare all'interno del codice sorgente di un'altra libreria. Invece, guarda se qualcosa esiste già e altrimenti crea la tua classe. In questo caso, esiste già la classe '.pull-right', che fa esattamente ciò che hai fatto con' .text-right'. – Koen

1

Pulsanti sinistro e destro nell'intestazione del pannello. È possibile sostituire questi pulsanti con i collegamenti.

<div class="panel-heading text-right"> 
    <div class="nav"><!-- clears floated buttons --> 

    <div class="btn-group pull-left" data-toggle="buttons"> 
     <label class="btn btn-default"> 
     <input type="checkbox" autocomplete="off"><i class="fa fa-toggle-on"></i> 
     </label> 
    </div> 

    <div class="btn-group pull-right" data-toggle="buttons"> 
     <label class="btn btn-default"> 
     <input type="checkbox" autocomplete="off"><i class="fa fa-trash"></i> 
     </label> 
    </div> 

    </div> 
</div> 
27

piccolo clearfix lo fa

<div class="panel panel-default"> 
    <div class="panel-heading"> 
     <div class="panel-title pull-left"> 
      Works fine for me! 
     </div> 
     <div class="panel-title pull-right">Text on the right</div> 
     <div class="clearfix"></div> 
    </div> 
    <div class="panel-body">Panel content</div> 
</div> 

si può provare qui http://jsfiddle.net/b1Lec5ge/

+1

Grazie per il colpo di clearfix. il layout era davvero sciocco senza di esso: D –

+0

questo lo ha fatto grazie e non ha rotto la voce – Geomorillo

2

Soluzione di lavoro per la domanda

<div class="panel panel-default"> 
    <div class="panel-heading"> 
     <div class="row"> 
      <div class="col-md-4 text-left panel-title">@vModel.Title</div> 
      <div class="col-md-8 text-right"><a>hyperlink1</a> <a>hyperlink2</a></div> 
     </div> 
    </div> 
    <div class="panel-body"> 
     ... 
    </div> 
</div> 

Ogni sezione del pannello può contenere row (s) con col-xx-xx

<div class="panel panel-default"> 
    <div class="panel-heading"> 
     <div class="row"> 
      <div class="col-md-4 text-left">Header left</div> 
      <div class="col-md-4 text-center">Header center</div> 
      <div class="col-md-4 text-right">Header right</div> 
     </div> 
    </div> 
    <div class="panel-body"> 
     <div class="row"> 
      <div class="col-md-6 text-right">Body left align right</div> 
      <div class="col-md-6 text-left">Body right align left</div> 
     </div> 
    </div> 
    <div class="panel-footer"> 
     <div class="row"> 
      <div class="col-md-3 text-center">Footer 1/4 center</div> 
      <div class="col-md-3 text-center">Footer 2/4 center</div> 
      <div class="col-md-3 text-center">Footer 3/4 center</div> 
      <div class="col-md-3 text-center">Footer 4/4 center</div> 
     </div> 
    </div> 
</div> 

Qui si ha uno snipplet con col-xs-xxx per lo schermo piccolo piccolo. Documentazione here.

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 

 

 
<div class="panel panel-default"> 
 
    <div class="panel-heading"> 
 
     <div class="row"> 
 
      <div class="col-xs-4 text-left">Header left</div> 
 
      <div class="col-xs-4 text-center">Header center</div> 
 
      <div class="col-xs-4 text-right">Header right</div> 
 
     </div> 
 
    </div> 
 
    <div class="panel-body"> 
 
     <div class="row"> 
 
      <div class="col-xs-6 text-right">Body left align right</div> 
 
      <div class="col-xs-6 text-left">Body right align left</div> 
 
     </div> 
 
    </div> 
 
    <div class="panel-footer"> 
 
     <div class="row"> 
 
      <div class="col-xs-3 text-center">Footer 1/4 center</div> 
 
      <div class="col-xs-3 text-center">Footer 2/4 center</div> 
 
      <div class="col-xs-3 text-center">Footer 3/4 center</div> 
 
      <div class="col-xs-3 text-center">Footer 4/4 center</div> 
 
     </div> 
 
    </div> 
 
</div>

0

penso che questo può aiutare anche. È possibile utilizzare entrambi righe e colonne bootstrap di dividere il pannello in due, come ho fatto qui:

<div class="panel panel-default"> 

    <div class="panel-body"> 

     <div class="row"> 

      <div class="col-md-6"> 

       <p>Text on left</p> 

      </div> 

      <div class="col-md-6"> 

       <p>Text on right</p> 

      </div> 

     </div> 

    </div> 

</div> 
Problemi correlati