gpt4 book ai didi

css - 在移动设备/平板电脑上从横向更改为纵向时出现空白问题

转载 作者:行者123 更新时间:2023-11-28 05:15:39 25 4
gpt4 key购买 nike

我正在为个人元素工作的网站需要一个大背景图像(全屏),下面是我的容器 div <main>。 ,用户向下滚动屏幕,这个容器 div 覆盖大背景图像,直到用户到达页面底部 <footer> .

这在任何屏幕尺寸上都能完美运行但只能在横向 View 下运行,现在我知道这是因为 <main>通过将 body height css 设置为 100%,div 设置为仅出现在屏幕外,但这会导致在纵向 View 中查看时出现问题,因为这将推送 <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">

最佳答案

我认为您发布的代码不足以让我为您提供一个工作示例,但总体思路是您可以使用媒体查询根据视口(viewport)宽度修改 css。

也许它可以像这样简单

@media (max-width: 767px) {   /* adjust breakpoint as req'd */
.mainbg {
height:75%; /* adjust as req'd, could be % or sometimes pixel value is easier to work with on narrow viewports */
}
}

或者您可能需要使用多个媒体请求来定位不同的视口(viewport)

@media (max-width: 767px) {
.mainbg {
....
}
}

@media (max-width: 480px) {
.mainbg {
...
}
}

或者偶尔稍微复杂一点的媒体查询,比如

/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */ 
@media only screen and (min-width: 480px) and (max-width: 767px) {
.mainbg {
...
}
}

请记住,通常的 CSS 级联规则适用,因此请注意确保顺序或您的媒体查询正确,并将这些规则放在样式表中的正确位置。

Do i have to run media queries to solve this?.. (i would sooner not as media queries are great but they dont really account for user resizing screen by dragging the edges around), or am i missing something in my css or finally can it be fixed via javascript?.

您可以使用 javascript 来完成,作为一般规则,使用 CSS 解决它会更容易。如果您使用媒体查询,则用户调整屏幕大小没有问题,它将起作用。

希望这对您有所帮助!

关于css - 在移动设备/平板电脑上从横向更改为纵向时出现空白问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39329198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com