2017-05-01 3 views
0

Ich benutze Bootstrap 4, die auf Flexbox basiert. Was passiert nun, wenn ich eine der Säulen oder deren Unterteilungen absolut positioniere? Würden sie auf die Reaktionsfähigkeit reagieren oder nicht?Bootstrap Reaktionsfähigkeit für absolut positionierte Elemente

Beispiel:

<div id="particles-js"> 
    <div class="container-fluid"> 
     <div class="row"> 
      <div class="col-sm-1"> 
       <img id="logo-small" src="img/logo-small.png" alt="logo"> 
      </div> 
      <div class="col-sm-2"> 
       <div id="navigation-buttons"> 
        <div class="nav-button"></div> 
        <div class="nav-button"></div> 
        <div class="nav-button"></div> 
        <div class="nav-button"></div> 
        <div class="nav-button"></div> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

Nun, wenn ich die # Navigationstasten absolut positionieren, und wenn der Browser das Ansprechverhalten der Größe verändert wird, wird nicht funktionieren.

CSS

#particles-js { 
     background-color: #252627; 
     height: 100vh; 
     position: relative; 
     width: 100%; 
    } 

    canvas { 
     display: block; 
    } 

    #logo-small { 
     position: absolute; 
     top: 50vh; 
    } 

    #navigation-buttons { 
     position: absolute; 
     top: 50vh; 
     width: 13px; 
     top: 50vh; 
     -webkit-transform: translate(0, -37%); 
    } 

PS: # Partikel-js ist eine Leinwand

+0

Absolute Positionselemente folgen ihren relativ Eltern oder Körper, wenn relativ Eltern nicht zur Verfügung stehen. Sie können nicht mithilfe von Bootstrap reaktionsfähig gemacht werden. Sie müssen Medienabfragen verwenden, um die Eigenschaften von absolut positionierten Elementen zu ändern, um sie reaktionsfähig zu machen. – Niraj

+0

@ Niraj Danke. Also, wenn ich eine Spalte relativ und seine Unterteilung absolut mache, was würde eigentlich bei der Größenanpassung passieren? Ich würde sehr schätzen, wenn Sie einen CodePen machen können, wenn Sie die Zeit dazu haben! Nochmals vielen Dank für Ihre Antwort. –

+0

Ihr Unterverzeichnis wird in der Spalte sein, wenn die Spalte die Eigenschaft relativ hat. können Sie die ersten beiden Videos zum besseren Verständnis https://www.youtube.com/watch?v=kejG8G0dr5U&index=1&list=PLqGj3iMvMa4L731ispRfGAabXeRpM4RL6 anzeigen – Niraj

Antwort

1

Sie müssen Eltern als Position machen: relative und jetzt jedes Kind, Sie machen Position absolut, wird es aufgestellt werden in Bezug auf seine Elternposition wie im Normalfall. Wenn die absolute Position geändert wird, ändert sich die Position nicht, dies hat nichts mit Reaktionsfähigkeit zu tun. Es verhält sich so, wie sich anderer Code bei der Verwendung von Bootstrap-Klassen verhält.

Bitte überprüfen Sie dies: http://jsfiddle.net/x1hphsvb/7/

HTML:

<div class="container"> 
    <div class="row"> 
    <div class="columns col-sm-4"> 
    First 
    </div> 
    <div class="columns col-sm-4"> 
    Second 
    </div> 
    <div class="columns col-sm-4 third"> 
    Third 
    <div class="container test"> 
     <div class="row"> 
     <div class="col-sm-4"> 
     Test1 
     </div> 
     <div class="col-sm-4"> 
     Test2 
     </div> 
     <div class="col-sm-4"> 
     Test3 
     </div> 
     </div> 
    </div> 
    </div>  
    </div> 
</div> 

CSS:

body { 
    margin: 10px; 
} 

.third{ 
    position:relative; 
} 

.test{ 
    position: absolute; 
    top:10px; 
    left:-15px; 
} 
+0

Vielen Dank Mann. Genau das, was ich wissen wollte. Tatsächlich war ich verwirrt und dachte, dass ein absolutes Element immer nach oben positioniert ist, egal ob das Elternteil relativ ist oder nicht. Eine letzte Frage: Ich sollte vermeiden, Säulen absolut richtig zu machen? Denn wenn eine Spalte absolut ist und andere nicht, würde das Layout versagen? –

+0

Das hängt davon ab, ob Sie einen bestimmten Abschnitt benötigen, der an einer beliebigen Stelle auf der Seite platziert werden soll, dann kann das Layout mit absoluter Position nicht beschädigt werden. Ich werde sagen, Bootstrap hat keine Beziehung mit irgendeinem Element absolut oder relativ zu machen, es ist nur allgemeines CSS-Konzept. – Nitesh

Verwandte Themen