CSS背景速记属性不适用于background-size

时间:2014-07-10 16:51:50

标签: css css3

当我尝试将几行CSS组合成一个背景图像时,将其组合成一个:

background: url("img/background.jpg") cover no-repeat;

它不起作用;但是,当我移动封面并且不重复自己的线条时

background: url("img/background.jpg");
background-size: cover;
background-repeat: no-repeat;

图像效果很好。什么是错误的任何提示或想法?我经常注意到填充和边距等问题。

4 个答案:

答案 0 :(得分:9)

background简写要求您还设置background-position以设置background-size。您可以在spec中找到background速记的语法,但简而言之,这两个属性的语法是

<bg-position> [ / <bg-size> ]

表示&#34; background-position,可选地后跟正斜杠,然后background-size&#34; (通常的可选空格规则适用)

如果您不需要将background-position更改为其他值,则初始值为0 0(两个轴均为零):

background: url("img/background.jpg") 0 0 / cover no-repeat;

答案 1 :(得分:5)

background-size不应包含在background中,因为浏览器无法识别它。

答案 2 :(得分:1)

如果您想要使用单个值关键字(顶部,左侧等)并让未写入的关键字默认为居中,则无法以速记方式工作。您需要指定两个关键字值。

background: url("image.jpg");
background-position: left;
background-size: cover;

简而言之,您必须指定两个值..

background: url("image.jpg") left center / cover;

或两个中心..

background: url("image.jpg");
background-position: center;
background-size: cover;

background: url("image.jpg") center center / cover;

答案 3 :(得分:0)

我将其用作徽标

background: url('img/logo.png') center center / contain no-repeat;

而且效果很好。