2013-09-23 12 views
6

Sto utilizzando il collasso con le transizioni. Il codice qui sotto funziona, ma poiché ho il 10px padding nel mio foglio di stile, vedo il div crollo ma smetto di 10px prima di farlo e poi svanisco. Il contrario è vero durante l'espansione poiché il div si espande a 10px più grande di quanto dovrebbe prima di tornare alle dimensioni corrette.Problema di compressione e imbottitura bootstrap

HTML

<div ng-controller="MainCtrl" class="box-content collapse" id="mybox"> 
          Lorem ipsum ... 
</div> 

CSS

.box-content{ 
    background: red; 
    padding: 10px; 
} 

risposta

4

facile - basta aggiungere un altro div all'interno del crollo quella che ha lo stile

+2

non è in realtà lavorando per me, ahimè. Ancora ottenere il salto. – jrochkind

+0

non funziona se usi la classe '.collapse' per fare riferimento al div interno nel tuo foglio di stile perché la classe' collapse' verrà modificata in 'collassare 'durante l'animazione. – silenzium

0

Se non si desidera modificare la struttura HTML, aggiungere questi stili:

/* Override bootstrap collapse to keep margins */ 
.collapse.in { 
    display: inherit; 
    visibility: visible; 
} 
.collapse { 
    display: inherit; 
    visibility: hidden; 
} 

I set di bootstrap vengono visualizzati su none al termine dell'animazione, che rimuove l'intero div, incluso il padding. Impostare la visibilità su nascosto non rimuove il div, ma l'altezza è 0, quindi tutto è rimasto il padding.

Assicurarsi che questi stili siano definiti dopo il foglio di stile di bootstrap.

1

È necessario avvolgere il contenuto in .collapse e se si desidera avere il padding, è possibile impostare i CSS del proprio wrapper.

HTML

<div ng-controller="MainCtrl" class="box-content collapse" id="mybox"> 
    <div class='wrapper'>     
    Lorem ipsum ... 
    </div> 
</div> 

CSS

.wrapper{ 
    padding: 10px; 
} 
+0

Ho spostato il pulsante anziché il contenuto e funziona per me. Grazie – Paul

Problemi correlati