CSS3 - (background-size:auto 100%;) - 意外行为

Sha*_*riq 1 css css3

我目前有以下CSS(称为splash.css):

html { 
    background:url(splash.jpg) center no-repeat;
    background-size:auto 100%;
}
Run Code Online (Sandbox Code Playgroud)

以下HTML:

<!DOCTYPE html>
<HTML>
    <HEAD>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
        <TITLE>Test</TITLE>
        <link href="splash.css" rel="stylesheet" type="text/css" media="screen" />
    </HEAD>
    <BODY>
    </BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)

我试图让名为splash.jpg的背景图像始终与浏览器窗口具有相同的高度,并调整其大小(保持其宽高比)并允许一些宽度保持在浏览器窗口之外.此外,背景必须以浏览器窗口为中心.

目前我希望我的CSS完全按照它应该做的去做.我将背景设置为水平和垂直对齐到中心,然后我将它设置为它应该是的图像.我还将背景大小设置为自动100% - 根据Mozilla开发者网络,它调整图像的大小就像我想要调整大小一样.

如果background-size有一个自动组件和一个非自动组件:如果图像具有固有比例,则使用指定的维度渲染它,并从指定的维度和内在比例计算另一个维度.如果图像没有固有比例,请使用该维度的指定维度.对于其他维度,如果有图像,则使用图像的相应内在维度.如果没有这样的内在尺寸,请使用背景定位区域的相应尺寸.

我面临的问题是,当我在浏览器窗口中打开HTML时,这个巨大的1920x1080图像的高度似乎只有50px左右.宽度似乎与高度成正比.

起初,我觉得它可能是某种依赖于浏览器的错误 - 但在Chrome和Firefox中,页面看起来几乎完全相同!

注 - 欢迎使用任何其他SIMPLE解决方案.我不希望此行为依赖于Javascript - 但我不介意该解决方案仅适用于最新版本的FF/Chrome.

Nie*_*sol 5

添加height: 100%;到您的html样式.