【问题标题】:Bootstrap header to compensate for collapsible sidebar引导标题以补偿可折叠侧边栏
【发布时间】:2018-06-05 00:45:52
【问题描述】:

我正在使用 bootstrap 4,并且我创建了一个部分可折叠的侧边栏,它实际上非常适合我。

我的问题是,我正在尝试添加一个顶部标题/导航栏,其中包含用于折叠侧边栏的切换开关,并且在标题导航栏的右侧,我希望我的用户图标用于登录和注销等。

我创建了一个名为#userHeader 的标题,它扩展了页面的宽度并容纳了切换开关(同样,这部分工作)但我使用100vw 作为标题并且宽度太大,因为它超出了页面并且你看不到图标。

我的问题是:如何在此处创建一个响应式标题,始终从侧边栏占用的空间扩展页面的剩余宽度?

换句话说,如果它没有被折叠并且侧边栏占据了页面的 15%,然后一旦折叠它就占据了 5%,那么页眉将按照现在的方式进行补偿,但右侧总是粘在页面右侧。

有问题的 HTML 块:

#userHeader {
  width: 100vw;
  height: 40px;
  background-color: red;
  position: fixed;
}

#userHeader i {
  color: #FFFFFF;
  float: right;
}
<div id="secondHeader">
  <!--Note: I have no styling for this id yet-->
  <div id="userHeader">
    <button type="button" id="sidebarCollapse" class=".btn">
				<span></span>
				<span></span>
				<span></span>
			</button>
    <i id="user" class="far fa-user-circle fa-2x"></i>
  </div>
</div>

这是一个有效的代码笔,我以为我只保留了最必要的 html。所有 CSS 和 JS 都是我目前在我的页面中使用的:

https://codepen.io/anon/pen/gKPJgq

【问题讨论】:

    标签: html css bootstrap-4


    【解决方案1】:

    为此,由于您使用的是引导程序,因此网格系统文档可能会有所帮助https://getbootstrap.com/docs/4.0/layout/grid/

    您设置的宽度是固定的。您可能想尝试设置最大宽度或将 '%' 作为单位,因为百分比单位是相对于父元素,或者在你的情况下(如我所假设的)主体。

    另一方面,将侧边栏和#userHeader 放在单独的列中可能有助于解决您的问题。由于 Bootstraps 网格在 12 列系统中工作,给你的侧边栏一个,(比如说)col-3 类,#userHeader 应该填写其余部分。

    此外,您可能需要查看flexbox,以获得更轻松的整体布局定位和响应能力。

    【讨论】:

    • 这个答案似乎很笼统,对于一个有很多细节的问题,是否可以提供更有针对性的解决方案而不仅仅是链接?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 2014-06-20
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    • 2014-12-24
    • 1970-01-01
    相关资源
    最近更新 更多