2016-07-07 58 views
12

Ho il seguente codice html di bootstrap (sua JSX quindi il className ma l'idea è la stessa):bootstrap 4 Centro-block in grado di centrare

<div className="toggleView btn-group center-block" role="group" aria-label="Basic example"> 
     <button onClick={this.handleTimelineClick} type="button" className={this.state.toggleCalendar == false ? "btn btn-secondary active" : "btn btn-secondary"}>Timeline</button> 
     <button onClick={this.handleCalendarClick} type="button" className={this.state.toggleCalendar == true ? "btn btn-secondary active " :"btn btn-secondary"}>Calendar</button> 
</div> 

sto cercando di centrare questo codice sia con centro bootstrap -BLOCCO o con i CSS, ma non riesco a farlo funzionare:

enter image description here

la barra verde evidenzia la div toggleView.

L'unica css sto utilizzando è il seguente:

.toggleView { 
    padding: 20px; 
} 

Perchè non posso centrare questo gruppo di pulsanti?

risposta

33

btn-group ha display:inline-block in modo che avrebbe utilizzare text-center nel contenitore padre ..

http://codeply.com/go/hyUYkUrtRN

NOTA: In Bootstrap 4, center-block è ora mx-auto, che rappresenta margin: 0 auto; per centrare display:block elementi. Bootstrap 4 ora ha una classe d-block troppo così un elemento inline può essere fatta display: block come questo ..

<img src=".." class="d-block mx-auto" >

vedi anche: Center the content inside a column in Bootstrap 4

+1

Grazie, mi confonde un po 'il motivo per cui funziona. Puoi discutere un po 'di più su 'display: inline-block' e cosa sta facendo in realtà e su come text-center ha risolto questo problema? – ApathyBear

+0

Fondamentalmente 'center-block' funziona solo su un elemento' display: block' – ZimSystem

+1

Per i futuri lettori sembra che 'mx-auto' sia rinominato' mx-auto' fram alpha.5 –

1

Bootstrap 4 non ha center-block Invece, io uso d-block m-x-auto che imposta display per bloccare, e margini sinistro e destro per auto.

2

Bootstrap 4 (a partire dal 2017-08-16) utilizzerà d-block e al centro si utilizza mx-auto.