為什麼background-size:cover不能實現背景全屏

antzone發表於2017-04-04

關於background-size屬性的基本用法可以參閱background-size一章節。

有時候可能會發現使用background-size:cover來實現背景圖全屏效果沒法實現,下面就就來介紹一下出現此問題的一個可能原因(原因可能有多種)和解決方案。先看一段程式碼例項:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style type="text/css">
* {
  margin:0px;
  padding:0px;
}
body{
  background-image: url(demo/CSS/img/bodybg.png);
  background-size:cover;
  background-repeat: no-repeat;
}
</style>
</head>
<body>
 
</body>
</html>

上面的程式碼,如果調整瀏覽器的視窗大小,就會出現非全屏效果。

因為這個時候body並沒有高度,所以一切皆有可能,程式碼修改如下:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style type="text/css">
* {
  margin:0px;
  padding:0px;
}
html, body {
  height:100%;
}
body{
  background-image: url(demo/CSS/img/bodybg.png);
  background-size:cover;
  background-repeat: no-repeat;
}
</style>
</head>
<body>
 
</body>
</html>

上面的程式碼和第一段程式碼相比,新增如下程式碼:

[JavaScript] 純文字檢視 複製程式碼
html, body {
  height:100%;
}

上面的程式碼可以實現body的尺寸能夠實現滿屏,這樣就實現了背景圖全屏效果。

相關文章