2016-06-27 4 views
1

verwenden Ich benutze Bootstrap 4 CSS mit flexbox und ich habe Probleme mit verschachtelten Grids. Nesting Grids funktionieren wie erwartet in Bootstrap 4 ohne flexbox, aber wenn flexbox verwendet wird, werden die Elemente gestapelt, anstatt sich horizontal anzuordnen. Dieser Code:Wie verschachtelte Grids in Bootstrap 4 mit Flexbox

<main class="container-fluid"> 
    <form novalidate> 
     <div class="row"> 
      <div class="col-md-6 col-xs-12"> 
       <fieldset class="form-group"> 
        <label>Single input</label> 
        <div class="input-group input-group-sm"> 
         <span class="input-group-addon">1</span> 
         <input type="text" class="form-control" placeholder="100%"> 
        </div> 
       </fieldset> 
      </div> 
      <div class="col-md-6 col-xs-12"> 
       <fieldset class="form-group row"> 
        <div class="col-md-6"> 
         <label>Double Input 1</label> 
         <input type="text" class="form-control" placeholder="50%"> 
        </div> 
        <div class="col-md-6"> 
         <label>Double Input 2</label> 
         <input type="text" class="form-control" placeholder="50%"> 
        </div> 
       </fieldset> 
      </div> 
     </div> 
    </form> 
</main> 

Erzeugt this view.

EDIT: Merkwürdigerweise, wenn ich die Feldgruppen in der zweiten Spalte zu divs ändern, das Layout wie erwartet funktioniert. Ich konnte jedoch, abgesehen von den berechneten Höhen der Elemente, keine sinnvollen CSS-Unterschiede zwischen Fieldsets und Divs finden. Was ist mit Fieldset, das das Layout bricht?

Leider kann ich keine jsfiddle erstellen, da die Version von Bootstrap 4 css, die über eine CDN verfügbar ist nicht Flexbox aktiviert ist.

+0

Können Sie Ihren Code auf [jsfiddle] (https://jsfiddle.net/)? –

+0

Hier ist eine Codeply mit Bootstrap 4 Flexbox: http://codeply.com/go/vGxXpLucjT BS 4 ist immer noch in Alpha, so gibt es immer noch viele Probleme. Müssen Sie Fieldset verwenden? – ZimSystem

+0

Danke, dass du das zusammenstellst, @Skelly! Ich brauche kein Fieldset, aber es ist sowohl semantisch als auch mit ein paar nützlichen Styles im Bootstrap. Ich würde nur gerne wissen, was der relevante Unterschied zwischen fieldset und div/span/vielen anderen ist, der dazu führt, dass Spalten vertikal statt horizontal platziert werden. – jesse501

Antwort

0

Ihre innere nächste .row ist in einem <fieldset> Tag.

In TWBS-Feldsätzen sind die Ränder auf 0 gesetzt und Zeile Klassen setzen Sie links/rechts auf -15px. Die Kombination, die Sie verwenden bricht das Layout und die Spalte damit umschließt.

Versuchen Sie, in einem seperaten .row<div> zu verschachteln, so.

<!-- does not work --> 
<fieldset class="form-group row"> 
    ... 
</fieldset> 


<!-- better solution --> 
<div class="row"> 
    <fieldset class="form-group"> 
    .. 
    </fieldset> 
</div> 
+0

In Bootstrap 4 haben Elemente einen rechten/linken Rand von -0,9375rem. Wenn Sie die fieldset.row-Elemente in der Codeply überprüfen, werden Sie feststellen, dass sie tatsächlich die richtigen negativen Ränder haben, also glaube ich nicht, dass dies der Grund ist. – jesse501