0

我想使用样式表在 html 页面上的 DIV 中设置背景图像。

我的css文件:

#MyDiv {
background-image: url('Images/prechod.png');
background-repeat: repeat-x;
height: 400px;
}

还有我的页面:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <link href="Css/StyleSheet1.css" rel="stylesheet" />
    <title></title>
</head>
<body>
    <div id="MyDiv">
    </div>
</body>
</html>

我也试过这个并且它有效。

<body>
    <div style="height: 400px; background-image: url('Images/prechod.png'); background-repeat: repeat-x">

    </div>
</body>

但我想把所有东西都放在 css 文件中。我希望它很简单,有人会帮助我。

4

3 回答 3

3

您的 css 文件中的路径是相对于 CSS 文件的位置的,而不是相对于 HTML 文件的。

您可能只需要相应地更改您的 CSS - 例如,如果您的 css 文件Css/StyleSheet1.css与 HTML 文件相关,只需将其更改为:

#MyDiv {
    background-image: url('../Images/prechod.png');
    background-repeat: repeat-x;
    height: 400px;
}

如果这不是路径问题,则很可能您有其他更高特异性的样式覆盖#myDiv您的 CSS 文件中的声明(例如类似body #myDiv { background: none }或类似的东西)。这可以解释为什么它作为内联样式工作(因为它们具有最高的特异性)而不是在您的样式表中。但是,基于您的路径一开始就不正确的事实,我怀疑这是罪魁祸首。

于 2013-11-07T14:43:43.583 回答
2
background-image: url('../Images/prechod.png');

必须相对于 css 设置路径

于 2013-11-07T14:42:59.190 回答
1

CSS 中的相对路径,然后在其中添加它们:

/**  CSS  **/
#MyDiv { url('../Images/prechod.png') repeat-x; height: 400px; }
于 2013-11-07T14:49:42.847 回答