背景图片未覆盖整个页面
Background image does not cover entire page
我的网站有一个非常奇怪的问题。背景图像不会覆盖整个页面,当我调整 window 大小时,它会创建大的白色部分。但是,它只发生在某些 PCs/laptops 上。几个朋友尝试了该网站并报告说他们在图像缩放方面没有问题,并且在调整 window.
大小时它一直覆盖整个页面
然而,它是这样显示的:https://gyazo.com/04a679edfb7a442d09d6e7ce8b196cf9您可以随时自行查看该网站。
我真的希望有人能对发生的事情有所了解。此外,图片未保持其纵横比,而是在调整大小时缩放 in/out。
https://jsfiddle.net/dn3553pg/1/
HTML
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>onepageskiw</title>
<link href="styles.css" rel="stylesheet" type="text/css">
<script src="js.js"></script>
</head>
<body>
<div id="forsidediv">
<img id="forsidepic" src="baggrund.jpg">
<nav>
<ul id="menu">
<li><a href="#">Top</a></li>
<li><a href="#">Om Eventet</a></li>
<li><a href="#">Lokation</a></li>
<li><a href="#">Kontakt</a></li>
</ul>
</nav>
</div>
<div id="logodiv">
<img src="../design/logotop.png">
</div>
<div id="overskrift">
<h1>EVENTET STARTER OM</h1>
</div>
<div id="countdowner">
<table id="table">
<tr>
<div id="countdown">
<td id="id1"></td>
<td id="id2"></td>
<td id="id3"></td>
<td id="id4"></td>
</div>
<tr>
<tr>
<td class="timeLabel">DAGE</td>
<td class="timeLabel">TIMER</td>
<td class="timeLabel">MIN</td>
<td class="timeLabel">SEK</td>
</tr>
</tr>
</tr>
</table>
</div>
<div id="information">
<div>
<h2>Hvad skal der ske?</h2>
</div>
</div>
<script>
CountDownTimer('06/25/2016 10:00 AM', 'id');
function CountDownTimer(dt, id)
{
var end = new Date(dt);
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;
function showRemaining() {
var now = new Date();
var distance = end - now;
if (distance < 0) {
clearInterval(timer);
document.getElementById(id).innerHTML = 'EXPIRED!';
return;
}
var days = Math.floor(distance / _day);
var hours = Math.floor((distance % _day) / _hour);
var minutes = Math.floor((distance % _hour) / _minute);
var seconds = Math.floor((distance % _minute) / _second);
document.getElementById(id+"1").innerHTML = days;
document.getElementById(id+"2").innerHTML = hours;
document.getElementById(id+"3").innerHTML = minutes;
document.getElementById(id+"4").innerHTML = seconds;
}
timer = setInterval(showRemaining, 1000);
}
</script>
</body>
</html>
CSS
@charset "utf-8";
@import url(https://fonts.googleapis.com/css? family=Montserrat:400|Raleway:100,400|);
body {
margin:0;
}
#forsidediv {
position:fixed;
bottom:0;
}
#forsidepic {
width: 100%;
}
#logodiv {
position:absolute;
text-align:center;
padding-top:15%;
}
#logodiv>img {
width:15%;
}
h1 {
font-family:raleway;
font-weight:100;
position:absolute;
width:100%;
text-align:center;
color:white;
letter-spacing:11px;
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-230%);
font-size:2.5em;
}
#countdowner {
font-family:sans-serif;
color:white;
position:absolute;
margin:0;
padding:0;
width:100%;
font-size:2em;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-20%);
}
#id1 {
font-size:2.5em;
}
#id2 {
font-size:2.5em;
}
#id3 {
font-size:2.5em;
}
#id4 {
font-size:2.5em;
}
.timeLabel {
font-size:0.7em;
color:#f1a01e;
font-family:montserrat;
font-weight:700;
}
#table {
margin:0 auto;
text-align:center;
}
#table td{
padding:0px 45px;
}
#menu {
position:absolute;
padding:0;
width:100%;
bottom:0;
text-align:center;
}
#menu>ul {
font-size:0;
}
#menu>li {
font-size:20px;
list-style:none;
display:inline-block;
text-transform:uppercase;
letter-spacing:3px;
font-family:raleway;
font-weight:400;
}
#menu>li>a {
padding:0 15px;
text-decoration:none;
color:white;
}
#menu>li>a:hover {
color:#f1a01e;
}
#information {
position:relative;
color:red;
}
您应该将图像设置为背景,并像这样将其设置为覆盖整个背景
html {
background: url(background.jpg) no-repeat center center fixed;
background-size: cover;
}
不要在 html 中使用 img 标签,而是将图像设置为“#forsidediv”或 "body" 标签 div 的背景具有以下内容:背景图像:url("paper.gif");然后让它有一个 属性 的 contain 或 strech 或任何你需要的。
这里的最佳做法是将图像设置为背景,并使用 background-size 属性 来覆盖整个屏幕。这是一个例子:
.image-container {
background: url('baggrund.jpg') center center/ cover no-repeat;
}
澄清为什么这只发生在某些计算机上,这是因为图像只拉伸到它的完整尺寸,但不会拉伸得更远。所以你的显示器很可能比你朋友的大。您需要添加 width: 100%
才能使图像继续拉伸超出其尺寸。
我的网站有一个非常奇怪的问题。背景图像不会覆盖整个页面,当我调整 window 大小时,它会创建大的白色部分。但是,它只发生在某些 PCs/laptops 上。几个朋友尝试了该网站并报告说他们在图像缩放方面没有问题,并且在调整 window.
大小时它一直覆盖整个页面然而,它是这样显示的:https://gyazo.com/04a679edfb7a442d09d6e7ce8b196cf9您可以随时自行查看该网站。
我真的希望有人能对发生的事情有所了解。此外,图片未保持其纵横比,而是在调整大小时缩放 in/out。
https://jsfiddle.net/dn3553pg/1/
HTML
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>onepageskiw</title>
<link href="styles.css" rel="stylesheet" type="text/css">
<script src="js.js"></script>
</head>
<body>
<div id="forsidediv">
<img id="forsidepic" src="baggrund.jpg">
<nav>
<ul id="menu">
<li><a href="#">Top</a></li>
<li><a href="#">Om Eventet</a></li>
<li><a href="#">Lokation</a></li>
<li><a href="#">Kontakt</a></li>
</ul>
</nav>
</div>
<div id="logodiv">
<img src="../design/logotop.png">
</div>
<div id="overskrift">
<h1>EVENTET STARTER OM</h1>
</div>
<div id="countdowner">
<table id="table">
<tr>
<div id="countdown">
<td id="id1"></td>
<td id="id2"></td>
<td id="id3"></td>
<td id="id4"></td>
</div>
<tr>
<tr>
<td class="timeLabel">DAGE</td>
<td class="timeLabel">TIMER</td>
<td class="timeLabel">MIN</td>
<td class="timeLabel">SEK</td>
</tr>
</tr>
</tr>
</table>
</div>
<div id="information">
<div>
<h2>Hvad skal der ske?</h2>
</div>
</div>
<script>
CountDownTimer('06/25/2016 10:00 AM', 'id');
function CountDownTimer(dt, id)
{
var end = new Date(dt);
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;
function showRemaining() {
var now = new Date();
var distance = end - now;
if (distance < 0) {
clearInterval(timer);
document.getElementById(id).innerHTML = 'EXPIRED!';
return;
}
var days = Math.floor(distance / _day);
var hours = Math.floor((distance % _day) / _hour);
var minutes = Math.floor((distance % _hour) / _minute);
var seconds = Math.floor((distance % _minute) / _second);
document.getElementById(id+"1").innerHTML = days;
document.getElementById(id+"2").innerHTML = hours;
document.getElementById(id+"3").innerHTML = minutes;
document.getElementById(id+"4").innerHTML = seconds;
}
timer = setInterval(showRemaining, 1000);
}
</script>
</body>
</html>
CSS
@charset "utf-8";
@import url(https://fonts.googleapis.com/css? family=Montserrat:400|Raleway:100,400|);
body {
margin:0;
}
#forsidediv {
position:fixed;
bottom:0;
}
#forsidepic {
width: 100%;
}
#logodiv {
position:absolute;
text-align:center;
padding-top:15%;
}
#logodiv>img {
width:15%;
}
h1 {
font-family:raleway;
font-weight:100;
position:absolute;
width:100%;
text-align:center;
color:white;
letter-spacing:11px;
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-230%);
font-size:2.5em;
}
#countdowner {
font-family:sans-serif;
color:white;
position:absolute;
margin:0;
padding:0;
width:100%;
font-size:2em;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-20%);
}
#id1 {
font-size:2.5em;
}
#id2 {
font-size:2.5em;
}
#id3 {
font-size:2.5em;
}
#id4 {
font-size:2.5em;
}
.timeLabel {
font-size:0.7em;
color:#f1a01e;
font-family:montserrat;
font-weight:700;
}
#table {
margin:0 auto;
text-align:center;
}
#table td{
padding:0px 45px;
}
#menu {
position:absolute;
padding:0;
width:100%;
bottom:0;
text-align:center;
}
#menu>ul {
font-size:0;
}
#menu>li {
font-size:20px;
list-style:none;
display:inline-block;
text-transform:uppercase;
letter-spacing:3px;
font-family:raleway;
font-weight:400;
}
#menu>li>a {
padding:0 15px;
text-decoration:none;
color:white;
}
#menu>li>a:hover {
color:#f1a01e;
}
#information {
position:relative;
color:red;
}
您应该将图像设置为背景,并像这样将其设置为覆盖整个背景
html {
background: url(background.jpg) no-repeat center center fixed;
background-size: cover;
}
不要在 html 中使用 img 标签,而是将图像设置为“#forsidediv”或 "body" 标签 div 的背景具有以下内容:背景图像:url("paper.gif");然后让它有一个 属性 的 contain 或 strech 或任何你需要的。
这里的最佳做法是将图像设置为背景,并使用 background-size 属性 来覆盖整个屏幕。这是一个例子:
.image-container {
background: url('baggrund.jpg') center center/ cover no-repeat;
}
澄清为什么这只发生在某些计算机上,这是因为图像只拉伸到它的完整尺寸,但不会拉伸得更远。所以你的显示器很可能比你朋友的大。您需要添加 width: 100%
才能使图像继续拉伸超出其尺寸。