在设计网页布局时遇到麻烦

时间:2018-10-01 15:44:35

标签: bootstrap-4 material-design frontend

我尝试在左侧显示侧边栏,在右侧显示主要动态内容。在这里,我为边栏提供col-sm-3,为内容提供休息(col-sm-9)。 我在这里面临的问题是,我的侧边栏不能完全适合col-sm-3,因此在侧边栏和主要内容之间可见很小的缝隙(下图中的白色部分)。 enter image description here

如果我将侧边栏的网格减小到col-sm-2,则主要内容将移回侧边栏,并且某些内容被隐藏。在侧边栏的某个位置,我使用z-index作为1来管理背景图像,看起来的不透明度和内容。

如何使侧边栏完全适合左侧的网格,而使右侧的动态内容完全没有它们之间的白色空白?

我也尝试使用表格,但是这样做时我的内容移到了侧边栏。有什么解决方案?

我的home.handlebars就像

<div class="container-fluid">
            <div class="row">
                <div class="col-sm-3">
                    {{> home/sidebar}}
                </div>
                <div class="col-sm-9" style="background-color: #EEF1F3; ">
                    {{{ body }}}
                </div>
            </div>
        </div>

我的sidebar.handlebars就像

<div class="wrapper" >

      <div class="sidebar sidebar-overwrite" data-color="azure" data-background-color="blue" data-image="../../../assets/img/sidebar-1.jpg">

        <div class="mysidebar-wrapper"> </div>

          <div class="logo" >
            <a href="#"  class="simple-text logo-normal NSC-link">
              <img src="images/nepathya-logo.jpg" class="img img-responsive nepathya-logo" height="100px"><br>
              <b>Nepathya Student Council</b>
            </a>
          </div>
          <div class="sidebar-wrapper">
            <ul class="nav">

              <li class="nav-item active" id="nav-item-overwrite">
                <a class="nav-link" href="/">
                  <i class="material-icons material-icon-overwrite">home</i>
                  <p class="sidebar-list-items">Home</p>
                </a>
              </li>

              <li class="nav-item" id="nav-item-overwrite">
                <a class="nav-link" href="/login">
                  <i class="material-icons material-icon-overwrite">person</i>
                  <p class="sidebar-list-items">Login/Register</p>
                </a>
              </li>
              <!-- your sidebar here -->

              <li class="nav-item" id="nav-item-overwrite">
                  <a class="nav-link" href="">
                    <i class="material-icons material-icon-overwrite">contact_support</i>
                    <p class="sidebar-list-items">Questions Collections</p>
                  </a>
                </li>

                <li class="nav-item" id="nav-item-overwrite">
                  <a class="nav-link" href="#0">
                    <i class="material-icons material-icon-overwrite">book</i>
                    <p class="sidebar-list-items">Solutions</p>
                  </a>
                </li>

                <li class="nav-item">
                  <a class="nav-link" href="#0">
                    <i class="material-icons material-icon-overwrite">receipt</i>
                    <p class="sidebar-list-items">Notes</p>
                  </a>
                </li>

                <li class="nav-item" id="nav-item-overwrite">
                    <a class="nav-link" href="#0">
                      <i class="material-icons material-icon-overwrite">cloud_upload</i>
                      <p class="sidebar-list-items">Upload</p>
                    </a>
                  </li>

            </ul>
          </div>
      </div>


</div>

我的sidebar.css就像

   .sidebar-overwrite {
    z-index: 1;
   }

   .sidebar-overwrite .mysidebar-wrapper {
    position: absolute;
      z-index: -1;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      background: url("../images/sidebar-1.jpg") center center;
      opacity: .1;
      width: 100%;
      height: 100%;
   }

   .sidebar .logo .simple-text {
    white-space: normal !important;
   }
  .sidebar-list-items {
    font-weight: bold;
    font-size: 24px;
  }

  .material-icon-overwrite {
    color: black !important;
  }

1 个答案:

答案 0 :(得分:0)

这似乎是引导程序的默认填充和边距问题。将3列和9列的填充和边距清零,然后相应地添加和删除。

   <div class="container-fluid">
        <div class="row" style="padding:0; margin:0;">
            <div class="col-sm-3" style"padding:0; margin:0;">
                {{> home/sidebar}}
            </div>
            <div class="col-sm-9" style="padding:0; margin:0; background-color: #EEF1F3; ">
                {{{ body }}}
            </div>
        </div>
    </div>