メニューはタブを使って表示する

前回はメインコンテンツの「お知らせ」を制作しましたので今回は「メニュー」を仕上げていきます。ちょっとコードが長いですが単純に商品の量が多いだけです(笑)。

ここでは「タブメニュー」というものを使っています。今回のように情報が多い時などはすべての情報を見せるのではなく、ボタンをクリックして情報を切り替える方法がオススメです。

こちらの「デモサイト」から実際のページを確認して頂けます。

タイトルとテキスト部分をHTMLで構築する

まずはメニュー全体の骨組みを作って、上部に表示しているタイトルと画像を背景としているテキスト部分のコードを見ていきます。

index.html

                	
  1. <section id="menu">
  2.   <div class="inner">
  3.     <div class="title">
  4.       <h2>メニュー</h2>
  5.     </div>
  6.     <div class="menuMain">
  7.       <div class="menuMainInner">
  8.         <div class="menuMainBox">
  9.           <h3>落ち着いた空間、<br>スパイスの香るカレーと<br>美味しいチャイで<br>リラックスしませんか?</h3>
  10.           <p>サラッとしたスパイシーなカレーに四季折々の美味しい野菜を使用しています。たっぷりと加えたカルダモンの香りをお楽しみください。</p>
  11.         </div>
  12.       </div>
  13.     </div>
  14.   </div>
  15. </section>

今回は画像の数が少ないかわりにひとつの画像のサイズを大きくしてインパクトのあるデザインにしています。

横幅いっぱいの画像を背景にして、その上に透け感のある白いボックスを配置します。そこにお客さんの興味を惹くようなセールスポイントなどを記述する方法です。

少しずつHTMLに慣れてきましたでしょうか?「画像を背景にして~」と言ってるのにimgタグがないですね。はい、ここの画像はCSSで指定していきます。

テキストを表示するにしてもちょっとしたコツがあります。例えば同じ文字の大きさで淡々と書かれた文章を見るとサラッと読んであまり印象に残らなかったりするもんです。

文字は大きさや太さでコントラストを付けてやると言いたい事がハッキリと伝わります。さらに端的な文章でパッと読める長さが良いですね。ここで興味を持ってもらえればあとの文章も読んでくれるはずです。

背景で使っている画像はこちらからダウンロードできます。→「メニュー背景画像のダウンロード

竹馬

画像が少ないなら少ない画像で出来るだけインパクトのある形にするコトが大事です。今回は一部分だけ画像を背景にしていますが、メニュー全体の背景を画像にしても良いですね。

タイトルとテキスト部分をCSSで調整する

では先ほどhtmlファイルで記述したタイトルと画像を背景としているテキスト部分のデザインを整えていきます。

style.css

                	
  1. /* ------ menu ------ */
  2. #menu {
  3.   padding-top: 80px;
  4.   margin-top: -80px
  5. }
  6. #menu .inner {
  7.   text-align: center;
  8.   padding: 80px 0
  9. }
  10. #menu h2 {
  11.   font-size: 2.4rem;
  12.   letter-spacing: 0.09em
  13. }
  14. #menu .menuMain {
  15.   width: 100%;
  16.   height: 480px;
  17.   margin-top: 60px;
  18.   background: url("../img/menu_main.jpg") no-repeat;
  19.   background-size: cover
  20. }
  21. #menu .menuMainInner {
  22.   width: 1200px;
  23.   margin: 0 auto;
  24.   position: relative
  25. }
  26. #menu .menuMainBox {
  27.   width: 500px;
  28.   height: 480px;
  29.   text-align: left;
  30.   padding: 80px;
  31.   background: rgba(255,255,255,0.7);
  32.   position: absolute;
  33.   top: 0;
  34.   right: 40px
  35. }
  36. #menu .menuMainBox h3 {
  37.   font-size: 2.8rem;
  38.   letter-spacing: 0.09em
  39. }
  40. #menu .menuMainBox p {
  41.   font-size: 1.6rem;
  42.   letter-spacing: 0.09em;
  43.   margin-top: 30px
  44. }
  45. @media screen and (max-width: 768px) {
  46.   #menu {
  47.     padding-top: 60px;
  48.     margin-top: -60px
  49.   }
  50.   #menu .inner {
  51.     text-align: center;
  52.     padding: 60px 0 20px
  53.   }
  54.   #menu h2 { font-size: 2rem }
  55.   #menu .menuMain {
  56.     height: 400px;
  57.     background: url("../img/menu_main.jpg") center center no-repeat
  58.   }
  59.   #menu .menuMainInner {
  60.     width: 100%;
  61.     padding: 0 4%
  62.   }
  63.   #menu .menuMainBox {
  64.     width: 90%;
  65.     height: 400px;
  66.     padding: 60px 40px;
  67.     margin: auto;
  68.     position: absolute;
  69.     top: 0;
  70.     right: 0;
  71.     left: 0
  72.   }
  73.   #menu .menuMainBox h3 { font-size: 2rem }
  74.   #menu .menuMainBox p { margin-top: 20px }
  75. }

こちらの「メニュー」も「お知らせ」と同じくページ内リンクを設置していますので、「menu」のidに「padding-top:80px;」と「margin-top:-80px;」を設定しています。

デザイン的には特に難しいところはないですが、背景色についてちょっとお話します。背景色は「background-color」というプロパティを使うんですが、僕は「background」のみを使っています。

CSSで指定する際は「background-color:red;」でも「background:red;」でも、どちらも背景色は赤色に設定できます。

「background-color」は背景色しか指定できないですが、「background」を使うと背景色・背景画像・背景画像のリピート表示・背景画像の位置…などをまとめて指定する事ができます。

例えば「menuMain」のクラス名の付いたdivはbackgroundの指定が「url(“../img/menu_main.jpg”) no-repeat」となっています。

これは1つのbackgroundで「background-image」と「background-repeat」の2つのプロパティを設定しているという事です。

竹馬

背景色を白色に設定するには、英語表記の「white」、16進数の「#fff」もしくは「#ffffff」に加え、透明度の指定もできる「rgba(255,255,255,1)」のパターンがあります。

タブメニューの「ランチ」をHTMLで構築する

次からはタグを使ってメニュー一覧を記述していきます。タグはjQueryを使うものもありますが今回はCSSのみで実装しています。

index.html

                	
  1. <section id="menu">
  2.   <div class="inner">
  3.     ~「.title」の記述省略~
  4.     ~「.menuMain」の記述省略~
  5.     <div class="menuWrap">
  6.       <input id="lunch" type="radio" name="tabItem" checked>
  7.       <label class="tabItem" for="lunch">ランチ</label>
  8.       <input id="dinner" type="radio" name="tabItem">
  9.       <label class="tabItem" for="dinner">ディナー</label>
  10.       <input id="drink" type="radio" name="tabItem">
  11.       <label class="tabItem" for="drink">ドリンク</label>
  12.       <div class="tabContent" id="lunchContent">
  13.         <div class="menuTop cf">
  14.           <div class="imageWrap">
  15.             <img src="./img/menu_lunch.jpg" alt="いやしのカレー サンプルのランチメニュー">
  16.           </div>
  17.           <div class="listWrap">
  18.             <h3>ランチセット</h3>
  19.             <dl>
  20.               <dt>チキンカレー</dt>
  21.               <dd>800円<span>(税込)</span></dd>
  22.             </dl>
  23.             <dl>
  24.               <dt>キーマカレー</dt>
  25.               <dd>800円<span>(税込)</span></dd>
  26.             </dl>
  27.             <dl>
  28.               <dt>季節の野菜カレー</dt>
  29.               <dd>800円<span>(税込)</span></dd>
  30.             </dl>
  31.             <dl>
  32.               <dt>グリーンカレー</dt>
  33.               <dd>850円<span>(税込)</span></dd>
  34.             </dl>
  35.             <dl>
  36.               <dt>マッサマンカレー</dt>
  37.               <dd>850円<span>(税込)</span></dd>
  38.             </dl>
  39.             <p>※ランチセットにはチャイもしくはラッシーが付きます。</p>
  40.           </div>
  41.         </div>
  42.       </div>
  43.     </div>
  44.   </div>
  45. </section>

ここからはコードが長くなりますので、わかりにくかったら商品を削ってもらっても良いです(笑)。

タグメニューの仕様をザックリと説明すると、まずは「ランチ」「ディナー」「ドリンク」を表示している「tabContent」のクラス名が付いたdivを非表示にします。

そして「input」タグを「type=”radio”」としてラジオボタンにし、チェックされたラジオボタンに連動する要素を切り替えています。はじめは「#lunch」のinputに「checked」を付けてランチメニューを表示している状態です。

CSSのみでタグメニューを実装する場合は、このinputタグを使用してそれぞれの要素をCSSで紐付けする必要があります。

慣れていないとちょっと複雑なので手が出ないという方もおられるかも知れませんが、タグメニューは色んなところで使えますので覚えておいて損はないです。しかもこれはjQueryも必要ないのでオススメです。

ランチメニューで使っている画像はこちらからダウンロードできます。→「ランチ画像のダウンロード

竹馬

さらにinputタグはlabelタグとも連動しています。そのままのラジオボタンは表示したくないのでinputタグは非表示にし、labelタグをデザインして画面上に表示しています。

タブメニューの「ディナー」をHTMLで構築する

同じくタグメニューの「ディナー」部分の記述を見ていきます。

index.html

                	
  1. <section id="menu">
  2.   <div class="inner">
  3.     ~「.title」の記述省略~
  4.     ~「.menuMain」の記述省略~
  5.     <div class="menuWrap">
  6.       <input id="lunch" type="radio" name="tabItem" checked>
  7.       <label class="tabItem" for="lunch">ランチ</label>
  8.       <input id="dinner" type="radio" name="tabItem">
  9.       <label class="tabItem" for="dinner">ディナー</label>
  10.       <input id="drink" type="radio" name="tabItem">
  11.       <label class="tabItem" for="drink">ドリンク</label>
  12.       ~ランチメニューの記述省略~
  13.       <div class="tabContent" id="dinnerContent">
  14.         <div class="menuTop cf">
  15.           <div class="imageWrap">
  16.             <img src="./img/menu_dinner.jpg" alt="いやしのカレー サンプルのディナーメニュー">
  17.           </div>
  18.           <div class="listWrap">
  19.             <h3>カレー</h3>
  20.             <dl>
  21.               <dt>チキンカレー</dt>
  22.               <dd>800円<span>(税込)</span></dd>
  23.             </dl>
  24.             <dl>
  25.               <dt>キーマカレー</dt>
  26.               <dd>800円<span>(税込)</span></dd>
  27.             </dl>
  28.             <dl>
  29.               <dt>季節の野菜カレー</dt>
  30.               <dd>800円<span>(税込)</span></dd>
  31.             </dl>
  32.             <dl>
  33.               <dt>グリーンカレー</dt>
  34.               <dd>850円<span>(税込)</span></dd>
  35.             </dl>
  36.             <dl>
  37.               <dt>マッサマンカレー</dt>
  38.               <dd>850円<span>(税込)</span></dd>
  39.             </dl>
  40.             <dl>
  41.               <dt>ライス / ナン</dt>
  42.               <dd>300円<span>(税込)</span></dd>
  43.             </dl>
  44.           </div>
  45.         </div>
  46.         <div class="menuBottom">
  47.           <div class="listWrap">
  48.             <h3>一品</h3>
  49.             <dl>
  50.               <dt>豚肉の串焼き</dt>
  51.               <dd>700円<span>(税込)</span></dd>
  52.             </dl>
  53.             <dl>
  54.               <dt>タンドリーチキン</dt>
  55.               <dd>750円<span>(税込)</span></dd>
  56.             </dl>
  57.             <dl>
  58.               <dt>鶏肉とカシューナッツ炒め</dt>
  59.               <dd>800円<span>(税込)</span></dd>
  60.             </dl>
  61.             <dl>
  62.               <dt>シーフードのニンニク炒め</dt>
  63.               <dd>800円<span>(税込)</span></dd>
  64.             </dl>
  65.             <dl>
  66.               <dt>空芯菜炒め</dt>
  67.               <dd>800円<span>(税込)</span></dd>
  68.             </dl>
  69.             <dl>
  70.               <dt>生春巻き</dt>
  71.               <dd>850円<span>(税込)</span></dd>
  72.             </dl>
  73.             <dl>
  74.               <dt>青パパイヤのサラダ</dt>
  75.               <dd>800円<span>(税込)</span></dd>
  76.             </dl>
  77.             <dl>
  78.               <dt>春雨と海老のサラダ</dt>
  79.               <dd>800円<span>(税込)</span></dd>
  80.             </dl>
  81.           </div>
  82.           <div class="listWrap">>
  83.             <h3>麺類</h3>
  84.             <dl>
  85.               <dt>パッタイ</dt>
  86.               <dd>800円<span>(税込)</span></dd>
  87.             </dl>
  88.             <dl>
  89.               <dt>カレーラーメン</dt>
  90.               <dd>850円<span>(税込)</span></dd>
  91.             </dl>
  92.             <h3>デザート</h3>
  93.             <dl>
  94.               <dt>マンゴープリン</dt>
  95.               <dd>300円<span>(税込)</span></dd>
  96.             </dl>
  97.             <dl>
  98.               <dt>ココナッツアイス</dt>
  99.               <dd>350円<span>(税込)</span></dd>
  100.             </dl>
  101.             <dl>
  102.               <dt>揚げバナナとココナッツアイス</dt>
  103.               <dd>550円<span>(税込)</span></dd>
  104.             </dl>
  105.             <dl>
  106.               <dt>マンゴーかき氷</dt>
  107.               <dd>550円<span>(税込)</span></dd>
  108.             </dl>
  109.           </div>
  110.         </div>
  111.       </div>
  112.     </div>
  113.   </div>
  114. </section>

ここもランチの部分とデザインは同じです。サクッとコピペしておきましょう。

商品を文字だけで一覧表示しているだけなのでかなりシンプルです(笑)。この辺はご自身でカスタマイズしてもらえれば良いかなぁ~と思います。

例えば文字の太さや色を変えたり、背景に画像を入れてみたり、「カレー」や「一品」を記述している部分にモチーフやアイコンなんかも入れたりできますね。

個人的には主な商品の写真をすべて用意して、ひとつずつ写真と商品名を表記する形が理想です。手間はかかりますけどそうする事によってよりお客さんの興味を惹く事ができます。

ディナーメニューで使っている画像はこちらからダウンロードできます。→「ディナー画像のダウンロード

タブメニューの「ドリンク」をHTMLで構築する

最後にタグメニューの「ドリンク」部分をコピペしましょう。

index.html

                	
  1. <section id="menu">
  2.   <div class="inner">
  3.     ~「.title」の記述省略~
  4.     ~「.menuMain」の記述省略~
  5.     <div class="menuWrap">
  6.       <input id="lunch" type="radio" name="tabItem" checked>
  7.       <label class="tabItem" for="lunch">ランチ</label>
  8.       <input id="dinner" type="radio" name="tabItem">
  9.       <label class="tabItem" for="dinner">ディナー</label>
  10.       <input id="drink" type="radio" name="tabItem">
  11.       <label class="tabItem" for="drink">ドリンク</label>
  12.       ~ランチメニューの記述省略~
  13.       ~ディナーメニューの記述省略~
  14.       <div class="tabContent" id="drinkContent">
  15.         <div class="menuTop cf">
  16.           <div class="imageWrap">
  17.             <img src="./img/menu_drink.jpg" alt="いやしのカレー サンプルのドリンクメニュー">
  18.           </div>
  19.           <div class="listWrap">
  20.             <h3>カクテル</h3>
  21.             <dl>
  22.               <dt>カシス</dt>
  23.               <dd>500円<span>(税込)</span></dd>
  24.             </dl>
  25.             <dl>
  26.               <dt>マンゴスティン</dt>
  27.               <dd>550円<span>(税込)</span></dd>
  28.             </dl>
  29.             <dl>
  30.               <dt>ライチ</dt>
  31.               <dd>550円<span>(税込)</span></dd>
  32.             </dl>
  33.             <dl>
  34.               <dt>ヨギー</dt>
  35.               <dd>550円<span>(税込)</span></dd>
  36.             </dl>
  37.             <dl>
  38.               <dt>ビア</dt>
  39.               <dd>550円<span>(税込)</span></dd>
  40.             </dl>
  41.             <dl>
  42.               <dt>ワイン</dt>
  43.               <dd>550円<span>(税込)</span></dd>
  44.             </dl>
  45.           </div>
  46.         </div>
  47.         <div class="menuBottom">
  48.           <div class="listWrap">
  49.             <h3>ビール</h3>
  50.             <dl>
  51.               <dt>アサヒスーパードライ(生)</dt>
  52.               <dd>550円<span>(税込)</span></dd>
  53.             </dl>
  54.             <dl>
  55.               <dt>アサヒスーパードライ(中瓶)</dt>
  56.               <dd>600円<span>(税込)</span></dd>
  57.             </dl>
  58.             <dl>
  59.               <dt>ノンアルコールビール</dt>
  60.               <dd>550円<span>(税込)</span></dd>
  61.             </dl>
  62.             <h3>チューハイ</h3>
  63.             <dl>
  64.               <dt>マンゴー</dt>
  65.               <dd>450円<span>(税込)</span></dd>
  66.             </dl>
  67.             <dl>
  68.               <dt>グアバ</dt>
  69.               <dd>450円<span>(税込)</span></dd>
  70.             </dl>
  71.             <dl>
  72.               <dt>ライチ</dt>
  73.               <dd>450円<span>(税込)</span></dd>
  74.             </dl>
  75.             <dl>
  76.               <dt>レモン</dt>
  77.               <dd>450円<span>(税込)</span></dd>
  78.             </dl>
  79.             <dl>
  80.               <dt>ライム</dt>
  81.               <dd>450円<span>(税込)</span></dd>
  82.             </dl>
  83.             <h3>果実酒</h3>
  84.             <dl>
  85.               <dt>梅酒</dt>
  86.               <dd>500円<span>(税込)</span></dd>
  87.             </dl>
  88.             <dl>
  89.               <dt>ライチ</dt>
  90.               <dd>500円<span>(税込)</span></dd>
  91.             </dl>
  92.             <dl>
  93.               <dt>サンザシ</dt>
  94.               <dd>500円<span>(税込)</span></dd>
  95.             </dl>
  96.             <dl>
  97.               <dt>杏子</dt>
  98.               <dd>500円<span>(税込)</span></dd>
  99.             </dl>
  100.             <dl>
  101.               <dt>リンゴ</dt>
  102.               <dd>500円<span>(税込)</span></dd>
  103.             </dl>
  104.             <h3>ワイン</h3>
  105.             <dl>
  106.               <dt>グラスワイン(赤・白)</dt>
  107.               <dd>500円<span>(税込)</span></dd>
  108.             </dl>
  109.           </div>
  110.           <div class="listWrap">
  111.             <h3>ウィスキー</h3>
  112.             <dl>
  113.               <dt>ハイボール</dt>
  114.               <dd>500円<span>(税込)</span></dd>
  115.             </dl>
  116.             <dl>
  117.               <dt>コーラハイボール</dt>
  118.               <dd>500円<span>(税込)</span></dd>
  119.             </dl>
  120.             <dl>
  121.               <dt>ジンジャーハイボール</dt>
  122.               <dd>500円<span>(税込)</span></dd>
  123.             </dl>
  124.             <h3>焼酎</h3>
  125.             <dl>
  126.               <dt>いいちこ(麦)</dt>
  127.               <dd>400円<span>(税込)</span></dd>
  128.             </dl>
  129.             <h3>ソフトドリンク</h3>
  130.             <dl>
  131.               <dt>チャイ</dt>
  132.               <dd>550円<span>(税込)</span></dd>
  133.             </dl>
  134.             <dl>
  135.               <dt>ラッシー</dt>
  136.               <dd>550円<span>(税込)</span></dd>
  137.             </dl>
  138.             <dl>
  139.               <dt>バナナラッシー</dt>
  140.               <dd>650円<span>(税込)</span></dd>
  141.             </dl>
  142.             <dl>
  143.               <dt>マンゴーラッシー</dt>
  144.               <dd>650円<span>(税込)</span></dd>
  145.             </dl>
  146.             <dl>
  147.               <dt>マンゴ―ジュース</dt>
  148.               <dd>450円<span>(税込)</span></dd>
  149.             </dl>
  150.             <dl>
  151.               <dt>グアバジュース</dt>
  152.               <dd>450円<span>(税込)</span></dd>
  153.             </dl>
  154.             <dl>
  155.               <dt>ライチジュース</dt>
  156.               <dd>450円<span>(税込)</span></dd>
  157.             </dl>
  158.             <dl>
  159.               <dt>オレンジジュース</dt>
  160.               <dd>400円<span>(税込)</span></dd>
  161.             </dl>
  162.             <dl>
  163.               <dt>グレープフルーツジュース</dt>
  164.               <dd>400円<span>(税込)</span></dd>
  165.             </dl>
  166.             <dl>
  167.               <dt>コーラ</dt>
  168.               <dd>300円<span>(税込)</span></dd>
  169.             </dl>
  170.             <dl>
  171.               <dt>ジンジャーエール<>/dt>
  172.               <dd>300円<span>(税込)</span></dd>
  173.             </dl>
  174.             <dl>
  175.               <dt>ウーロン茶</dt>
  176.               <dd>300円<span>(税込)</span></dd>
  177.             </dl>
  178.           </div>
  179.         </div>
  180.       </div>
  181.     </div>
  182.   </div>
  183. </section>

今回は「ランチ」「ディナー」「ドリンク」の3項目とも同じデザインで作りましたが、項目ごとにデザインを変更する事もできますので色々と試してもらうとホームページの幅も広がっていくと思います。

デモサイトではメニュー項目をすべて文字で記述していますが、お店のメニューなどを画像としてお持ちの方でしたらそちらを利用するのもアリかと思います。

ページ内に画像としてメニューを貼り付ける方法と、クリックするとPDFのメニューページに移動する方法などは有名サイトでもよく見ます。

細かい事ですけど2021年の4月から消費税を含めた総額表示が義務化されましたので、商品が多いほど消費税の変動に伴う料金変更の作業とかも手間になりますしね(笑)。

ドリンクメニューで使っている画像はこちらからダウンロードできます。→「ドリンク画像のダウンロード

竹馬

メニューを画像として表示する際の注意点として、パソコンでは読める文字サイズであってもスマホでは読めない事がよくあります。余裕があればスマホ用の画像も欲しいですね。

タブメニューをCSSで調整する

それではタブメニューのデザインを見ていきます。使い慣れない指定があるかと思いますので、しっかりと意味の確認もしていきましょう。

style.css

                	
  1. /* ------ menu ------ */
  2. ~タイトルとテキスト部分のデザイン省略~
  3. #menu .menuWrap {
  4.   width: 1200px;
  5.   font-size: 0;
  6.   margin: 60px auto 0
  7. }
  8. #menu .menuWrap .tabItem {
  9.   width: 200px;
  10.   height: 50px;
  11.   color: #fff;
  12.   font-size: 1.6rem;
  13.   letter-spacing: 0.09em;
  14.   line-height: 50px;
  15.   text-align: center;
  16.   background: #c1c1c1;
  17.   transition: all 0.3s ease-in-out;
  18.   display: inline-block;
  19.   cursor: pointer
  20. }
  21. #menu .menuWrap .tabItem:hover { background: #e21412 }
  22. #menu .menuWrap input[name="tabItem"] { display: none }
  23. #menu .menuWrap .tabContent {
  24.   margin-top: 60px;
  25.   display: none;
  26.   overflow: hidden
  27. }
  28. #menu .menuWrap #dinner + label,
  29. #menu .menuWrap #drink + label {
  30.   margin-left: 20px
  31. }
  32. #menu .menuWrap #lunch:checked ~ #lunchContent,
  33. #menu .menuWrap #dinner:checked ~ #dinnerContent,
  34. #menu .menuWrap #drink:checked ~ #drinkContent {
  35.   display: block
  36. }
  37. #menu .menuWrap input:checked + .tabItem { background: #e21412 }
  38. #menu .menuWrap .menuTop { font-size: 0 }
  39. #menu .menuWrap .menuTop .imageWrap {
  40.   width: 640px;
  41.   margin-left: 60px;
  42.   float: right
  43. }
  44. #menu .menuWrap .menuTop .listWrap {
  45.   width: 480px;
  46.   text-align: left;
  47.   display: inline-block
  48. }
  49. #menu .menuWrap .menuTop .listWrap h3 {
  50.   font-size: 2.4rem;
  51.   letter-spacing: 0.09em;
  52.   padding-bottom: 10px;
  53.   border-bottom: 1px solid #c1c1c1
  54. }
  55. #menu .menuWrap .menuTop .listWrap dl {
  56.   font-size: 0;
  57.   padding: 20px 10px;
  58.   border-bottom: 1px dashed #c1c1c1
  59. }
  60. #menu .menuWrap .menuTop .listWrap dt {
  61.   width: 320px;
  62.   font-size: 1.6rem;
  63.   letter-spacing: 0.09em;
  64.   vertical-align: middle;
  65.   display: inline-block
  66. }
  67. #menu .menuWrap .menuTop .listWrap dd {
  68.   width: 140px;
  69.   font-size: 1.6rem;
  70.   letter-spacing: 0.09em;
  71.   vertical-align: middle;
  72.   text-align: right;
  73.   display: inline-block
  74. }
  75. #menu .menuWrap .menuTop .listWrap dd span { font-size: 1.3rem }
  76. #menu .menuWrap .menuTop .listWrap p {
  77.   font-size: 1.6rem;
  78.   letter-spacing: 0.09em;
  79.   margin-top: 20px
  80. }
  81. #menu .menuWrap .menuBottom {
  82.   font-size: 0;
  83.   margin-top: 60px
  84. }
  85. #menu .menuWrap .menuBottom .listWrap {
  86.   width: 560px;
  87.   vertical-align: top;
  88.   text-align: left;
  89.   display: inline-block
  90. }
  91. #menu .menuWrap .menuBottom .listWrap + .listWrap { margin-left: 60px }
  92. #menu .menuWrap .menuBottom .listWrap h3 {
  93.   font-size: 2.4rem;
  94.   letter-spacing: 0.09em;
  95.   padding-bottom: 10px;
  96.   border-bottom: 1px solid #c1c1c1
  97. }
  98. #menu .menuWrap .menuBottom .listWrap dl + h3 { margin-top: 60px }
  99. #menu .menuWrap .menuBottom .listWrap dl {
  100.   font-size: 0;
  101.   padding: 20px 10px;
  102.   border-bottom: 1px dashed #c1c1c1
  103. }
  104. #menu .menuWrap .menuBottom .listWrap dt {
  105.   width: 400px;
  106.   font-size: 1.6rem;
  107.   letter-spacing: 0.09em;
  108.   vertical-align: middle;
  109.   display: inline-block
  110. }
  111. #menu .menuWrap .menuBottom .listWrap dd {
  112.   width: 140px;
  113.   font-size: 1.6rem;
  114.   letter-spacing: 0.09em;
  115.   vertical-align: middle;
  116.   text-align: right;
  117.   display: inline-block
  118. }
  119. #menu .menuWrap .menuBottom .listWrap dd span { font-size: 1.3rem }
  120. @media screen and (max-width: 768px) {
  121.   ~タイトルとテキスト部分のデザイン省略~
  122.   #menu .menuWrap {
  123.     width: 100%;
  124.     padding: 0 4%
  125.   }
  126.   #menu .menuWrap .tabItem { width: 100px }
  127.   #menu .menuWrap #dinner + label,
  128.   #menu .menuWrap #drink + label {
  129.     margin-left: 10px
  130.   }
  131.   #menu .menuWrap .menuTop .imageWrap {
  132.     width: 100%;
  133.     margin-left: 0;
  134.     float: none
  135.   }
  136.   #menu .menuWrap .menuTop .listWrap {
  137.     width: 100%;
  138.     margin-top: 40px;
  139.     display: block
  140.   }
  141.   #menu .menuWrap .menuTop .listWrap h3 { font-size: 2rem }
  142.   #menu .menuWrap .menuTop .listWrap dl { padding: 20px 0 }
  143.   #menu .menuWrap .menuTop .listWrap dt { width: calc(100% - 140px) }
  144.   #menu .menuWrap .menuTop .listWrap dd span { font-size: 1.2rem }
  145.   #menu .menuWrap .menuTop .listWrap p {
  146.     text-indent: -1em;
  147.     padding-left: 1em
  148.   }
  149.   #menu .menuWrap .menuBottom { margin-top: 40px }
  150.   #menu .menuWrap .menuBottom .listWrap {
  151.     width: 100%;
  152.     display: block
  153.   }
  154.   #menu .menuWrap .menuBottom .listWrap + .listWrap {
  155.     margin-top: 40px;
  156.     margin-left: 0
  157.   }
  158.   #menu .menuWrap .menuBottom .listWrap h3 { font-size: 2rem }
  159.   #menu .menuWrap .menuBottom .listWrap dl + h3 { margin-top: 40px }
  160.   #menu .menuWrap .menuBottom .listWrap dl { padding: 20px 0 }
  161.   #menu .menuWrap .menuBottom .listWrap dt { width: calc(100% - 140px) }
  162.   #menu .menuWrap .menuBottom .listWrap dd span { font-size: 1.2rem }
  163. }

いくつか記号を使ったプロパティの指定などがありますので順番に見ていきます。

まず「+(プラス)」記号は隣接セレクタと言います。「#menu .menuWrap #dinner + label」の部分でいうとlabelは3つありますが「#dinnerの次にあるlabel」という事になります。

この「+」で指定される要素は次の要素である事に注意してください。隣り合っていても手前の要素には適応されません。そして親要素や子要素ではなく同じ階層のものに適応されます。

そして「~(波線)」記号は間接セレクタと言います。「#menu .menuWrap #dinner:checked ~ #dinnerContent」の場合、「#dinnerと同じ階層の#dinnerContent」となります。

「~」で指定の場合は隣り合う要素だけではなく、同じ階層であればいくつでも間の要素を飛び越えて特定の要素を指定する事ができます。こちらも「+」と同じく手前の要素には適応されません。

もうひとつ上記にも出てきましたが、「#dinner」のラジオボタンにチェックが付いている時のデザインを指定するには「#dinner:checked」とすればOKです。

竹馬

ちょっとフォーム関連のタグは設定が複雑になのでゆっくり覚えていってください(笑)。htmlで指定したname属性もCSSで「input[name=”tabItem”]」と指定できたりします。

記述したHTMLとCSSの確認

HTMLとCSSを分割して紹介してきましたので、メニュー項目全体のコードを確認しておきましょう。

index.html

                	
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. ~head内の記述省略~
  5. </head>
  6. <body>
  7. <header>
  8. ~headerの記述省略~
  9. </header>
  10. <main>
  11.   ~スライダーの記述省略~
  12.   ~お知らせの記述省略~
  13.   <section id="menu">
  14.     <div class="inner">
  15.       <div class="title">
  16.         <h2>メニュー</h2>
  17.       </div>
  18.       <div class="menuMain">
  19.         <div class="menuMainInner">
  20.           <div class="menuMainBox">
  21.             <h3>落ち着いた空間、<br>スパイスの香るカレーと<br>美味しいチャイで<br>リラックスしませんか?</h3>
  22.             <p>サラッとしたスパイシーなカレーに四季折々の美味しい野菜を使用しています。たっぷりと加えたカルダモンの香りをお楽しみください。</p>
  23.           </div>
  24.         </div>
  25.       </div>
  26.       <div class="menuWrap">
  27.         <input id="lunch" type="radio" name="tabItem" checked>
  28.         <label class="tabItem" for="lunch">ランチ</label>
  29.         <input id="dinner" type="radio" name="tabItem">
  30.         <label class="tabItem" for="dinner">ディナー</label>
  31.         <input id="drink" type="radio" name="tabItem">
  32.         <label class="tabItem" for="drink">ドリンク</label>
  33.         <div class="tabContent" id="lunchContent">
  34.           <div class="menuTop cf">
  35.             <div class="imageWrap">
  36.               <img src="./img/menu_lunch.jpg" alt="いやしのカレー サンプルのランチメニュー">
  37.             </div>
  38.             <div class="listWrap">
  39.               <h3>ランチセット</h3>
  40.               <dl>
  41.                 <dt>チキンカレー</dt>
  42.                 <dd>800円<span>(税込)</span></dd>
  43.               </dl>
  44.               <dl>
  45.                 <dt>キーマカレー</dt>
  46.                 <dd>800円<span>(税込)</span></dd>
  47.               </dl>
  48.               <dl>
  49.                 <dt>季節の野菜カレー</dt>
  50.                 <dd>800円<span>(税込)</span></dd>
  51.               </dl>
  52.               <dl>
  53.                 <dt>グリーンカレー</dt>
  54.                 <dd>850円<span>(税込)</span></dd>
  55.               </dl>
  56.               <dl>
  57.                 <dt>マッサマンカレー</dt>
  58.                 <dd>850円<span>(税込)</span></dd>
  59.               </dl>
  60.               <p>※ランチセットにはチャイもしくはラッシーが付きます。</p>
  61.             </div>
  62.           </div>
  63.         </div>
  64.         <div class="tabContent" id="dinnerContent">
  65.           <div class="menuTop cf">
  66.             <div class="imageWrap">
  67.               <img src="./img/menu_dinner.jpg" alt="いやしのカレー サンプルのディナーメニュー">
  68.             </div>
  69.             <div class="listWrap">
  70.               <h3>カレー</h3>
  71.               <dl>
  72.                 <dt>チキンカレー</dt>
  73.                 <dd>800円<span>(税込)</span></dd>
  74.               </dl>
  75.               <dl>
  76.                 <dt>キーマカレー</dt>
  77.                 <dd>800円<span>(税込)</span></dd>
  78.               </dl>
  79.               <dl>
  80.                 <dt>季節の野菜カレー</dt>
  81.                 <dd>800円<span>(税込)</span></dd>
  82.               </dl>
  83.               <dl>
  84.                 <dt>グリーンカレー</dt>
  85.                 <dd>850円<span>(税込)</span></dd>
  86.               </dl>
  87.               <dl>
  88.                 <dt>マッサマンカレー</dt>
  89.                 <dd>850円<span>(税込)</span></dd>
  90.               </dl>
  91.               <dl>
  92.                 <dt>ライス / ナン</dt>
  93.                 <dd>300円<span>(税込)</span></dd>
  94.               </dl>
  95.             </div>
  96.           </div>
  97.           <div class="menuBottom">
  98.             <div class="listWrap">
  99.               <h3>一品</h3>
  100.               <dl>
  101.                 <dt>豚肉の串焼き</dt>
  102.                 <dd>700円<span>(税込)</span></dd>
  103.               </dl>
  104.               <dl>
  105.                 <dt>タンドリーチキン</dt>
  106.                 <dd>750円<span>(税込)</span></dd>
  107.               </dl>
  108.               <dl>
  109.                 <dt>鶏肉とカシューナッツ炒め</dt>
  110.                 <dd>800円<span>(税込)</span></dd>
  111.               </dl>
  112.               <dl>
  113.                 <dt>シーフードのニンニク炒め</dt>
  114.                 <dd>800円<span>(税込)</span></dd>
  115.               </dl>
  116.               <dl>
  117.                 <dt>空芯菜炒め</dt>
  118.                 <dd>800円<span>(税込)</span></dd>
  119.               </dl>
  120.               <dl>
  121.                 <dt>生春巻き</dt>
  122.                 <dd>850円<span>(税込)</span></dd>
  123.               </dl>
  124.               <dl>
  125.                 <dt>青パパイヤのサラダ</dt>
  126.                 <dd>800円<span>(税込)</span></dd>
  127.               </dl>
  128.               <dl>
  129.                 <dt>春雨と海老のサラダ</dt>
  130.                 <dd>800円<span>(税込)</span></dd>
  131.               </dl>
  132.             </div>
  133.             <div class="listWrap">>
  134.               <h3>麺類</h3>
  135.               <dl>
  136.                 <dt>パッタイ</dt>
  137.                 <dd>800円<span>(税込)</span></dd>
  138.               </dl>
  139.               <dl>
  140.                 <dt>カレーラーメン</dt>
  141.                 <dd>850円<span>(税込)</span></dd>
  142.               </dl>
  143.               <h3>デザート</h3>
  144.               <dl>
  145.                 <dt>マンゴープリン</dt>
  146.                 <dd>300円<span>(税込)</span></dd>
  147.               </dl>
  148.               <dl>
  149.                 <dt>ココナッツアイス</dt>
  150.                 <dd>350円<span>(税込)</span></dd>
  151.               </dl>
  152.               <dl>
  153.                 <dt>揚げバナナとココナッツアイス</dt>
  154.                 <dd>550円<span>(税込)</span></dd>
  155.               </dl>
  156.               <dl>
  157.                 <dt>マンゴーかき氷</dt>
  158.                 <dd>550円<span>(税込)</span></dd>
  159.               </dl>
  160.             </div>
  161.           </div>
  162.         </div>
  163.         <div class="tabContent" id="drinkContent">
  164.           <div class="menuTop cf">
  165.             <div class="imageWrap">
  166.               <img src="./img/menu_drink.jpg" alt="いやしのカレー サンプルのドリンクメニュー">
  167.             </div>
  168.             <div class="listWrap">
  169.               <h3>カクテル</h3>
  170.               <dl>
  171.                 <dt>カシス</dt>
  172.                 <dd>500円<span>(税込)</span></dd>
  173.               </dl>
  174.               <dl>
  175.                 <dt>マンゴスティン</dt>
  176.                 <dd>550円<span>(税込)</span></dd>
  177.               </dl>
  178.               <dl>
  179.                 <dt>ライチ</dt>
  180.                 <dd>550円<span>(税込)</span></dd>
  181.               </dl>
  182.               <dl>
  183.                 <dt>ヨギー</dt>
  184.                 <dd>550円<span>(税込)</span></dd>
  185.               </dl>
  186.               <dl>
  187.                 <dt>ビア</dt>
  188.                 <dd>550円<span>(税込)</span></dd>
  189.               </dl>
  190.               <dl>
  191.                 <dt>ワイン</dt>
  192.                 <dd>550円<span>(税込)</span></dd>
  193.               </dl>
  194.             </div>
  195.           </div>
  196.           <div class="menuBottom">
  197.             <div class="listWrap">
  198.               <h3>ビール</h3>
  199.               <dl>
  200.                 <dt>アサヒスーパードライ(生)</dt>
  201.                 <dd>550円<span>(税込)</span></dd>
  202.               </dl>
  203.               <dl>
  204.                 <dt>アサヒスーパードライ(中瓶)</dt>
  205.                 <dd>600円<span>(税込)</span></dd>
  206.               </dl>
  207.               <dl>
  208.                 <dt>ノンアルコールビール</dt>
  209.                 <dd>550円<span>(税込)</span></dd>
  210.               </dl>
  211.               <h3>チューハイ</h3>
  212.               <dl>
  213.                 <dt>マンゴー</dt>
  214.                 <dd>450円<span>(税込)</span></dd>
  215.               </dl>
  216.               <dl>
  217.                 <dt>グアバ</dt>
  218.                 <dd>450円<span>(税込)</span></dd>
  219.               </dl>
  220.               <dl>
  221.                 <dt>ライチ</dt>
  222.                 <dd>450円<span>(税込)</span></dd>
  223.               </dl>
  224.               <dl>
  225.                 <dt>レモン</dt>
  226.                 <dd>450円<span>(税込)</span></dd>
  227.               </dl>
  228.               <dl>
  229.                 <dt>ライム</dt>
  230.                 <dd>450円<span>(税込)</span></dd>
  231.               </dl>
  232.               <h3>果実酒</h3>
  233.               <dl>
  234.                 <dt>梅酒</dt>
  235.                 <dd>500円<span>(税込)</span></dd>
  236.               </dl>
  237.               <dl>
  238.                 <dt>ライチ</dt>
  239.                 <dd>500円<span>(税込)</span></dd>
  240.               </dl>
  241.               <dl>
  242.                 <dt>サンザシ</dt>
  243.                 <dd>500円<span>(税込)</span></dd>
  244.               </dl>
  245.               <dl>
  246.                 <dt>杏子</dt>
  247.                 <dd>500円<span>(税込)</span></dd>
  248.               </dl>
  249.               <dl>
  250.                 <dt>リンゴ</dt>
  251.                 <dd>500円<span>(税込)</span></dd>
  252.               </dl>
  253.               <h3>ワイン</h3>
  254.               <dl>
  255.                 <dt>グラスワイン(赤・白)</dt>
  256.                 <dd>500円<span>(税込)</span></dd>
  257.               </dl>
  258.             </div>
  259.             <div class="listWrap">
  260.               <h3>ウィスキー</h3>
  261.               <dl>
  262.                 <dt>ハイボール</dt>
  263.                 <dd>500円<span>(税込)</span></dd>
  264.               </dl>
  265.               <dl>
  266.                 <dt>コーラハイボール</dt>
  267.                 <dd>500円<span>(税込)</span></dd>
  268.               </dl>
  269.               <dl>
  270.                 <dt>ジンジャーハイボール</dt>
  271.                 <dd>500円<span>(税込)</span></dd>
  272.               </dl>
  273.               <h3>焼酎</h3>
  274.               <dl>
  275.                 <dt>いいちこ(麦)</dt>
  276.                 <dd>400円<span>(税込)</span></dd>
  277.               </dl>
  278.               <h3>ソフトドリンク</h3>
  279.               <dl>
  280.                 <dt>チャイ</dt>
  281.                 <dd>550円<span>(税込)</span></dd>
  282.               </dl>
  283.               <dl>
  284.                 <dt>ラッシー</dt>
  285.                 <dd>550円<span>(税込)</span></dd>
  286.               </dl>
  287.               <dl>
  288.                 <dt>バナナラッシー</dt>
  289.                 <dd>650円<span>(税込)</span></dd>
  290.               </dl>
  291.               <dl>
  292.                 <dt>マンゴーラッシー</dt>
  293.                 <dd>650円<span>(税込)</span></dd>
  294.               </dl>
  295.               <dl>
  296.                 <dt>マンゴ―ジュース</dt>
  297.                 <dd>450円<span>(税込)</span></dd>
  298.               </dl>
  299.               <dl>
  300.                 <dt>グアバジュース</dt>
  301.                 <dd>450円<span>(税込)</span></dd>
  302.               </dl>
  303.               <dl>
  304.                 <dt>ライチジュース</dt>
  305.                 <dd>450円<span>(税込)</span></dd>
  306.               </dl>
  307.               <dl>
  308.                 <dt>オレンジジュース</dt>
  309.                 <dd>400円<span>(税込)</span></dd>
  310.               </dl>
  311.               <dl>
  312.                 <dt>グレープフルーツジュース</dt>
  313.                 <dd>400円<span>(税込)</span></dd>
  314.               </dl>
  315.               <dl>
  316.                 <dt>コーラ</dt>
  317.                 <dd>300円<span>(税込)</span></dd>
  318.               </dl>
  319.               <dl>
  320.                 <dt>ジンジャーエール<>/dt>
  321.                 <dd>300円<span>(税込)</span></dd>
  322.               </dl>
  323.               <dl>
  324.                 <dt>ウーロン茶</dt>
  325.                 <dd>300円<span>(税込)</span></dd>
  326.               </dl>
  327.             </div>
  328.           </div>
  329.         </div>
  330.       </div>
  331.     </div>
  332.   </section>
  333. </main>
  334. ~JSファイルの読み込み省略~
  335. </body>
  336. </html>

style.css

                	
  1. ~共通デザイン省略~
  2. ~headerデザイン省略~
  3. ~navデザイン省略~
  4. ~スライダーデザイン省略~
  5. ~お知らせデザイン省略~
  6. /* ------ menu ------ */
  7. #menu {
  8.   padding-top: 80px;
  9.   margin-top: -80px
  10. }
  11. #menu .inner {
  12.   text-align: center;
  13.   padding: 80px 0
  14. }
  15. #menu h2 {
  16.   font-size: 2.4rem;
  17.   letter-spacing: 0.09em
  18. }
  19. #menu .menuMain {
  20.   width: 100%;
  21.   height: 480px;
  22.   margin-top: 60px;
  23.   background: url("../img/menu_main.jpg") no-repeat;
  24.   background-size: cover
  25. }
  26. #menu .menuMainInner {
  27.   width: 1200px;
  28.   margin: 0 auto;
  29.   position: relative
  30. }
  31. #menu .menuMainBox {
  32.   width: 500px;
  33.   height: 480px;
  34.   text-align: left;
  35.   padding: 80px;
  36.   background: rgba(255,255,255,0.7);
  37.   position: absolute;
  38.   top: 0;
  39.   right: 40px
  40. }
  41. #menu .menuMainBox h3 {
  42.   font-size: 2.8rem;
  43.   letter-spacing: 0.09em
  44. }
  45. #menu .menuMainBox p {
  46.   font-size: 1.6rem;
  47.   letter-spacing: 0.09em;
  48.   margin-top: 30px
  49. }
  50. #menu .menuWrap {
  51.   width: 1200px;
  52.   font-size: 0;
  53.   margin: 60px auto 0
  54. }
  55. #menu .menuWrap .tabItem {
  56.   width: 200px;
  57.   height: 50px;
  58.   color: #fff;
  59.   font-size: 1.6rem;
  60.   letter-spacing: 0.09em;
  61.   line-height: 50px;
  62.   text-align: center;
  63.   background: #c1c1c1;
  64.   transition: all 0.3s ease-in-out;
  65.   display: inline-block;
  66.   cursor: pointer
  67. }
  68. #menu .menuWrap .tabItem:hover { background: #e21412 }
  69. #menu .menuWrap input[name="tabItem"] { display: none }
  70. #menu .menuWrap .tabContent {
  71.   margin-top: 60px;
  72.   display: none;
  73.   overflow: hidden
  74. }
  75. #menu .menuWrap #dinner + label,
  76. #menu .menuWrap #drink + label {
  77.   margin-left: 20px
  78. }
  79. #menu .menuWrap #lunch:checked ~ #lunchContent,
  80. #menu .menuWrap #dinner:checked ~ #dinnerContent,
  81. #menu .menuWrap #drink:checked ~ #drinkContent {
  82.   display: block
  83. }
  84. #menu .menuWrap input:checked + .tabItem { background: #e21412 }
  85. #menu .menuWrap .menuTop { font-size: 0 }
  86. #menu .menuWrap .menuTop .imageWrap {
  87.   width: 640px;
  88.   margin-left: 60px;
  89.   float: right
  90. }
  91. #menu .menuWrap .menuTop .listWrap {
  92.   width: 480px;
  93.   text-align: left;
  94.   display: inline-block
  95. }
  96. #menu .menuWrap .menuTop .listWrap h3 {
  97.   font-size: 2.4rem;
  98.   letter-spacing: 0.09em;
  99.   padding-bottom: 10px;
  100.   border-bottom: 1px solid #c1c1c1
  101. }
  102. #menu .menuWrap .menuTop .listWrap dl {
  103.   font-size: 0;
  104.   padding: 20px 10px;
  105.   border-bottom: 1px dashed #c1c1c1
  106. }
  107. #menu .menuWrap .menuTop .listWrap dt {
  108.   width: 320px;
  109.   font-size: 1.6rem;
  110.   letter-spacing: 0.09em;
  111.   vertical-align: middle;
  112.   display: inline-block
  113. }
  114. #menu .menuWrap .menuTop .listWrap dd {
  115.   width: 140px;
  116.   font-size: 1.6rem;
  117.   letter-spacing: 0.09em;
  118.   vertical-align: middle;
  119.   text-align: right;
  120.   display: inline-block
  121. }
  122. #menu .menuWrap .menuTop .listWrap dd span { font-size: 1.3rem }
  123. #menu .menuWrap .menuTop .listWrap p {
  124.   font-size: 1.6rem;
  125.   letter-spacing: 0.09em;
  126.   margin-top: 20px
  127. }
  128. #menu .menuWrap .menuBottom {
  129.   font-size: 0;
  130.   margin-top: 60px
  131. }
  132. #menu .menuWrap .menuBottom .listWrap {
  133.   width: 560px;
  134.   vertical-align: top;
  135.   text-align: left;
  136.   display: inline-block
  137. }
  138. #menu .menuWrap .menuBottom .listWrap + .listWrap { margin-left: 60px }
  139. #menu .menuWrap .menuBottom .listWrap h3 {
  140.   font-size: 2.4rem;
  141.   letter-spacing: 0.09em;
  142.   padding-bottom: 10px;
  143.   border-bottom: 1px solid #c1c1c1
  144. }
  145. #menu .menuWrap .menuBottom .listWrap dl + h3 { margin-top: 60px }
  146. #menu .menuWrap .menuBottom .listWrap dl {
  147.   font-size: 0;
  148.   padding: 20px 10px;
  149.   border-bottom: 1px dashed #c1c1c1
  150. }
  151. #menu .menuWrap .menuBottom .listWrap dt {
  152.   width: 400px;
  153.   font-size: 1.6rem;
  154.   letter-spacing: 0.09em;
  155.   vertical-align: middle;
  156.   display: inline-block
  157. }
  158. #menu .menuWrap .menuBottom .listWrap dd {
  159.   width: 140px;
  160.   font-size: 1.6rem;
  161.   letter-spacing: 0.09em;
  162.   vertical-align: middle;
  163.   text-align: right;
  164.   display: inline-block
  165. }
  166. #menu .menuWrap .menuBottom .listWrap dd span { font-size: 1.3rem }
  167. @media screen and (max-width: 768px) {
  168.   #menu {
  169.     padding-top: 60px;
  170.     margin-top: -60px
  171.   }
  172.   #menu .inner {
  173.     text-align: center;
  174.     padding: 60px 0 20px
  175.   }
  176.   #menu h2 { font-size: 2rem }
  177.   #menu .menuMain {
  178.     height: 400px;
  179.     background: url("../img/menu_main.jpg") center center no-repeat
  180.   }
  181.   #menu .menuMainInner {
  182.     width: 100%;
  183.     padding: 0 4%
  184.   }
  185.   #menu .menuMainBox {
  186.     width: 90%;
  187.     height: 400px;
  188.     padding: 60px 40px;
  189.     margin: auto;
  190.     position: absolute;
  191.     top: 0;
  192.     right: 0;
  193.     left: 0
  194.   }
  195.   #menu .menuMainBox h3 { font-size: 2rem }
  196.   #menu .menuMainBox p { margin-top: 20px }
  197.   #menu .menuWrap {
  198.     width: 100%;
  199.     padding: 0 4%
  200.   }
  201.   #menu .menuWrap .tabItem { width: 100px }
  202.   #menu .menuWrap #dinner + label,
  203.   #menu .menuWrap #drink + label {
  204.     margin-left: 10px
  205.   }
  206.   #menu .menuWrap .menuTop .imageWrap {
  207.     width: 100%;
  208.     margin-left: 0;
  209.     float: none
  210.   }
  211.   #menu .menuWrap .menuTop .listWrap {
  212.     width: 100%;
  213.     margin-top: 40px;
  214.     display: block
  215.   }
  216.   #menu .menuWrap .menuTop .listWrap h3 { font-size: 2rem }
  217.   #menu .menuWrap .menuTop .listWrap dl { padding: 20px 0 }
  218.   #menu .menuWrap .menuTop .listWrap dt { width: calc(100% - 140px) }
  219.   #menu .menuWrap .menuTop .listWrap dd span { font-size: 1.2rem }
  220.   #menu .menuWrap .menuTop .listWrap p {
  221.     text-indent: -1em;
  222.     padding-left: 1em
  223.   }
  224.   #menu .menuWrap .menuBottom { margin-top: 40px }
  225.   #menu .menuWrap .menuBottom .listWrap {
  226.     width: 100%;
  227.     display: block
  228.   }
  229.   #menu .menuWrap .menuBottom .listWrap + .listWrap {
  230.     margin-top: 40px;
  231.     margin-left: 0
  232.   }
  233.   #menu .menuWrap .menuBottom .listWrap h3 { font-size: 2rem }
  234.   #menu .menuWrap .menuBottom .listWrap dl + h3 { margin-top: 40px }
  235.   #menu .menuWrap .menuBottom .listWrap dl { padding: 20px 0 }
  236.   #menu .menuWrap .menuBottom .listWrap dt { width: calc(100% - 140px) }
  237.   #menu .menuWrap .menuBottom .listWrap dd span { font-size: 1.2rem }
  238. }

ダウンロードした画像は「img」フォルダに入れておきましょう。そしてブラウザでチェックしてみてください。タブメニューは正常に動いていますでしょうか?

デモサイトの階層

今回はコードが長いので大変でしたね(笑)。デモサイトはひとつの例として見てもらって、商品をそんなにホームページで紹介しないならタブメニューも外してコンパクトにまとめてください。

ちょっとずつでもタグの使い方やプロパティで指定できるデザインがわかってくればご自身で思い描く形を作り上げる事ができるようになっていきます。

次は「お店情報」の項目を作っていきましょう。Googleマップを使って簡単に地図を設置していきます。

ホームページの簡単な作り方以外にも
お得な情報や日常を紹介するブログも是非どうぞ!
Webに関連するレンタルサーバーなどの特徴・料金比較や、
個人的に挑戦している資格取得についての勉強法やグルメなどを紹介しています。