2017-05-01 24 views
0

我正在使用基于Flexbox的Bootstrap 4。现在如果我完全放置其中一列或其细分,会发生什么?他们会回应或不响应?绝对定位元素的自举响应

例子:

<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> 

现在,如果我定位#导航按钮绝,当浏览器大小的响应是行不通的。

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:#颗粒-JS是一个帆布

+0

绝对位置元素都遵循它们的相对父母或身体是否相对父不可用。使用引导程序无法使它们响应,您需要使用媒体查询来更改绝对定位元素的属性以使其响应。 – Niraj

+0

@Niraj谢谢。因此,如果我将相对列和其细分绝对化,那么调整大小会发生什么?如果您有时间这么做,我将非常感谢您是否可以制作CodePen!再次感谢你的回复。 –

+0

如果列的属性相对,则您的细分将位于列内。 您可以查看前两个视频,以便更好地理解https://www.youtube.com/watch?v=kejG8G0dr5U&index=1&list=PLqGj3iMvMa4L731ispRfGAabXeRpM4RL6 – Niraj

回答

1

你需要让父母为位置:相对现在任何一个孩子,你这是位置绝对的,它将被放置就其正常情况下的父母位置而言。 绝对位置只会改变位置,它与响应无关。它将像其他代码的行为一样使用引导类。

请检查: 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

非常感谢。正是我想知道的。实际上我很困惑,并且认为无论父母是否亲属,绝对元素都是根据文档的顶部定位的。最后要问的问题是:我应该避免将列绝对正确?因为如果一列是绝对的而另一列是绝对的,那么布局会搞乱? –

+0

这取决于,如果你需要一个特定的部分应该放在页面上的任何地方,那么使用绝对位置进行布局并没有什么坏处。 我会说,bootstrap与任何元素绝对或相对无关,它只是一般的CSS概念。 – Nitesh