我正在创建一个包含HTML / CSS并使用一点引导程序的登录页面。在打开页面时,我无法调整主页面的大小以适应100%的高度和宽度。
我希望它看起来像谷歌文档的主页:https://www.google.com/docs/about/。如果你去那里,你会看到:
icon-arrow-hint
(页面中间的箭头)。 我遇到两个问题:
即使我设置right: 0
,也会在右侧出现这种奇怪的差距。
页面加载后,看起来它适合大约90%的高度,我仍然需要向下滚动。我把这个文本放在底部 - 理论上,这应该显示在屏幕的底部而不滚动,但我必须总是略微向下滚动。
这是JSfiddle:https://jsfiddle.net/iggyfiddle/DTcHh/35435/
我正在使用position: absolute
而我正在使用所有4个方面。
如何很好地适应黄色div 100%高度和100%宽度,就像Google页面一样?
答案 0 :(得分:2)
如果你给了一个元素height: 100%
,但在同一个容器中有另一个元素在上面或下面,你需要调整另一个元素的高度,否则会出现溢出。 / p>
此外,调整Bootstrap应用的-15px
水平边距。
试试这个:
.primary-content {
position: absolute;
top: 10%;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 90%; /* ADJUSTMENT */
background: yellow;
margin: 0; /* NEW */
}
答案 1 :(得分:1)
你的.primary-content div上有bootstrap .row类,它声明了负水平边距。解决方案是从div中删除.row类或覆盖css中的边距。
这些是默认的bootstrap .row styles:
arr3
答案 2 :(得分:1)
您的黄色div
走得太远的原因是您需要将高度设置为90%
。
要修复右侧的奇怪填充,请添加margin: 0 !important;
。
.primary-content {
position: absolute;
top: 10%;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 90%; // change this
background: yellow;
margin: 0 !important; // add this
}
请参阅此JSFiddle或运行下面的代码段
/* Latest compiled and minified CSS included as External Resource*/
/* Optional theme */
@import url('//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-theme.min.css');
.universal-header {
background: red;
border-radius: none;
height: 10%;
width: 100%;
position: fixed;
}
.color-brown {
color: #58482C;
text-decoration: none;
}
.primary-content {
position: absolute;
top: 10%;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 90%;
background: yellow;
margin: 0 !important;
}
.bottom {
position: absolute;
bottom: 0;
right: 0;
}

<link href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<nav class="navbar universal-header navbar-static-top">
<a class="navbar-brand navigation-title color-brown">
</a>
<span class="color-brown navbar-brand navigation-title">HELLO</span>
<span class="navbar-brand navigation-title pull-right color-brown">Login</span>
<span class="navbar-brand navigation-title pull-right color-brown">Features</span>
<span class="navbar-brand navigation-title pull-right color-brown">About</span>
</nav>
<div class="row primary-content">
<div class="col-md-12">
<h1>This is a super awesome product</h1>
<h4>Help me stackoverflow, you are my only hope!</h4>
</div>
<div class="bottom">
You should be able to see me without scrolling
</div>
</div>
&#13;
答案 3 :(得分:1)
使用.row类增加15px的余量。一个快速解决方法是从主内容div中删除类,如此。
<div class="primary-content">
<div class="col-md-12">
<h1>This is a super awesome product</h1>
<h4>Help me stackoverflow, you are my only hope!</h4>
</div>
或添加一个类并删除边距。
答案 4 :(得分:0)
问题1:
右侧有这个奇怪的差距
使用bootstrap的RegExp_Substr_gpl( col2, '(~|^)([^~]*?ABCD.*?#.*?)(~|$)',1,1,'i',2)
课程时,它会在div的左右两侧添加-15px的边距,如果你想更好地理解为什么,请参阅this question的第二个答案
解决方案:不要将row
类用于row
div。
问题2:
这应该显示在屏幕的底部而不滚动, 但我必须总是略微向下滚动
您正在使用primary-content
定位,请记住,在您的情况下需要absolute
定位的父容器,因为您没有,所有内容都与初始包含相关阻止,因此你的视口/窗口。
快速修复:从relative
height: 100%;
css
警告:如果您想在黄色容器下添加更多内容,请按照现在的方式使用绝对定位会给您带来麻烦