正文中只有3行文字。背景颜色最多只能填充3行文字。
由于我希望颜色填满浏览器的100%垂直,我只需设置html&的CSS height
属性。身体到100%
。但是垂直滚动条现在显示出来了。我该如何隐藏/删除它?
我为html和div属性尝试overflow:hidden;
但没有运气。使用Firefox。
CSS:
* {
margin:0;
padding:0;
}
html,body {
width:100%;
height:100%;
}
.logodiv {
width:100%;
background-color:#243640;
height:40px;
color:#FF1442;
}
.content {
/* Firefox 3.6+ */
background: -moz-radial-gradient(circle, #1a82f7, #2F2727);
width:100%;
height:100%;
overflow: hidden;
}
HTML:
<div class="logodiv">
ITEMS LIST
</div>
<div class="content">
line1<br>
line2<br>
line3<br>
</div>
答案 0 :(得分:2)
改为使用min-height: 100%
并向.content
添加一个负余量以将其向上移动:
.logodiv {
position: relative;
z-index: 10;
}
.content {
background-color: gold;
min-height:100%;
margin-top: -40px;
}
.content:before {
content: ' ';
display: block;
height: 40px;
}
<强> JSBin Demo #1 强>
注意:为了下推.content
元素的内容,我使用了::before
伪元素选择器,另一个选项可能是:
使用box-sizing: border-box
和padding-top: 40px
CSS声明:
.content {
background-color: gold;
min-height:100%;
margin-top: -40px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding-top: 40px;
}
<强> JSBin Demo #2 强>
PS:如今,所有主要的现代浏览器都支持::before
伪元素和/或box-sizing
属性。但是,如果您正在寻找所有浏览器都支持的传统方式,您可以创建.spacer
分区,作为.content
元素的第一个子元素,并将height: 40px;
设置为.spacer
<强> JSBin Demo #3 强>
答案 1 :(得分:1)
让logodiv
绝对定位:
.logodiv
{
width:100%;
background-color:#243640;
height:40px;
color:#FF1442;
position: absolute;
top: 0;
}
答案 2 :(得分:0)
.logodiv
已height: 40px
。
你有.content
height: 100%
。
将这两者加在一起,总和超过其容器的height: 100%
(body
)。这就是垂直滚动条的原因。
试试这个:
.content { height: calc(100% - 40px); }
DEMO:http://jsfiddle.net/y04jgbaz/
calc()
函数允许带加法(+)的数学表达式, 减法( - ),乘法(*)和除法(/)用作 组件价值。
浏览器支持也非常好:http://caniuse.com/#search=calc