我遇到一个问题,我的网站可以在我的笔记本电脑(chrome / windows)上正确显示,包括在移动模拟器中。但是,.container-top div和.projects div之间还有一个额外的水平空白,显示在我的像素(chrome)和我朋友的iphone / safari上。它确实可以在手机上的Firefox上正确呈现。

这是它在笔记本电脑上的显示方式(正确,向下箭头和第一张图像之间没有空格):

html - 仅Chrome(android)和safari(iphone)上的堆叠div之间有多余的空格-LMLPHP

这是我手机的屏幕截图(不正确-向下箭头和第一张图片之间的空白):

html - 仅Chrome(android)和safari(iphone)上的堆叠div之间有多余的空格-LMLPHP

知道为什么会这样吗?

Link to my test site.

下面的HTML和CSS。



@charset "UTF-8";

@font-face	{
	font-family: "Tw Cen MT Bold";
	src: url("font/TCB_____.TTF");
}

@font-face{
	font-family: "Tw Cen MT";
	src: url("font/TCM_____.TTF");
}

/* Body */
html {
	scroll-behavior: smooth;
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}
body {
	font-family: "Tw Cen MT";
	background-color: #ddd;
	color:#000;
	margin: 0;
	padding: 0;
	font-style: normal;
	font-weight: 200;
	font-size: 10px;
}
/* Container */
.container {
	width: 100%;
	margin: 0;
	padding: 0;
	padding-bottom: 0;
	padding-left: 0;
	text-align: left;
	min-height: 100vh;
}
.container-top	{
	display: block;
	position: static;
	height:100vh;
	margin:0;
	padding:0;
	width:100%;
}
	.navlinks {
		position: absolute;
		bottom: 0;
		padding: 0;
		margin: 0;
		z-index: 11;
	}

.projects	{
	display: block;
	position: static;
	width:100%;
	margin:0;
	padding: 0;
}
	.carousel	{
		margin: 0px;
		margin-top: -0.13em;
		margin-bottom: 0.10em;
		padding: 0px;
		left: 0px;
	}
		.carousel-cell	{
			width: 100%;
			height: 850px;
			padding: 0;
			margin:0;
			overflow: hidden;
		}
		.carousel img	{
			display: block;
			margin:0;
			margin-right: auto;
			height: 100%;
			width: auto;
		}

.video4to3	{
	width: 1145px;
	height: 850px;
	margin:0;
	padding:0;
	border: none;
}

.projecttext	{
	width: 95%;
	padding-right: 5%;
	font-size: 48px;
	letter-spacing: 0.02em;
	line-height: 1.146em;
	height: 100%;
	background-color: #e3e3e3;
}
.about	{
	padding: 0px;
	font-size: 48px;
	letter-spacing: 0.02em;
	line-height: 1.146em;
	width: 90vw;
}

b {
	font-family: 'Tw Cen MT Bold';
}
.bigtext	{
	font-family: 'Tw Cen MT Bold';
	position: relative;
	white-space: nowrap;
	text-overflow: clip;
	font-size: 144px;
	line-height: 0.64em;
	padding: 0px;
	margin: 0;
	margin-left:-0.07em;
	vertical-align: bottom;
	z-index: 11;
}
/*.bigtext:hover	{
	text-decoration:line-through;
	text-decoration-style:dotted;
	text-decoration-color: cyan;
}*/
.bigtext a  {
	color: #000;
	text-decoration: none;
}

a:hover {
	color:#000;
	text-decoration:line-through;
	text-decoration-style:dotted;
	text-decoration-color: cyan;
}

/* Smaller phones */
@media (max-width: 320px) {

	.bigtext	{
		font-size: 31px;
	}
	.projecttext	{
		font-size: 12px;
	}
	.about	{
		font-size: 12px;
	}
	.carousel	{
		margin-top: -0.02em;
		margin-bottom: 0.03em;
	}
	.carousel-cell	{
		width: 100%;
		height: calc( 100vw * 2 / 3 );
	}
	.carousel-cell img {
		height: 100%;
		width: auto;
	}
	.video4to3	{
		width: calc( 100vw * 2 / 3 * 4 / 3 );
		height: 100%;
	}

}
/* big phones / Small Tablets */
@media (min-width: 321px)and (max-width: 767px) {

	.bigtext	{
		font-size: 42px;
	}
	.projecttext	{
		font-size: 16px;
	}
	.about	{
		font-size: 16px;
	}
	.carousel	{
		margin-top: -0.03em;
		margin-bottom: 0.05em;
	}
	.carousel-cell	{
		width: 100%;
		height: calc( 100vw * 2 / 3 );
	}
	.carousel-cell img {
		height: 100%;
		width: auto;
	}
	.video4to3	{
		width: calc( 100vw * 2 / 3 * 4 / 3 );
		height: 100%;
	}

}
/* iPad etc */
@media (min-width: 768px) and (max-width: 1096px) {
	.bigtext	{
		font-size: 72px;
	}
	.about 	{
		font-size: 30px;
	}
	.projecttext	{
		font-size: 30px;
	}
	.carousel	{
		margin-top: -0.1em;
		margin-bottom: 0.1em;
	}
	.carousel-cell	{
		width: 100%;
		height: calc( 100vw * 2 / 3 );
	}
	.carousel-cell img {
		height: 100%;
		width: auto;
	}
	.video4to3	{
		width: calc( 100vw * 2 / 3 * 4 / 3 );
		height: 100%;
	}
}

<html lang="en-US">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Ultramoderne&#x2E3A;Architecture&#x2E3A;Providence RI</title>
<link href="css/ultranew.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="css/flickity.css" media="screen" />
<script src="js/flickity.pkgd.js"></script>
<script src="js/hash.js"></script>
<script>
	function swapText(elem, text)	{
		elem.innerHTML = text;
	}
</script>
</head>
<body>
<!-- Main Container -->
<div class="container">
	<div class="container-top">
		<div class="navlinks">
			<div class="bigtext" style="margin-left: -0.045em;">
				<a href="about.html">ABOUT</a>
				</div>
			<div class="bigtext">
				<a href="index.html" id="top">PROJECTS</a>
				</div>
			<div class="bigtext">&nbsp;</div>
			<div class="bigtext"
				 style="margin-left:-0.01em; margin-top: -0.02em; overflow-y: hidden;
						background-image: url('images/down-arrow.svg'); background-repeat: no-repeat;"><a href="#top" style="overflow: hidden; margin:0; padding:0;">&nbsp;&nbsp;&nbsp;</a>
			</div>
		</div>
	</div>
  <div class="projects">
		<div class="carousel" data-flickity='{ "cellAlign": "left", "pageDots": false, "draggable": ">1",
											 "wrapAround": true, "prevNextButtons": false, "hash": true , "lazyLoad": 2 }'>
			<div class="carousel-cell" id="p101">
				<img data-flickity-lazyload="./images/vacant01.gif" />
			</div>
			<div class="carousel-cell" id="p102">
				<div class='projecttext'>An oversize textile hangs within the industrial warehouse: a floating tabula rasa. The lightweight fabric hangs in a subtle catenary shape, creating new spaces and environments without the construction of a single wall. Monumental voids cut into the fabric lightly define rooms within the larger space, while a careful choreography allows the textile to animate between states twice during the night: from a low&mdash;lying plane that clears the space to floating overhead canopy&mdash;and back again.<br /><br />Table's Clear was an installation for the Architectural League of New York's Beaux Arts Ball 2016.</div>
			</div>
			<div class="carousel-cell" id="p103">
				<img data-flickity-lazyload="./images/rwp_01.jpg" />
			</div>
			<div class="carousel-cell" id="p104">
				<img data-flickity-lazyload="./images/stl17.jpg" />
			</div>
	  	</div>
		<div class="bigtext" style="margin-left:-0.02em">
			VACANT PROVIDENCE
	  </div>
		<div class="carousel" data-flickity='{ "cellAlign": "left", "pageDots": false, "draggable": ">1",
											 "wrapAround": true, "prevNextButtons": false, "hash": true , "lazyLoad": 2 }'>
			<div class="carousel-cell" id="p201">
				<img data-flickity-lazyload="./images/triennial01.jpg" />
			</div>
			<div class="carousel-cell" id="p202">
				<div class='projecttext'>An oversize textile hangs within the industrial warehouse: a floating tabula rasa. The lightweight fabric hangs in a subtle catenary shape, creating new spaces and environments without the construction of a single wall. Monumental voids cut into the fabric lightly define rooms within the larger space, while a careful choreography allows the textile to animate between states twice during the night: from a low&mdash;lying plane that clears the space to floating overhead canopy&mdash;and back again.<br /><br />Table's Clear was an installation for the Architectural League of New York's Beaux Arts Ball 2016.</div>
			</div>
			<div class="carousel-cell" id="p203">
				<img data-flickity-lazyload="./images/rwp_01.jpg" />
			</div>
			<div class="carousel-cell" id="p204">
				<iframe class="video4to3" src="https://player.vimeo.com/video/152848442?title=0&byline=0&portrait=0" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
			</div>
	</div>
		<div class="bigtext" >
			RISD TRIENNIAL
			</div>
		<div class="bigtext">
			<a href="buildings.html" id="top">BUILDINGS</a>
			</div>
		<div class="bigtext">
			<a href="index.html">ULTRAMODERNE</a></div></div></div></body></html>

最佳答案

直接从Google开发者的网站上:https://developers.google.com/web/updates/2016/12/url-bar-resizing
问题在于,将高度:100vh赋予非位置元素:fixed将调整元素的大小,就像始终显示滚动条一样。
iOS中似乎也发生了同样的事情:https://medium.com/@susiekim9/how-to-compensate-for-the-ios-viewport-unit-bug-46e78d54af0d

09-07 23:29
查看更多