如何为vh vw写css后备

use*_*351 23 css fallback css3 viewport-units

任何人都可以解释回退如何在CSS中工作?我试图为vh和vw设置它,显然我没有得到它...

这是我尝试的解决方案,但不起作用.每次都会获取高度属性.

CSS:

-webkit-height: 5.2vh;
-moz-height: 5.2vh;
-ms-height: 5.2vh;
-o-height: 5.2vh;
height: 41px; /* The Fallback */
Run Code Online (Sandbox Code Playgroud)

Haw*_*ves 58

你的代码(以及为什么它不起作用)

看看你的原始代码,我有几条评论:

-webkit-height: 5.2vh;
-moz-height: 5.2vh;
-ms-height: 5.2vh;
-o-height: 5.2vh;
height: 41px;  /* The Fallback */
Run Code Online (Sandbox Code Playgroud)

前缀,该-webkit-位,只适用,如果有一个前缀属性这个名字.高度没有前缀属性,因此浏览器只是忽略这些声明.

(提示:您可以检查MDN之类的内容以查看存在哪些属性.)

解:

在这种情况下,我们可以利用以下事实:如果浏览器遇到他们不理解的属性或值,他们会忽略它并继续前进.所以,你要找的是:

height: 41px;
height: 5.2vh;
Run Code Online (Sandbox Code Playgroud)

浏览器看到了height: 41px,如预期的那样.它会解析它,并知道如何处理它.然后,它看到了height: 5.2vh.如果浏览器理解该vh单元,它将使用它而不是41px,就像color: blue; color: red;最终会变成红色一样.如果它不理解该vh单元,它将忽略它,并且,因为我们首先定义了回退,所以浏览器忽略该vh单元并不重要.

合理?

  • 请删除你的答案的第一部分,或在其前面添加"你的代码",因为它第一眼就看起来像第一个代码片段是接受的答案.令我困惑的是px"The Fallback"应该在vh之前,正如你在后面的答案中所描述的那样. (15认同)
  • 我只是在通过我的个人资料统计后才意识到即使你喜欢这个编辑,它也完全被其他人拒绝为"这个编辑不会使帖子更容易阅读,更容易找到,更准确或更多无障碍.变化要么完全是多余的,要么是主动损害可读性.并且`他的编辑旨在解决帖子的作者并且没有任何意义作为编辑.它应该被写成评论或答案.叹息,不能赢得我们可以:P为自己的选票投票. (2认同)

ram*_*esh 15

将你的跌倒放在你的其他价值之上.如果覆盖值不适用于浏览器,则使用第一个值.

 height: 41px;  /* The Fallback */
height: 5.2vh;
Run Code Online (Sandbox Code Playgroud)


Dai*_*Dai 6

属性-moz-height,-webkit-height,-o-height,和-ms-height是无效的扩展属性,他们没有任何的UA实现的定义.

你获得height: 41px的胜利价值因为-webkit-height(在Chrome或Safari中)根本没有被识别,但是height: 41px.

你会想要用这个:

height: 41px;    
height: 5.2vh;
Run Code Online (Sandbox Code Playgroud)

...使用此代码,浏览器将首先识别height: 41px,然后如果他们认识height: 52.vh到将被应用,否则他们将恢复到最后的"好"值:41px.