【问题标题】:Background image stretch y-axis only, keep repeat-x背景图片仅拉伸y轴,保持repeat-x
【发布时间】:2013-02-16 03:11:44
【问题描述】:

我将图像设置为 div 的背景图像。 DIV 大小正在变化,它们内部是渐变的图像。

CSS:

#scroller_shadow{
    background-image:url(../img/ui/shadow.png);
    background-repeat:repeat-x;   
    background-position:top;
}

我需要一个跨浏览器解决方案来使图像仅在 y 轴上适合 div 的高度,同时保持重复 x。 DIV 正在通过 JQuery 动态调整大小。

它们可能是使用 JQuery 的跨浏览器选项。我不介意使用脚本来实现这一点以获得跨浏览器支持(IE7+)。我不想拉伸图像,因为当您在 x 轴上拉伸图像时,它会失去强度,使半透明的 png 图像几乎透明。

谢谢。

【问题讨论】:

    标签: css cross-browser background-image


    【解决方案1】:

    我也有这个问题。在大多数浏览器中这很容易,但在 IE8 及以下浏览器中却很棘手。

    现代(非 IE8 及以下)浏览器的解决方案:

    #scroller_shadow {
        background: url(../img/ui/shadow.png) center repeat-x;
        background-size: auto 100%;
    }
    

    有一些 jQuery 插件可以模拟 IE8 及以下版本的背景大小,特别是 backgroundSize.js,但如果你想让它重复,它就不起作用。

    无论如何,我的可怕黑客攻击就这样开始了:

    <div id="scroller_shadow">
        <div id="scroller_shadow_tile">
            <img src="./img/ui/shadow.png" alt="" >
            <img src="./img/ui/shadow.png" alt="" >
            <img src="./img/ui/shadow.png" alt="" >
            ...
            <img src="./img/ui/shadow.png" alt="" >
        </div>
    </div>
    

    确保包含足够的&lt;img&gt; 以覆盖所需区域。

    CSS:

    #scroller_shadow {
        width: 500px; /* whatever your width is */
        height: 100px; /* whatever your height is */
        overflow: hidden;
    }
    
    #scroller_shadow_tile {
        /* Something sufficiently large, you only to make it unreasonably wide if the width of the parent is dynamic. */
        width: 9999px;
        height: 100%;
    }
    
    #scroller_shadow_tile img {
        height: 100%;
        float: left;
        width: auto;
    }
    

    无论如何,我们的想法是从图像中创建拉伸效果。

    JSFiddle.

    【讨论】:

    • 我必须将其更改为 background: url(../img/ui/shadow.png) center repeat-x fixed 才能使其正常工作。
    • background-size: auto 100%; 在 safari 中似乎不起作用:(
    【解决方案2】:
    background-position: left top;
    background-repeat-y: repeat;
    background-size: 100%;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多