【发布时间】:2019-02-25 19:38:49
【问题描述】:
我有一个网站可以在平板电脑、电脑和手机上运行,除了 Chrome。主 div 应填充屏幕高度,无论是否已满。它具有中性灰色背景色。在 Chrome 中,它仅填充视口的大小,当滚动或视口大小改变时,背景颜色不适应。我已经尝试了我能想到的所有方法,并在 Safari、Firefox 和 Edge 上进行了测试,没有任何问题,Chrome 有什么问题?
<!doctype html>
<html lang='en'>
<head>
<meta charset='utf-8'/>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0' />
<link rel='stylesheet' href='owstyles.css'/>
<title>
Layout experiment
</title>
</head>
<body>
<div id="holder">
<div id="header">
<div class="head-item">my logo here</div>
<div class="head-item">other head item</div>
</div><!--close header-->
<div id="main">
<h1>My Heading 1</h1>
<h2>my heading 2</h2>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et.</p>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et</p>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et</p>
<h2>heading 2</h2>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et</p>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et</p>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et</p>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et</p>
</div> <!--close main-->
</div><!--close holder-->
</body>
</html>
这里是 CSS
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}
html {
height: 100%;
}
body{
background-color: #EAEDF0;
height: 100%;
background-size: 100%;
background-image: url('graphic/background.jpg');
background-attachment: fixed;
background-size: cover;
}
h1 {
margin-left: 1em;
margin-bottom: 0.5em;
}
h2 {
margin-left: 1em;
}
p {
margin: 0 1em 1em 1em;
}
#holder {
display: -webkit-flex;
display: flex;
-webkit-flex-direction: column;
flex-direction: column;
-webkit-justify-content: flex-start;
justify-content: flex-start;
color: #ffffff;
height:100%;
max-width: 960px;
margin: auto;
}
#header {
display: -webkit-flex;
display: flex;
-webkit-flex-direction: row;
flex-direction: row;
height: auto;
padding-bottom: 2.5em;
background-image: url(graphic/waves.jpg);
-webkit-justify-content: space-between;
justify-content: space-between;
align-items: center;
}
#main {
display: -webkit-flex;
display: flex;
flex-direction: column;
color: #000000;
-webkit-flex: 1;
flex: 1;
height: 100%;
background-color: #EAEDF0;
max-width: 960px;
}
#footer {
display: -webkit-flex;
display: flex;
background-color: #00ff00;
height:auto;
-webkit-justify-content: space-around;
justify-content: space-around;
-webkit-align-items: center;
align-items: center;
width: 100%;
max-width: 960px;
position: fixed;
bottom: 0em;
color: #ffffff;
background-image:url('graphic/waves.jpg');
}
.head-item {
display: flex;
margin: 2vw;
height: 2vw;
}
【问题讨论】:
-
我不确定您需要什么,但请尝试删除
html标签的样式并将min-heght: 100vh添加到body标签。 -
这是因为您的 html 高度是 100% 尝试删除它会起作用
-
这样更好,但是“主”分区的背景色只填充内容而不是屏幕的其余部分,但现在在其他浏览器上它不会填充屏幕。
-
你能用这个贴小提琴或密码笔吗
-
按照您提供的链接,我没有看到您报告的问题,是的,它在 chrome 上
标签: html css google-chrome flexbox