问题描述
我需要整个网站的宽度超过视口,而不是高度。我正在使用flexBox对齐每个100vw的两个div,因此用户水平滚动。我已将主体设置为100vh高度,并将两个div的父容器(.tab-content)设置为100vh,但我仍然有很多高度超过100vh。我已经检查了所有元素并将其限制为100vh,但是空白仍然存在。我正在Firefox和Chrome上进行测试,并得到相同的结果-在iPhone 7/8视图上。仅当我删除第二个div(#about)时,这种多余的部分才会消失。以下是多余部分的显示方式:
HTML:
<body class="col">
<div class="control">
<p id="pause">▌ ▌</p>
<p id="audio">♩</p>
</div>
<nav class="nav-container">
<div class="mobile__header-controls">
<div class="mobile__nav">
<button class="mobile__more">+</button>
<div class="mobile__process-nav">
<a href="#show" data-tab-target="#show" class="mobile__tab">Show</a>
<a href="#about" data-tab-target="#about" class="mobile__tab">About</a>
<a href="#researchFilm" data-tab-target="#researchFilm" class="mobile__tab">Research Film</a>
<a href="#stills" data-tab-target="#stills" class="mobile__tab">Stills</a>
<a href="#lookbook" data-tab-target="#lookbook" class="mobile__tab">Lookbook</a>
</div>
<div class="mobile__main-nav">
<a class="mabtn" style="text-decoration: underline;" href="/MA.html">MA</a>
<a class="capbtn" href="/capsule.html">Capsule</a>
<a class="babtn" href="/BA.html">BA</a>
</div>
</div>
<a href="/index.html" class="info-back">Back</a>
</div>
</nav>
<main>
<div class="tab-content animate__animated animate__fadeIn">
<div id="show" data-tab-content>
<div class="video-wrapper">
<video id="catwalk" playsinline autoplay loop preload="Metadata">
<source src="/img/BA/Samson Leung Dear you,he said - CSM BA Fashion.mp4" type="video/mp4">
</video>
</div>
</div>
<div id="about">
</div>
</div>
</main>
<script defer src="/js/collections.js"></script>
</body>
</html>
CSS:
body {
width: 100%;
height: 100vh;
max-height: -webkit-fill-available;
text-rendering: optimizeLegibility;
Box-sizing: border-Box;
}
.col {
overflow: hidden;
}
.col::-webkit-scrollbar {
display: none;
}
.nav-container {
position: fixed;
margin: 0px;
}
.mobile__header-controls {
display: block;
}
.mobile__header-controls a {
font-family: Helvetica,sans-serif;
font-weight: bold;
font-size: 1.5rem;
text-decoration: none;
color: black;
text-transform: uppercase;
transition: all 1s;
}
.mobile__more {
font-size: 3rem;
margin: 2rem;
font-weight: bold;
background-color: rgba(255,255,0.904)
}
.mobile__process-nav {
display: flex;
flex-direction: column;
justify-content: space-evenly;
height: 30vh;
background-color: rgba(255,0.904);
color: black;
border: 2px solid black;
opacity: 0;
transition: opacity 0.3s ease-in-out;
-moz-transition: opacity 0.3s ease-in-out;
-webkit-transition: opacity 0.3s ease-in-out;
-ms-transition: opacity 0.3s ease-in-out;
-o-transition: opacity 0.3s ease-in-out;
}
.mobile__process-nav.fade {
opacity: 1;
}
.mobile__process-nav a {
margin-left: 2rem;
margin-right: 2rem;
}
.mobile__main-nav {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: space-evenly;
height: 20vh;
position: absolute;
margin-left: 5vw;
margin-top: 35vh;
margin-bottom: 0;
}
.mobile__main-nav a {
background-color: rgba(255,0.904)
}
.info-back {
position: absolute;
margin-left: 80vw;
margin-top: 50vh;
margin-bottom: 0;
background-color: rgba(255,0.904)
}
.tab-content {
position: absolute;
left: 0;
top: 0;
z-index: -10;
scroll-behavior: smooth;
overflow-x: visible;
overflow-y: hidden;
display: flex;
/* flex: row Nowrap;
justify-content: flex-start; */
}
.control {
position: absolute;
height: 100px;
left: 5vw;
color: white;
display: flex;
flex-direction: column;
justify-content: space-around;
padding: 2rem;
z-index: 200 !important;
}
#audio {
font-size: 1.3rem;
border: none;
color: #ffffff;
background: transparent;
cursor: pointer;
transition: all 1s;
}
#pause {
cursor: pointer;
transition: all 1s;
}
#show {
width:100vw;
height: 100vh;
}
video-wrapper {
width: 100vw;
height: 100vh;
}
#catwalk {
object-fit: cover;
width: 100vw;
height: 100vh;
top: 0;
left: 0;
}
#about {
width: 100vw;
height: 100vh;
max-width:100%
}
JavaScript +下拉按钮:
if (window.matchMedia("(max-device-width: 850px)").matches) {
morebtn.addEventListener('click',() => {
processMenu.classList.toggle('fade');
let menuOpen = processMenu.classList.contains('fade');
if (!menuOpen) {
console.log(menuOpen)
processMenu.style.pointerEvents = "none";
} else {
processMenu.style.pointerEvents = "all";
}
})
// document.querySelector('.back-img').style.display = "none";
} else {}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)