在CSS中,是否仅更改背景位置的Y值是可能的吗?

3

在CSS中,只改变背景位置的Y值是否可能?

background-position-y不是一个有效的解决方案。

6个回答

3
仅通过读取(使用JS)background-position的当前值(如果未在内联中设置,则使用计算样式方法),解析它以读取X值,然后再次使用刚刚检索到的X值进行设置。在CSS中无法说“从级联中获取背景位置X值,并从此处获取Y值”。

@Chev - 在CSS中没有办法说“从级联中取背景位置X值和从这里取Y值”。(我会将其添加到答案中) - Quentin

1

只需尝试此操作

background-position-y: 10px;

对我来说运行良好


1
根据caniuse.comthis SO Questionbackground-position-y现在已成为标准,并且在除旧版Firefox之外的所有浏览器中得到支持。

background-position-x/-y,background-repeat-x/-y已批准为背景和边框的第4级。


0
不,这是不可能的。虽然background-position只允许设置一个值,但这将仅定义x并使y居中。其他所有内容,如background-position-y在某些浏览器中仅受支持,因为它们是非标准的。

这是不正确的。Background-position 接受最多两个以空格分隔的值,可以是描述性坐标,例如 top center,相对单位,例如 50% 25% 或绝对单位,例如 50px 200px - Terry
@Terry,如果我表达不够清楚,对不起。我并没有说background-position只允许单独使用一个值,而是它“允许”只使用一个值。但正如我所说,这并不能解决原始问题。 - kremalicious

0

background-position-y: xpx 应该可以工作。

能否展示代码,以便我们看看为什么它可能无法工作?


1
@Lex - 这个问题明确排除了 background-position-y(可能是因为它是非标准的,并且对项目要求没有足够的浏览器支持)。 - Quentin

-1

使用 background-position:0px ypx;



那也会改变x的值 - 你正在将它设置为0像素; - Samuel Goldenbaum
但是0像素是默认值,据我所知他没有使用js。 - user1432124

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接