CSS background-repeat:no-repeat;还在é‡å¤

时间:2014-03-09 18:27:02

标签: javascript jquery html css

我有......

    html, body {
    background-size: contain;
    background-repeat: no-repeat;
    }

作为我的CSS和我的HTML

<html>
<head> 
<title>Wut</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
    <div id="page">
    </div>
   <script type="text/javascript">
        var imgCount = 3;
        var dir = 'img/';
        var randomCount = Math.round(Math.random() * (imgCount - 1)) + 1;
        var images = new Array();
            images[1] = "1.png",
            images[2] = "2.png",
            images[3] = "3.png",
         document.body.style.background = "url(" + dir + images[randomCount] + ")";
    </script>
</body>

出于æŸç§åŽŸå› ï¼Œç”±JSéšæœºé€‰æ‹©çš„背景滚动,我ä¸æƒ³/需è¦å®ƒã€‚å¦å¤–作为æ—注:我设法让它在æŸä¸€ç‚¹åœæ­¢æ»šåŠ¨ä½†æ˜¯å½“我添加背景颜色时,一åŠçš„背景图åƒè¢«æŽ©ç›–了,你无法看到背景图åƒæœ¬èº«ã€‚

感谢您的帮助

4 个答案:

答案 0 :(得分:3)

之所以å‘生这ç§æƒ…况,是因为background是一个å¤åˆå±žæ€§ï¼Œå…¶ä¸­åŒ…å«background-color,background-image,background-repeat,background-position,background-attachment 。这æ„味ç€å½“您å•ç‹¬è®¾ç½®background而未指定background-repeat时,您åªéœ€è¦†ç›–以å‰å®šä¹‰çš„规则,它就会回退到默认值repeat。è¦ä¿®å¤å®ƒï¼Œä½ åº”该明确地æ供它:

document.body.style.background = "url(" + dir + images[randomCount] + ") no-repeat";

或设置background-image insted:

document.body.style.backgroundImage = "url(" + dir + images[randomCount] + ")";

答案 1 :(得分:1)

添加此行

document.body.style.backgroundRepeat="no-repeat";

或现有行的å¦ä¸€ç§æ–¹å¼æ›¿æ¢æ­¤

document.body.style.background = "url(" + dir + images[randomCount] + ") no-repeat";

HTML

<html>
  <head> 
   <title>Wut</title>
   <link href="style.css" rel="stylesheet" type="text/css">
  </head>

<body>
    <div id="page">
    </div>
   <script type="text/javascript">
        var imgCount = 3;
        var dir = 'img/';
        var randomCount = Math.round(Math.random() * (imgCount - 1)) + 1;
        var images = new Array();
            images[1] = "1.png",
            images[2] = "2.png",
            images[3] = "3.png",
         document.body.style.background = "url(" + dir + images[randomCount] + ")";
         document.body.style.backgroundRepeat="no-repeat";
    </script>
</body>

CSS无需定义

答案 2 :(得分:0)

因为您使用document.body.style.background覆盖整个背景样å¼ï¼ŒåŒ…括é‡å¤å±žæ€§ã€‚

使用document.body.style.backgroundImage进行更改。

JSFiddle

答案 3 :(得分:0)

é‡å¤çš„原因是您正在设置整个背景属性。这会覆盖任何细节,例如background-repeat。试试这一行:

document.body.style.background-image = "url(" + dir + images[randomCount] + ")"

而ä¸æ˜¯ä½ æ‹¥æœ‰çš„。