【问题标题】:trouble at designing layout of web page网页布局设计的麻烦
【发布时间】:2018-10-01 15:44:35
【问题描述】:

我正在尝试在左侧显示侧边栏,在右侧显示主要动态内容。在这里,我为侧边栏提供col-sm-3,为内容提供休息 (col-sm-9)。 我在这里遇到的问题是我的侧边栏不完全适合col-sm-3,所以在侧边栏和主要内容之间可以看到很小的间隙(下图中的白色部分)。

如果我将侧边栏的网格减少到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;
  }

【问题讨论】:

    标签: bootstrap-4 material-design frontend


    【解决方案1】:

    这似乎是引导程序默认填充和边距问题。将第 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>
    

    【讨论】:

    • 我用代码编辑了我的答案,该代码应该将您的边距和填充清零并使所有内容都齐平。如果它不起作用,那么您还有其他一些问题。
    • @John 尝试发送指向该站点或 JS FIDDLE 的链接,或带有所有代码的 sn-p,以便我们查看问题所在并查看实际代码。
    • 我已将边距和内边距设置为 0px。它也不起作用。
    • github.com/pradip503/nsc-project 请分叉到这个并帮助我。
    • 把它放在 JSFiddle 上。
    猜你喜欢
    • 2016-06-29
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多