Css 两个图像组成一个div的背景?

Css 两个图像组成一个div的背景?,css,background,Css,Background,我需要在CSS中创建以下内容,并使其在IE7+上工作(如果可能的话,还有Firefox): 除了背景,一切都完成了 每次的报价都不一样,所以背景需要自动调整高度 它还需要自动调整到它所放置的容器的宽度。我的意思是梯度不能拉伸。背景需要是淡入左渐变,然后是背景颜色,然后是淡出右渐变 这是我当前的代码-: HTML <div id="ehs-quotecontainer"> <div id="ehs-bgleft"> </div> <

我需要在CSS中创建以下内容,并使其在IE7+上工作(如果可能的话,还有Firefox):

除了背景,一切都完成了

每次的报价都不一样,所以背景需要自动调整高度

它还需要自动调整到它所放置的容器的宽度。我的意思是梯度不能拉伸。背景需要是淡入左渐变,然后是背景颜色,然后是淡出右渐变

这是我当前的代码-

HTML

<div id="ehs-quotecontainer">
    <div id="ehs-bgleft">
    </div>
    <div id="ehs-bgright">
    </div>
    <div class="ehs-marks" id="ehs-marktop">                    
        “
    </div>
    <span class="ehs-quotetext">Once you believe anything, you stop thinking about it.</span>
    <div class="ehs-marks" id="ehs-markbottom">
        ”
    </div>
</div>

关于如何使背景正确工作有什么想法?

< P>你能创建一个单独的图像,中间的梯度会吗?如果是,您可以使用:

#ehs-quotecontainer {
    background: (YOUR_OUTER_EDGE_COLOR) url(../images/ehsbgMerged.jpg) repeat-y center center;
}
如果您已经定义了框的边缘(看起来您已经定义了),那么渐变图像将始终位于文本的中心


我应该补充一点,如果你的图像太窄,你的背景颜色会与图像的边缘混合,而不是分散在中间,这可能不是您想要的。

我不想这么说,但由于您将使用一个非常小的图像,您不想使用背景并插入具有背景的文本

因此,您将:

  • 您可以保持背景与引号的原样

  • 将文本插入到具有背景的文件中。最后你可以给文本一些填充。你准备好出发了


  • 最简单的方法是将整个报价
    定位为:relative
    ,这样就可以相对于报价容器定位其中的内容

    在这之后,你所要求的是相当容易做到的:

    类似这样的内容:

    身体{ 背景:url(http://i.stack.imgur.com/VeMeV.png)不重复8px 8px; 保证金:71px 8px 8px; } .引用{ 边框:1px实心#dfdfdf; 位置:相对位置; 填充:8px 35px; } 引用 p{ 保证金:0; 字体:斜体12px无衬线; 文本对齐:居中; 位置:相对位置; z指数:1; } .quote.w, .quote.e{ 位置:绝对位置; 排名:0; 宽度:75px; 身高:100%; 背景图片:url(http://img526.imageshack.us/img526/1796/gradientj.png); 背景重复:重复-y; } .quote.w{左:0;背景位置:-75px 0;} .quote.e{右侧:0;背景位置:0;} 引用 跨度{ 颜色:#898a8e; 字体:70px/70px allerta,衬线; 位置:绝对位置; } 引用 白雪公主{ 左:-35px; 顶部:-15px; } 引用 rdquo{ 右:-35px; 底部:-42px; } “没有任何任务是如此重要或紧迫以至于不能安全地完成。”


    @Alex您可以在JSFIDLE或其他地方设置演示吗?对于初学者,您希望标记更像这样:“没有任务是如此重要或紧急以至于无法安全完成。”

    您应该指定您关心的浏览器。@Šime Vidas:现在在JSFIDLE上设置。谢谢你的邀请suggestion@reisio:CSS对我来说是相当新的,所以谢谢你的提示。我已经更新了提问浏览器和JSFIDLE链接。@reisio,这不是语义标记。您应该在
    blockquote
    q
    元素中包装报价。如果您必须在报价单中添加额外的元素,那么可能应该通过JavaScript来完成。仅仅为了调整样式而弄乱标记总是一个坏主意。不幸的是,客户要求渐变看起来像截图。不允许伸展。否则这就容易多了!这是一个有趣的观点。问题是边缘没有定义,并且可能比梯度图像更宽。我可能需要将它们固定到一定的宽度。我同意David的答案b/c,这对我帮助最大,但对你的答案投了更高的票,因为它教会了我使用
    p
    的重要性,以及一种可以实现这一点的替代方法。他们使用相同的方法,实际上,这一种方法只是具有更好的标记,在IE7中工作,一般来说,由于引用的是web字体,所以浏览器之间的惊喜应该会少一些。
    #ehs-quotecontainer {
        background: (YOUR_OUTER_EDGE_COLOR) url(../images/ehsbgMerged.jpg) repeat-y center center;
    }
    
    <!doctype html> <html> <head> <title></title> <link href='http://fonts.googleapis.com/css?family=Allerta' rel='stylesheet'> <style> body { background: url(http://i.stack.imgur.com/VeMeV.png) no-repeat 8px 8px; margin: 71px 8px 8px; } .quote { border: 1px solid #dfdfdf; position: relative; padding: 8px 35px; } .quote p { margin: 0; font: italic 12px sans-serif; text-align: center; position: relative; z-index: 1; } .quote .w, .quote .e { position: absolute; top: 0; width: 75px; height: 100%; background-image: url(http://img526.imageshack.us/img526/1796/gradientj.png); background-repeat: repeat-y; } .quote .w { left: 0; background-position: -75px 0; } .quote .e { right: 0; background-position: 0 0; } .quote span { color: #898a8e; font: 70px/70px allerta, serif; position: absolute; } .quote .ldquo { left: -35px; top: -15px; } .quote .rdquo { right: -35px; bottom: -42px; } </style> </head> <body> <div style="width: 209px;"> <div class="quote"> <p><span class="ldquo">“</span>No task is so important or urgent that it cannot be done safely.<span class="rdquo">”</span></p> <div class="w"></div> <div class="e"></div> </div> </div> </body> </html>