【问题标题】:Is it possible to change only the Y value of background position in CSS?是否可以仅更改 CSS 中背景位置的 Y 值?
【发布时间】:2012-06-18 15:17:37
【问题描述】:

是否可以只更改 CSS 中背景位置的 Y 值?

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

【问题讨论】:

    标签: html css


    【解决方案1】:

    仅通过读取(使用 JS)background-position 的当前值(如果未内联设置,则使用计算样式方法),解析它以读取 X 值,然后使用您刚刚设置的 X 值再次设置它已取回。

    在 CSS 中没有办法说“从级联中获取背景位置 X 值和从 this 中获取 Y 值”。

    【讨论】:

    • @Chev — 在 CSS 中没有办法说“从级联中获取背景位置 X 值和从这里获取 Y 值”。 (我会将其添加到答案中)
    【解决方案2】:

    试试这个

    background-position-y: 10px;
    

    对我来说很好用

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 这是不正确的。背景位置最多接受两个空格分隔的值,可以是描述性坐标,例如top center,相对单位,例如50% 25% 或绝对单位,例如50px 200px
      • @Terry 抱歉,如果我写得不够清楚,但我没有说 background-position 只允许单独使用 1 个值,但它只允许使用 1 个值。但正如我所说,这并不能解决最初的问题。
      【解决方案4】:

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

      您能否显示代码,让我们看看为什么它可能无法正常工作?

      【讨论】:

      • @Lex — 该问题明确排除了background-position-y(可能是因为它是非标准的并且没有足够的浏览器支持来满足项目要求)。
      【解决方案5】:

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

      background-position-x/-y, background-repeat-x/-y 批准用于第 4 级背景和边框。

      【讨论】:

        【解决方案6】:

        使用background-position:0px ypx;

        【讨论】:

        • 这也会改变 x 值 - 你将它设置为 0px;
        • 但 0px 是默认值,AFAIK 他没有使用 js
        猜你喜欢
        • 1970-01-01
        • 2015-06-11
        • 1970-01-01
        • 2012-06-18
        • 1970-01-01
        • 2013-11-09
        • 2011-06-21
        • 1970-01-01
        • 2021-06-30
        相关资源
        最近更新 更多