将-moz-available和-webkit-fill-available放在一个宽度中(css属性)


70

我想使页脚的宽度与浏览器无关。

对于Mozilla,我想使用的值-moz-available,并且当用户使用Opera时,CSS应该从中获取值-webkit-fill-available

如何在CSS3中做到这一点?

我试图做这样的事情:

width: -moz-available, -webkit-fill-available;

这不会产生预期的结果。


1
只需将两个属性定义为单独的宽度声明即可。
Paulie_D 2014年


我这样做:width:-moz-available; 宽度:-webkit-fill-available;结果是不需要的。
朱利安2014年

2
width: -moz-available; width: -webkit-fill-available;浏览器将忽略它不理解的声明。
Paulie_D 2014年

1
太奇怪了……我第二次尝试了,现在可以了。嗯,我想CSS有时会逗我玩。
朱利安

Answers:


156

CSS会跳过它不了解的样式声明。基于Mozilla的浏览器将无法理解-webkit前缀声明,而基于WebKit的浏览器将无法理解-moz前缀声明。

因此,我们可以简单地声明width两次:

elem {
    width: 100%;
    width: -moz-available;          /* WebKit-based browsers will ignore this. */
    width: -webkit-fill-available;  /* Mozilla-based browsers will ignore this. */
    width: fill-available;
}

width: 100%一开始宣布将通过忽略两种浏览器上使用-moz,并-webkit-prefixed声明或不支持-moz-available-webkit-fill-available


7
我不想问,但是IE是否也具有此填充可用属性?
朱利安2014年

7
@Julian根据我可以使用...,不,它不是:caniuse.com/#feat=intrinsic-width。IE将此列为“正在建设中”:status.modern.ie/cssintrinsicsizing
James Donnelly 2014年

8
fill-availablestretch根据最近的规范更改而更改为。
user3631047

您可以链接到该规范吗?
mix3d

@ user3631047请链接到规范
Ismail
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.