• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:こんばんは。)

コーディングで上手く表示させるための方法

このQ&Aのポイント
  • コーディングで上手く表示させるための方法について相談です。
  • i-Tunesの楽曲リストのような表示をcss+javascriptで実装したいです。
  • マウスオーバー時の背景画像の変更やボタン画像の変更について教えてください。

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

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

ちょっと時間が取れたので・・ HTML部分は簡単に <ol> <li> <span><a href="title1.html">曲名1</a></span> <span><a href="amlbam1.html">アルバム1</a></span> <span>5min</span><span>\1</span> <span><a href="a1.html">→</a></span> </li> ・・・ </ol> として、CSSで・・画像がない場合は、list-style-typeは数字→小文字に変わる。 ★Another HTML-lint gateway ( http://openlab.ring.gr.jp/k16/htmllint/htmllint.html ) ★W3C CSS 検証サービス ( http://jigsaw.w3.org/css-validator/#validate_by_input ) で検証済み ★tableの方が楽かも・・・  IEはパグのためlistナンバーが1になる。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> <title>サンプル</title> <meta http-equiv="Content-Style-Type" content="text/css"> <link rev="made" href="mailto:hoge@hoge.com" title="send a mail" > <link rel="START" href="../index.html"> <style type="text/css"> <!-- html,body{ margin:0px;padding:0px;background-color:rgb(200,200,200); } body>div{ width:60%;min-width:600px;max-width:900px; margin-left:auto;margin-right:auto; background-color:white;padding:10px;border:none;} p{text-indent:1em;} div.priceList ol{display:block;padding:0px; width:510px;margin-right:auto;margin-left:auto;} div.priceList ol li{width:500px;padding:left:5px; margin-left:0px;border-style:ridge;border-width: 1px 0px; border-color: blue;list-style-position:inside; } div.priceList ol li>span{width:160px;display:inline-block; border-style:solid;border-width:0px 0px 0px 1px; padding-left:5px; } div.priceList ol li>span+span+span{width:30px;} div.priceList ol li>span+span+span +span{ width:10px;text-align:center; } div.priceList ol li:hover{ background-color: rgb(200,200,255);list-style-type:lower-alpha; list-style-image: url("image/ellipse.png") } --> </style> </head> <body> <div class="priceList"> <h1>サンプル</h1> <p>価格リスト</p> <ol> <li> <span><a href="title1.html">曲名1</a></span> <span><a href="amlbam1.html">アルバム1</a></span> <span>5min</span><span>\1</span> <span><a href="a1.html">→</a></span> </li> <li> <span><a href="title2.html">曲名2</a></span> <span><a href="amlbam2.html">アルバム2</a></span> <span>5min</span><span>\1</span> <span><a href="a1.html">→</a></span> </li> <li> <span><a href="title3.html">曲名3</a></span> <span><a href="amlbam3.html">アルバム3</a></span> <span>5min</span><span>\1</span> <span><a href="a1.html">→</a></span> </li> </ol> </div> </body> </html>

gonzou123
質問者

お礼

ご連絡遅くなり、すいません。 無事にコーディングすることが出来ました!! ありがとうございました。

その他の回答 (1)

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

私はi-Tunesを持っていないので、そのリストを見てはいませんが、どう見てもマークアップが適切ではないように思われます。  この場合は、listでマークアップしてもよいでしょうが、tab;eの方が適切なマークアップでしょう。  CSS(Cascading Style Sheets)もせっかくのCascading(継承)を利用しないから、同じ宣言を繰り返し指定するというおかしなことになっている。(たとえばposition:relative;とかheightとか・・)。継承するものは継承させると一度宣言したら重複記述してはだめです。そのため、とてつもなく煩雑で巨大になっている。その数分の一で済むはずです。 リストなら、 <ol class="menue">  <li>   <object ****>play</object>    <span class="artist"><a href="**">曲名</a></span>    <span class="alubam"><a href="****">アルバム</a></span>    <span class="time">5min</span>    <span class="plice">\1</span>    <span class="byI-Tunes"><a href=""><img src="" alt="" /></a></span>   </li>  <li>以下同様</li> </ol> CSSは、 ol.menue{} ol.menue li:hover{} ol.menue li object{display:none;} ol.menue li:hover oblect{display:inline;} ol.menue li span.artist{display:inline-block; width:***;} ・・・・とかで済むでしょう。 spanにいちいちclassをつけなくても、隣接セレクタで指定して、詳細度で上書きするほうがスマートでHTMLもシンプルになるが、ブラウザの対応状況からここではclassで指定してある。

関連するQ&A