html - 当 ng-view 内容大于窗口高度时出现边框问题

标签 html css angularjs twitter-bootstrap

我正在使用以下方法为我的应用添加边框:

html, body { height: 100%; width: 100%; margin: 0; }

body:before {
    content: "";
    position: fixed;
    background: #124381;
    left: 0;
    right: 0;
    height: 60px;
}

body:after {
    content: "";
    position: fixed;
    background: #124381;
    left: 0;
    right: 0;
    height: 10px;
}
body:before {
    top: 0;
}
body:after {
    bottom: 0;
}
body   {
    border-left: 10px solid #124381;
    border-right: 10px solid #124381;  
}

但是,如果我的 ng-view 比屏幕大,并且有滚动条,那么当我向下滚动时,边框会消失。

我的 html 是:

<body>
   <div id="app-views" class="container">
      <div ng-view=""></div>
   </div>
</body>

我现在只有一个模板正在加载,它由 3 个 500px 高的巨型图标组成

当我用谷歌浏览器检查时,我的 body 显示只有500px高,而1000px以下没有边框。

我尝试了各种方法,但我希望 body 有边框,无论是否滚动,我都希望边框始终存在。

如果我执行以下操作,我可以让滚动边框工作。但是,然后非滚动中断:(

为了使滚动工作,我可以更改为:

html, body { 最小高度: 100%;宽度:100%; margin :0; }

有没有办法通过 css 做到这一点,所以在所有情况下都适用?

最佳答案

我想这就是你想要做的。

您可以在 navbar 的每一侧添加边框,并从每一侧移除 10px 的边距。

这条规则中还应该有 body html, body { height: 100%;宽度:100%; margin :0; } 因为这实际上干扰了边界,你的 body 前后应该在一个规则中。

请参阅下面整页的工作示例。

/*Use this rule without BODY if it's needed*/
/*
html, body {
  height: 100%;
  width: 100%;
  margin: 0;
}*/
body:before,
body:after {
  content: "";
  position: fixed;
  background: #124381;
  left: 0;
  right: 0;
  height: 10px;
}
body:before {
  top: 0;
}
body:after {
  bottom: 0;
}
body {
  border-left: 10px solid #124381;
  border-right: 10px solid #124381;
  padding-top: 60px;
}
.navbar.navbar-ng {
  background-color: #fff;
  background: #fff;
  margin-top: 10px;
  margin-left: 0;
  margin-right: 0;
  border: none;
  border-left: 10px solid #124381;
  border-right: 10px solid #124381;
}
.navbar .navbar-brand.navbar-brand-centered {
  position: absolute;
  left: 50%;
  display: block;
  width: 200px;
  text-align: center;
  top: 0;
}
.navbar > .container .navbar-brand.navbar-brand-centered,
.navbar > .container-fluid .navbar-brand.navbar-brand-centered {
  margin-left: -100px;
}
/* Make the masthead heading the same height as the navigation */

.header h3 {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 40px;
  padding-bottom: 19px;
}
/* Custom page footer */

.footer {
  padding-top: 19px;
  color: #777;
  border-top: 1px solid #e5e5e5;
}
.container-narrow > hr {
  margin: 30px 0;
}
/* Main marketing message and sign up button */

.jumbotron {
  text-align: center;
  border-bottom: 1px solid #e5e5e5;
}
.jumbotron .btn {
  font-size: 21px;
  padding: 14px 24px;
}
/* Supporting marketing content */

.marketing {
  margin: 40px 0;
}
.marketing p + h4 {
  margin-top: 28px;
}
/* Responsive: Portrait tablets and up */

@media screen and (min-width: 768px) {
  .container {
    max-width: 730px;
  }
  /* Remove the padding we set earlier */
  .header,
  .marketing,
  .footer {
    padding-left: 0;
    padding-right: 0;
  }
  /* Space out the masthead */
  .header {
    margin-bottom: 30px;
  }
  /* Remove the bottom border on the jumbotron for visual effect */
  .jumbotron {
    border-bottom: 0;
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />

<body ng-app="ramsiteApp">
  <div class="header">
    <div class="navbar navbar-default navbar-ng navbar-fixed-top" role="navigation">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#js-navbar-collapse"> <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>

          </button>
        </div> <a class="navbar-brand navbar-brand-centered" href="#/">Ram M's Tea Man</a>

        <div class="collapse navbar-collapse" id="js-navbar-collapse">
          <ul class="nav navbar-nav navbar-left">
            <li><a href="#/">Home</a>

            </li>
            <li><a ng-href="#/services">Services</a>

            </li>
          </ul>
          <ul class="nav navbar-nav navbar-right">
            <li><a ng-href="#/about">About</a>

            </li>
            <li><a ng-href="#/contact">Contact</a>

            </li>
          </ul>
        </div>
      </div>
    </div>
  </div>
  <div id="app-views" class="container">
    <div ng-view="">
      <div class="alert alert-info">YUP</div>Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia,
      looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de
      Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from
      a line in section 1.10.32.Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney
      College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32
      and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit
      amet..", comes from a line in section 1.10.32.Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor
      at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes
      from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum,
      "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock,
      a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source.
      Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line
      of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old.
      Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the
      undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance.
      The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over
      2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature,
      discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular
      during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature
      from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word
      in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory
      of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical
      Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the
      cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise
      on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
      <div class="alert alert-danger">YUP</div>
    </div>
  </div>
</body>

关于html - 当 ng-view 内容大于窗口高度时出现边框问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33071468/

相关文章:

html - jquery 文件上传插件-选择的文件名不显示

javascript - 一次提交两个 HTML 表单,一个在当前窗口,一个在新窗口

html - CSS/HTML 试图居中导航元素

html - 图像在页面加载时向左移动

javascript - Angularjs 1.X 相当于 Angular 2 HostBinding 和 HostListener

html - Avenir Next Condensed 在 iPad 上显示为斜体

python - Django:如何向多个页面添加元标签?

html - jQueryMobile - 表单样式(下拉图标)

javascript - 使用 ng-options AngularJS 中的值选择下拉列表

javascript - Angular Js 在每个 View 上从 $routeProvider 访问标题