• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CSSで背景画像をランダムに表示させたいのですが)

CSSで背景画像をランダムに表示する方法

このQ&Aのポイント
  • CSSを使用して特定の要素の背景画像をランダムに表示させる方法について説明します。
  • 具体的な対応方法として、JavaScriptで要素にランダムなクラスを割り当て、そのクラスに対応する背景画像を設定する方法があります。
  • また、スタイルシート内でランダムな数値を生成し、それに基づいて背景画像を設定する方法もあります。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

変更する対象が異なるだけで、要領は同じです。 参考まで。 <html> <style type="text/css"> .main { background-image:url(/image/top_bg01.jpg); } </style> <script type="text/javascript"> window.onload = function(){ //var url = "a.jpg,b.jpg,c.jpg".split(','); var url=[]; url[0] = 'top_bg01.jpg'; url[1] = 'top_bg02.jpg'; url[2] = 'top_bg03.jpg'; var n = Math.floor(Math.random() * url.length); var elm = document.getElementById('main'); elm.style.backgroundImage = 'url(/image/' + url[n] + ')'; } </script> <body> <div class="main" id="main"> コンテンツ </div> </body> </html>

speedofhiro
質問者

お礼

やってみたのですが、うまく出来ませんでした・・・。 参考を作って頂いたのに、申し訳ないです。 ありがとうございます。

speedofhiro
質問者

補足

動きました。 id="main"を忘れてました。 ありがとうございます!! 嬉しいです!

その他の回答 (2)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

 HTMLもCSSも触らず、また、訪問者側の環境に依存するjavascriptも使わずにできます。PHPでも可能ですが、乱数発生とかややこしいので、CGIを別途おきましょう。  月ごとに変えるものは作ったことがあるのですが、ちょっと応用が利くものを思案中。

speedofhiro
質問者

補足

なるほど!CGIは全く頭にありませんでした。 どんな感じのCGIが簡単に使えるでしょうか?

noname#100277
noname#100277
回答No.2

CSSでは無理です。 Javascriptで実行します。 検索すれば出ますよ。 Javascript ランダム表示

関連するQ&A