【发布时间】:2016-09-05 11:01:35
【问题描述】:
我正在为个人项目开发的网站需要一个大背景图像(全屏),在这个屏幕外是我的容器 div <main>,用户向下滚动屏幕,这个容器 div 覆盖大背景图像,直到用户到达页面底部<footer>。
这在任何屏幕尺寸上都能完美运行但仅在横向视图中,现在我知道这是因为<main> div 被设置为在屏幕外通过有一个 body高度 css 为 100%,但是这会导致在纵向视图中查看时出现问题,因为这会将 <main> div 向下推到屏幕底部,在背景图像下方留下一个我不想要的巨大空白。
我是否必须运行媒体查询来解决这个问题?..(我宁愿不用,因为媒体查询很棒,但它们并没有真正考虑到用户通过拖动边缘来调整屏幕大小),或者我错过了什么我的 CSS 还是最终可以通过 javascript 修复?
更多信息:Bootstrap v3.3.7, https://blackrockdigital.github.io/startbootstrap-scrolling-nav/
css:
body {
width: 100%;
height: 100%;
}
html {
width: 100%;
height: 100%;
}
/* div holding the background image */
.mainbg {
background-image: url("../images/main_image.jpg");
background-attachment: fixed;
background-repeat: no-repeat;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: 100% auto;
height: 100%;
}
html:
<body id="page-top" data-spy="scroll" data-target=".navbar-fixed-top">
<div class="mainbg"></div>
<main role="main">
<!-- Intro Section -->
<section id="intro" class="intro-section mobile-block">
<div class="container-fluid">
<div class="col-lg-12">
<h1>Stack Overflow Question</h1>
</div>
<div class="row">
【问题讨论】:
-
不确定您所说的“媒体查询很棒,但它们并没有真正考虑到用户通过拖动边缘来调整屏幕大小”。首先,基于窗口宽度的媒体查询 do 响应用户调整窗口大小。其次,还有针对硬件屏幕尺寸的媒体查询,这可能就是你所追求的。
标签: css html twitter-bootstrap responsive-design