無料で使えるオンライン画像編集ツール!Photopeaの使い方をご紹介
用意するもの
前回はメインコンテンツの「お知らせ」を制作しましたので今回は「メニュー」を仕上げていきます。ちょっとコードが長いですが単純に商品の量が多いだけです(笑)。
ここでは「タブメニュー」というものを使っています。今回のように情報が多い時などはすべての情報を見せるのではなく、ボタンをクリックして情報を切り替える方法がオススメです。
こちらの「デモサイト」から実際のページを確認して頂けます。
目次 [閉じる]
まずはメニュー全体の骨組みを作って、上部に表示しているタイトルと画像を背景としているテキスト部分のコードを見ていきます。
index.html
- <section id="menu">
- <div class="inner">
- <div class="title">
- <h2>メニュー</h2>
- </div>
- <div class="menuMain">
- <div class="menuMainInner">
- <div class="menuMainBox">
- <h3>落ち着いた空間、<br>スパイスの香るカレーと<br>美味しいチャイで<br>リラックスしませんか?</h3>
- <p>サラッとしたスパイシーなカレーに四季折々の美味しい野菜を使用しています。たっぷりと加えたカルダモンの香りをお楽しみください。</p>
- </div>
- </div>
- </div>
- </div>
- </section>
今回は画像の数が少ないかわりにひとつの画像のサイズを大きくしてインパクトのあるデザインにしています。
横幅いっぱいの画像を背景にして、その上に透け感のある白いボックスを配置します。そこにお客さんの興味を惹くようなセールスポイントなどを記述する方法です。
少しずつHTMLに慣れてきましたでしょうか?「画像を背景にして~」と言ってるのにimgタグがないですね。はい、ここの画像はCSSで指定していきます。
テキストを表示するにしてもちょっとしたコツがあります。例えば同じ文字の大きさで淡々と書かれた文章を見るとサラッと読んであまり印象に残らなかったりするもんです。
文字は大きさや太さでコントラストを付けてやると言いたい事がハッキリと伝わります。さらに端的な文章でパッと読める長さが良いですね。ここで興味を持ってもらえればあとの文章も読んでくれるはずです。
背景で使っている画像はこちらからダウンロードできます。→「メニュー背景画像のダウンロード」
では先ほどhtmlファイルで記述したタイトルと画像を背景としているテキスト部分のデザインを整えていきます。
style.css
- /* ------ menu ------ */
- #menu {
- padding-top: 80px;
- margin-top: -80px
- }
- #menu .inner {
- text-align: center;
- padding: 80px 0
- }
- #menu h2 {
- font-size: 2.4rem;
- letter-spacing: 0.09em
- }
- #menu .menuMain {
- width: 100%;
- height: 480px;
- margin-top: 60px;
- background: url("../img/menu_main.jpg") no-repeat;
- background-size: cover
- }
- #menu .menuMainInner {
- width: 1200px;
- margin: 0 auto;
- position: relative
- }
- #menu .menuMainBox {
- width: 500px;
- height: 480px;
- text-align: left;
- padding: 80px;
- background: rgba(255,255,255,0.7);
- position: absolute;
- top: 0;
- right: 40px
- }
- #menu .menuMainBox h3 {
- font-size: 2.8rem;
- letter-spacing: 0.09em
- }
- #menu .menuMainBox p {
- font-size: 1.6rem;
- letter-spacing: 0.09em;
- margin-top: 30px
- }
- @media screen and (max-width: 768px) {
- #menu {
- padding-top: 60px;
- margin-top: -60px
- }
- #menu .inner {
- text-align: center;
- padding: 60px 0 20px
- }
- #menu h2 { font-size: 2rem }
- #menu .menuMain {
- height: 400px;
- background: url("../img/menu_main.jpg") center center no-repeat
- }
- #menu .menuMainInner {
- width: 100%;
- padding: 0 4%
- }
- #menu .menuMainBox {
- width: 90%;
- height: 400px;
- padding: 60px 40px;
- margin: auto;
- position: absolute;
- top: 0;
- right: 0;
- left: 0
- }
- #menu .menuMainBox h3 { font-size: 2rem }
- #menu .menuMainBox p { margin-top: 20px }
- }
こちらの「メニュー」も「お知らせ」と同じくページ内リンクを設置していますので、「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つのプロパティを設定しているという事です。
次からはタグを使ってメニュー一覧を記述していきます。タグはjQueryを使うものもありますが今回はCSSのみで実装しています。
index.html
- <section id="menu">
- <div class="inner">
- ~「.title」の記述省略~
- ~「.menuMain」の記述省略~
- <div class="menuWrap">
- <input id="lunch" type="radio" name="tabItem" checked>
- <label class="tabItem" for="lunch">ランチ</label>
- <input id="dinner" type="radio" name="tabItem">
- <label class="tabItem" for="dinner">ディナー</label>
- <input id="drink" type="radio" name="tabItem">
- <label class="tabItem" for="drink">ドリンク</label>
- <div class="tabContent" id="lunchContent">
- <div class="menuTop cf">
- <div class="imageWrap">
- <img src="./img/menu_lunch.jpg" alt="いやしのカレー サンプルのランチメニュー">
- </div>
- <div class="listWrap">
- <h3>ランチセット</h3>
- <dl>
- <dt>チキンカレー</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>キーマカレー</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>季節の野菜カレー</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>グリーンカレー</dt>
- <dd>850円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>マッサマンカレー</dt>
- <dd>850円<span>(税込)</span></dd>
- </dl>
- <p>※ランチセットにはチャイもしくはラッシーが付きます。</p>
- </div>
- </div>
- </div>
- </div>
- </div>
- </section>
ここからはコードが長くなりますので、わかりにくかったら商品を削ってもらっても良いです(笑)。
タグメニューの仕様をザックリと説明すると、まずは「ランチ」「ディナー」「ドリンク」を表示している「tabContent」のクラス名が付いたdivを非表示にします。
そして「input」タグを「type=”radio”」としてラジオボタンにし、チェックされたラジオボタンに連動する要素を切り替えています。はじめは「#lunch」のinputに「checked」を付けてランチメニューを表示している状態です。
CSSのみでタグメニューを実装する場合は、このinputタグを使用してそれぞれの要素をCSSで紐付けする必要があります。
慣れていないとちょっと複雑なので手が出ないという方もおられるかも知れませんが、タグメニューは色んなところで使えますので覚えておいて損はないです。しかもこれはjQueryも必要ないのでオススメです。
ランチメニューで使っている画像はこちらからダウンロードできます。→「ランチ画像のダウンロード」
同じくタグメニューの「ディナー」部分の記述を見ていきます。
index.html
- <section id="menu">
- <div class="inner">
- ~「.title」の記述省略~
- ~「.menuMain」の記述省略~
- <div class="menuWrap">
- <input id="lunch" type="radio" name="tabItem" checked>
- <label class="tabItem" for="lunch">ランチ</label>
- <input id="dinner" type="radio" name="tabItem">
- <label class="tabItem" for="dinner">ディナー</label>
- <input id="drink" type="radio" name="tabItem">
- <label class="tabItem" for="drink">ドリンク</label>
- ~ランチメニューの記述省略~
- <div class="tabContent" id="dinnerContent">
- <div class="menuTop cf">
- <div class="imageWrap">
- <img src="./img/menu_dinner.jpg" alt="いやしのカレー サンプルのディナーメニュー">
- </div>
- <div class="listWrap">
- <h3>カレー</h3>
- <dl>
- <dt>チキンカレー</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>キーマカレー</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>季節の野菜カレー</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>グリーンカレー</dt>
- <dd>850円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>マッサマンカレー</dt>
- <dd>850円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ライス / ナン</dt>
- <dd>300円<span>(税込)</span></dd>
- </dl>
- </div>
- </div>
- <div class="menuBottom">
- <div class="listWrap">
- <h3>一品</h3>
- <dl>
- <dt>豚肉の串焼き</dt>
- <dd>700円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>タンドリーチキン</dt>
- <dd>750円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>鶏肉とカシューナッツ炒め</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>シーフードのニンニク炒め</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>空芯菜炒め</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>生春巻き</dt>
- <dd>850円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>青パパイヤのサラダ</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>春雨と海老のサラダ</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- </div>
- <div class="listWrap">>
- <h3>麺類</h3>
- <dl>
- <dt>パッタイ</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>カレーラーメン</dt>
- <dd>850円<span>(税込)</span></dd>
- </dl>
- <h3>デザート</h3>
- <dl>
- <dt>マンゴープリン</dt>
- <dd>300円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ココナッツアイス</dt>
- <dd>350円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>揚げバナナとココナッツアイス</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>マンゴーかき氷</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- </div>
- </div>
- </div>
- </div>
- </div>
- </section>
ここもランチの部分とデザインは同じです。サクッとコピペしておきましょう。
商品を文字だけで一覧表示しているだけなのでかなりシンプルです(笑)。この辺はご自身でカスタマイズしてもらえれば良いかなぁ~と思います。
例えば文字の太さや色を変えたり、背景に画像を入れてみたり、「カレー」や「一品」を記述している部分にモチーフやアイコンなんかも入れたりできますね。
個人的には主な商品の写真をすべて用意して、ひとつずつ写真と商品名を表記する形が理想です。手間はかかりますけどそうする事によってよりお客さんの興味を惹く事ができます。
ディナーメニューで使っている画像はこちらからダウンロードできます。→「ディナー画像のダウンロード」
最後にタグメニューの「ドリンク」部分をコピペしましょう。
index.html
- <section id="menu">
- <div class="inner">
- ~「.title」の記述省略~
- ~「.menuMain」の記述省略~
- <div class="menuWrap">
- <input id="lunch" type="radio" name="tabItem" checked>
- <label class="tabItem" for="lunch">ランチ</label>
- <input id="dinner" type="radio" name="tabItem">
- <label class="tabItem" for="dinner">ディナー</label>
- <input id="drink" type="radio" name="tabItem">
- <label class="tabItem" for="drink">ドリンク</label>
- ~ランチメニューの記述省略~
- ~ディナーメニューの記述省略~
- <div class="tabContent" id="drinkContent">
- <div class="menuTop cf">
- <div class="imageWrap">
- <img src="./img/menu_drink.jpg" alt="いやしのカレー サンプルのドリンクメニュー">
- </div>
- <div class="listWrap">
- <h3>カクテル</h3>
- <dl>
- <dt>カシス</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>マンゴスティン</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ライチ</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ヨギー</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ビア</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ワイン</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- </div>
- </div>
- <div class="menuBottom">
- <div class="listWrap">
- <h3>ビール</h3>
- <dl>
- <dt>アサヒスーパードライ(生)</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>アサヒスーパードライ(中瓶)</dt>
- <dd>600円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ノンアルコールビール</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <h3>チューハイ</h3>
- <dl>
- <dt>マンゴー</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>グアバ</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ライチ</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>レモン</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ライム</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <h3>果実酒</h3>
- <dl>
- <dt>梅酒</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ライチ</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>サンザシ</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>杏子</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>リンゴ</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <h3>ワイン</h3>
- <dl>
- <dt>グラスワイン(赤・白)</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- </div>
- <div class="listWrap">
- <h3>ウィスキー</h3>
- <dl>
- <dt>ハイボール</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>コーラハイボール</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ジンジャーハイボール</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <h3>焼酎</h3>
- <dl>
- <dt>いいちこ(麦)</dt>
- <dd>400円<span>(税込)</span></dd>
- </dl>
- <h3>ソフトドリンク</h3>
- <dl>
- <dt>チャイ</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ラッシー</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>バナナラッシー</dt>
- <dd>650円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>マンゴーラッシー</dt>
- <dd>650円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>マンゴ―ジュース</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>グアバジュース</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ライチジュース</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>オレンジジュース</dt>
- <dd>400円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>グレープフルーツジュース</dt>
- <dd>400円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>コーラ</dt>
- <dd>300円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ジンジャーエール<>/dt>
- <dd>300円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ウーロン茶</dt>
- <dd>300円<span>(税込)</span></dd>
- </dl>
- </div>
- </div>
- </div>
- </div>
- </div>
- </section>
今回は「ランチ」「ディナー」「ドリンク」の3項目とも同じデザインで作りましたが、項目ごとにデザインを変更する事もできますので色々と試してもらうとホームページの幅も広がっていくと思います。
デモサイトではメニュー項目をすべて文字で記述していますが、お店のメニューなどを画像としてお持ちの方でしたらそちらを利用するのもアリかと思います。
ページ内に画像としてメニューを貼り付ける方法と、クリックするとPDFのメニューページに移動する方法などは有名サイトでもよく見ます。
細かい事ですけど2021年の4月から消費税を含めた総額表示が義務化されましたので、商品が多いほど消費税の変動に伴う料金変更の作業とかも手間になりますしね(笑)。
ドリンクメニューで使っている画像はこちらからダウンロードできます。→「ドリンク画像のダウンロード」
それではタブメニューのデザインを見ていきます。使い慣れない指定があるかと思いますので、しっかりと意味の確認もしていきましょう。
style.css
- /* ------ menu ------ */
- ~タイトルとテキスト部分のデザイン省略~
- #menu .menuWrap {
- width: 1200px;
- font-size: 0;
- margin: 60px auto 0
- }
- #menu .menuWrap .tabItem {
- width: 200px;
- height: 50px;
- color: #fff;
- font-size: 1.6rem;
- letter-spacing: 0.09em;
- line-height: 50px;
- text-align: center;
- background: #c1c1c1;
- transition: all 0.3s ease-in-out;
- display: inline-block;
- cursor: pointer
- }
- #menu .menuWrap .tabItem:hover { background: #e21412 }
- #menu .menuWrap input[name="tabItem"] { display: none }
- #menu .menuWrap .tabContent {
- margin-top: 60px;
- display: none;
- overflow: hidden
- }
- #menu .menuWrap #dinner + label,
- #menu .menuWrap #drink + label {
- margin-left: 20px
- }
- #menu .menuWrap #lunch:checked ~ #lunchContent,
- #menu .menuWrap #dinner:checked ~ #dinnerContent,
- #menu .menuWrap #drink:checked ~ #drinkContent {
- display: block
- }
- #menu .menuWrap input:checked + .tabItem { background: #e21412 }
- #menu .menuWrap .menuTop { font-size: 0 }
- #menu .menuWrap .menuTop .imageWrap {
- width: 640px;
- margin-left: 60px;
- float: right
- }
- #menu .menuWrap .menuTop .listWrap {
- width: 480px;
- text-align: left;
- display: inline-block
- }
- #menu .menuWrap .menuTop .listWrap h3 {
- font-size: 2.4rem;
- letter-spacing: 0.09em;
- padding-bottom: 10px;
- border-bottom: 1px solid #c1c1c1
- }
- #menu .menuWrap .menuTop .listWrap dl {
- font-size: 0;
- padding: 20px 10px;
- border-bottom: 1px dashed #c1c1c1
- }
- #menu .menuWrap .menuTop .listWrap dt {
- width: 320px;
- font-size: 1.6rem;
- letter-spacing: 0.09em;
- vertical-align: middle;
- display: inline-block
- }
- #menu .menuWrap .menuTop .listWrap dd {
- width: 140px;
- font-size: 1.6rem;
- letter-spacing: 0.09em;
- vertical-align: middle;
- text-align: right;
- display: inline-block
- }
- #menu .menuWrap .menuTop .listWrap dd span { font-size: 1.3rem }
- #menu .menuWrap .menuTop .listWrap p {
- font-size: 1.6rem;
- letter-spacing: 0.09em;
- margin-top: 20px
- }
- #menu .menuWrap .menuBottom {
- font-size: 0;
- margin-top: 60px
- }
- #menu .menuWrap .menuBottom .listWrap {
- width: 560px;
- vertical-align: top;
- text-align: left;
- display: inline-block
- }
- #menu .menuWrap .menuBottom .listWrap + .listWrap { margin-left: 60px }
- #menu .menuWrap .menuBottom .listWrap h3 {
- font-size: 2.4rem;
- letter-spacing: 0.09em;
- padding-bottom: 10px;
- border-bottom: 1px solid #c1c1c1
- }
- #menu .menuWrap .menuBottom .listWrap dl + h3 { margin-top: 60px }
- #menu .menuWrap .menuBottom .listWrap dl {
- font-size: 0;
- padding: 20px 10px;
- border-bottom: 1px dashed #c1c1c1
- }
- #menu .menuWrap .menuBottom .listWrap dt {
- width: 400px;
- font-size: 1.6rem;
- letter-spacing: 0.09em;
- vertical-align: middle;
- display: inline-block
- }
- #menu .menuWrap .menuBottom .listWrap dd {
- width: 140px;
- font-size: 1.6rem;
- letter-spacing: 0.09em;
- vertical-align: middle;
- text-align: right;
- display: inline-block
- }
- #menu .menuWrap .menuBottom .listWrap dd span { font-size: 1.3rem }
- @media screen and (max-width: 768px) {
- ~タイトルとテキスト部分のデザイン省略~
- #menu .menuWrap {
- width: 100%;
- padding: 0 4%
- }
- #menu .menuWrap .tabItem { width: 100px }
- #menu .menuWrap #dinner + label,
- #menu .menuWrap #drink + label {
- margin-left: 10px
- }
- #menu .menuWrap .menuTop .imageWrap {
- width: 100%;
- margin-left: 0;
- float: none
- }
- #menu .menuWrap .menuTop .listWrap {
- width: 100%;
- margin-top: 40px;
- display: block
- }
- #menu .menuWrap .menuTop .listWrap h3 { font-size: 2rem }
- #menu .menuWrap .menuTop .listWrap dl { padding: 20px 0 }
- #menu .menuWrap .menuTop .listWrap dt { width: calc(100% - 140px) }
- #menu .menuWrap .menuTop .listWrap dd span { font-size: 1.2rem }
- #menu .menuWrap .menuTop .listWrap p {
- text-indent: -1em;
- padding-left: 1em
- }
- #menu .menuWrap .menuBottom { margin-top: 40px }
- #menu .menuWrap .menuBottom .listWrap {
- width: 100%;
- display: block
- }
- #menu .menuWrap .menuBottom .listWrap + .listWrap {
- margin-top: 40px;
- margin-left: 0
- }
- #menu .menuWrap .menuBottom .listWrap h3 { font-size: 2rem }
- #menu .menuWrap .menuBottom .listWrap dl + h3 { margin-top: 40px }
- #menu .menuWrap .menuBottom .listWrap dl { padding: 20px 0 }
- #menu .menuWrap .menuBottom .listWrap dt { width: calc(100% - 140px) }
- #menu .menuWrap .menuBottom .listWrap dd span { font-size: 1.2rem }
- }
いくつか記号を使ったプロパティの指定などがありますので順番に見ていきます。
まず「+(プラス)」記号は隣接セレクタと言います。「#menu .menuWrap #dinner + label」の部分でいうとlabelは3つありますが「#dinnerの次にあるlabel」という事になります。
この「+」で指定される要素は次の要素である事に注意してください。隣り合っていても手前の要素には適応されません。そして親要素や子要素ではなく同じ階層のものに適応されます。
そして「~(波線)」記号は間接セレクタと言います。「#menu .menuWrap #dinner:checked ~ #dinnerContent」の場合、「#dinnerと同じ階層の#dinnerContent」となります。
「~」で指定の場合は隣り合う要素だけではなく、同じ階層であればいくつでも間の要素を飛び越えて特定の要素を指定する事ができます。こちらも「+」と同じく手前の要素には適応されません。
もうひとつ上記にも出てきましたが、「#dinner」のラジオボタンにチェックが付いている時のデザインを指定するには「#dinner:checked」とすればOKです。
HTMLとCSSを分割して紹介してきましたので、メニュー項目全体のコードを確認しておきましょう。
index.html
- <!DOCTYPE html>
- <html>
- <head>
- ~head内の記述省略~
- </head>
- <body>
- <header>
- ~headerの記述省略~
- </header>
- <main>
- ~スライダーの記述省略~
- ~お知らせの記述省略~
- <section id="menu">
- <div class="inner">
- <div class="title">
- <h2>メニュー</h2>
- </div>
- <div class="menuMain">
- <div class="menuMainInner">
- <div class="menuMainBox">
- <h3>落ち着いた空間、<br>スパイスの香るカレーと<br>美味しいチャイで<br>リラックスしませんか?</h3>
- <p>サラッとしたスパイシーなカレーに四季折々の美味しい野菜を使用しています。たっぷりと加えたカルダモンの香りをお楽しみください。</p>
- </div>
- </div>
- </div>
- <div class="menuWrap">
- <input id="lunch" type="radio" name="tabItem" checked>
- <label class="tabItem" for="lunch">ランチ</label>
- <input id="dinner" type="radio" name="tabItem">
- <label class="tabItem" for="dinner">ディナー</label>
- <input id="drink" type="radio" name="tabItem">
- <label class="tabItem" for="drink">ドリンク</label>
- <div class="tabContent" id="lunchContent">
- <div class="menuTop cf">
- <div class="imageWrap">
- <img src="./img/menu_lunch.jpg" alt="いやしのカレー サンプルのランチメニュー">
- </div>
- <div class="listWrap">
- <h3>ランチセット</h3>
- <dl>
- <dt>チキンカレー</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>キーマカレー</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>季節の野菜カレー</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>グリーンカレー</dt>
- <dd>850円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>マッサマンカレー</dt>
- <dd>850円<span>(税込)</span></dd>
- </dl>
- <p>※ランチセットにはチャイもしくはラッシーが付きます。</p>
- </div>
- </div>
- </div>
- <div class="tabContent" id="dinnerContent">
- <div class="menuTop cf">
- <div class="imageWrap">
- <img src="./img/menu_dinner.jpg" alt="いやしのカレー サンプルのディナーメニュー">
- </div>
- <div class="listWrap">
- <h3>カレー</h3>
- <dl>
- <dt>チキンカレー</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>キーマカレー</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>季節の野菜カレー</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>グリーンカレー</dt>
- <dd>850円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>マッサマンカレー</dt>
- <dd>850円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ライス / ナン</dt>
- <dd>300円<span>(税込)</span></dd>
- </dl>
- </div>
- </div>
- <div class="menuBottom">
- <div class="listWrap">
- <h3>一品</h3>
- <dl>
- <dt>豚肉の串焼き</dt>
- <dd>700円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>タンドリーチキン</dt>
- <dd>750円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>鶏肉とカシューナッツ炒め</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>シーフードのニンニク炒め</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>空芯菜炒め</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>生春巻き</dt>
- <dd>850円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>青パパイヤのサラダ</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>春雨と海老のサラダ</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- </div>
- <div class="listWrap">>
- <h3>麺類</h3>
- <dl>
- <dt>パッタイ</dt>
- <dd>800円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>カレーラーメン</dt>
- <dd>850円<span>(税込)</span></dd>
- </dl>
- <h3>デザート</h3>
- <dl>
- <dt>マンゴープリン</dt>
- <dd>300円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ココナッツアイス</dt>
- <dd>350円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>揚げバナナとココナッツアイス</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>マンゴーかき氷</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- </div>
- </div>
- </div>
- <div class="tabContent" id="drinkContent">
- <div class="menuTop cf">
- <div class="imageWrap">
- <img src="./img/menu_drink.jpg" alt="いやしのカレー サンプルのドリンクメニュー">
- </div>
- <div class="listWrap">
- <h3>カクテル</h3>
- <dl>
- <dt>カシス</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>マンゴスティン</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ライチ</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ヨギー</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ビア</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ワイン</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- </div>
- </div>
- <div class="menuBottom">
- <div class="listWrap">
- <h3>ビール</h3>
- <dl>
- <dt>アサヒスーパードライ(生)</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>アサヒスーパードライ(中瓶)</dt>
- <dd>600円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ノンアルコールビール</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <h3>チューハイ</h3>
- <dl>
- <dt>マンゴー</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>グアバ</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ライチ</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>レモン</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ライム</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <h3>果実酒</h3>
- <dl>
- <dt>梅酒</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ライチ</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>サンザシ</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>杏子</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>リンゴ</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <h3>ワイン</h3>
- <dl>
- <dt>グラスワイン(赤・白)</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- </div>
- <div class="listWrap">
- <h3>ウィスキー</h3>
- <dl>
- <dt>ハイボール</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>コーラハイボール</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ジンジャーハイボール</dt>
- <dd>500円<span>(税込)</span></dd>
- </dl>
- <h3>焼酎</h3>
- <dl>
- <dt>いいちこ(麦)</dt>
- <dd>400円<span>(税込)</span></dd>
- </dl>
- <h3>ソフトドリンク</h3>
- <dl>
- <dt>チャイ</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ラッシー</dt>
- <dd>550円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>バナナラッシー</dt>
- <dd>650円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>マンゴーラッシー</dt>
- <dd>650円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>マンゴ―ジュース</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>グアバジュース</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ライチジュース</dt>
- <dd>450円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>オレンジジュース</dt>
- <dd>400円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>グレープフルーツジュース</dt>
- <dd>400円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>コーラ</dt>
- <dd>300円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ジンジャーエール<>/dt>
- <dd>300円<span>(税込)</span></dd>
- </dl>
- <dl>
- <dt>ウーロン茶</dt>
- <dd>300円<span>(税込)</span></dd>
- </dl>
- </div>
- </div>
- </div>
- </div>
- </div>
- </section>
- </main>
- ~JSファイルの読み込み省略~
- </body>
- </html>
style.css
- ~共通デザイン省略~
- ~headerデザイン省略~
- ~navデザイン省略~
- ~スライダーデザイン省略~
- ~お知らせデザイン省略~
- /* ------ menu ------ */
- #menu {
- padding-top: 80px;
- margin-top: -80px
- }
- #menu .inner {
- text-align: center;
- padding: 80px 0
- }
- #menu h2 {
- font-size: 2.4rem;
- letter-spacing: 0.09em
- }
- #menu .menuMain {
- width: 100%;
- height: 480px;
- margin-top: 60px;
- background: url("../img/menu_main.jpg") no-repeat;
- background-size: cover
- }
- #menu .menuMainInner {
- width: 1200px;
- margin: 0 auto;
- position: relative
- }
- #menu .menuMainBox {
- width: 500px;
- height: 480px;
- text-align: left;
- padding: 80px;
- background: rgba(255,255,255,0.7);
- position: absolute;
- top: 0;
- right: 40px
- }
- #menu .menuMainBox h3 {
- font-size: 2.8rem;
- letter-spacing: 0.09em
- }
- #menu .menuMainBox p {
- font-size: 1.6rem;
- letter-spacing: 0.09em;
- margin-top: 30px
- }
- #menu .menuWrap {
- width: 1200px;
- font-size: 0;
- margin: 60px auto 0
- }
- #menu .menuWrap .tabItem {
- width: 200px;
- height: 50px;
- color: #fff;
- font-size: 1.6rem;
- letter-spacing: 0.09em;
- line-height: 50px;
- text-align: center;
- background: #c1c1c1;
- transition: all 0.3s ease-in-out;
- display: inline-block;
- cursor: pointer
- }
- #menu .menuWrap .tabItem:hover { background: #e21412 }
- #menu .menuWrap input[name="tabItem"] { display: none }
- #menu .menuWrap .tabContent {
- margin-top: 60px;
- display: none;
- overflow: hidden
- }
- #menu .menuWrap #dinner + label,
- #menu .menuWrap #drink + label {
- margin-left: 20px
- }
- #menu .menuWrap #lunch:checked ~ #lunchContent,
- #menu .menuWrap #dinner:checked ~ #dinnerContent,
- #menu .menuWrap #drink:checked ~ #drinkContent {
- display: block
- }
- #menu .menuWrap input:checked + .tabItem { background: #e21412 }
- #menu .menuWrap .menuTop { font-size: 0 }
- #menu .menuWrap .menuTop .imageWrap {
- width: 640px;
- margin-left: 60px;
- float: right
- }
- #menu .menuWrap .menuTop .listWrap {
- width: 480px;
- text-align: left;
- display: inline-block
- }
- #menu .menuWrap .menuTop .listWrap h3 {
- font-size: 2.4rem;
- letter-spacing: 0.09em;
- padding-bottom: 10px;
- border-bottom: 1px solid #c1c1c1
- }
- #menu .menuWrap .menuTop .listWrap dl {
- font-size: 0;
- padding: 20px 10px;
- border-bottom: 1px dashed #c1c1c1
- }
- #menu .menuWrap .menuTop .listWrap dt {
- width: 320px;
- font-size: 1.6rem;
- letter-spacing: 0.09em;
- vertical-align: middle;
- display: inline-block
- }
- #menu .menuWrap .menuTop .listWrap dd {
- width: 140px;
- font-size: 1.6rem;
- letter-spacing: 0.09em;
- vertical-align: middle;
- text-align: right;
- display: inline-block
- }
- #menu .menuWrap .menuTop .listWrap dd span { font-size: 1.3rem }
- #menu .menuWrap .menuTop .listWrap p {
- font-size: 1.6rem;
- letter-spacing: 0.09em;
- margin-top: 20px
- }
- #menu .menuWrap .menuBottom {
- font-size: 0;
- margin-top: 60px
- }
- #menu .menuWrap .menuBottom .listWrap {
- width: 560px;
- vertical-align: top;
- text-align: left;
- display: inline-block
- }
- #menu .menuWrap .menuBottom .listWrap + .listWrap { margin-left: 60px }
- #menu .menuWrap .menuBottom .listWrap h3 {
- font-size: 2.4rem;
- letter-spacing: 0.09em;
- padding-bottom: 10px;
- border-bottom: 1px solid #c1c1c1
- }
- #menu .menuWrap .menuBottom .listWrap dl + h3 { margin-top: 60px }
- #menu .menuWrap .menuBottom .listWrap dl {
- font-size: 0;
- padding: 20px 10px;
- border-bottom: 1px dashed #c1c1c1
- }
- #menu .menuWrap .menuBottom .listWrap dt {
- width: 400px;
- font-size: 1.6rem;
- letter-spacing: 0.09em;
- vertical-align: middle;
- display: inline-block
- }
- #menu .menuWrap .menuBottom .listWrap dd {
- width: 140px;
- font-size: 1.6rem;
- letter-spacing: 0.09em;
- vertical-align: middle;
- text-align: right;
- display: inline-block
- }
- #menu .menuWrap .menuBottom .listWrap dd span { font-size: 1.3rem }
- @media screen and (max-width: 768px) {
- #menu {
- padding-top: 60px;
- margin-top: -60px
- }
- #menu .inner {
- text-align: center;
- padding: 60px 0 20px
- }
- #menu h2 { font-size: 2rem }
- #menu .menuMain {
- height: 400px;
- background: url("../img/menu_main.jpg") center center no-repeat
- }
- #menu .menuMainInner {
- width: 100%;
- padding: 0 4%
- }
- #menu .menuMainBox {
- width: 90%;
- height: 400px;
- padding: 60px 40px;
- margin: auto;
- position: absolute;
- top: 0;
- right: 0;
- left: 0
- }
- #menu .menuMainBox h3 { font-size: 2rem }
- #menu .menuMainBox p { margin-top: 20px }
- #menu .menuWrap {
- width: 100%;
- padding: 0 4%
- }
- #menu .menuWrap .tabItem { width: 100px }
- #menu .menuWrap #dinner + label,
- #menu .menuWrap #drink + label {
- margin-left: 10px
- }
- #menu .menuWrap .menuTop .imageWrap {
- width: 100%;
- margin-left: 0;
- float: none
- }
- #menu .menuWrap .menuTop .listWrap {
- width: 100%;
- margin-top: 40px;
- display: block
- }
- #menu .menuWrap .menuTop .listWrap h3 { font-size: 2rem }
- #menu .menuWrap .menuTop .listWrap dl { padding: 20px 0 }
- #menu .menuWrap .menuTop .listWrap dt { width: calc(100% - 140px) }
- #menu .menuWrap .menuTop .listWrap dd span { font-size: 1.2rem }
- #menu .menuWrap .menuTop .listWrap p {
- text-indent: -1em;
- padding-left: 1em
- }
- #menu .menuWrap .menuBottom { margin-top: 40px }
- #menu .menuWrap .menuBottom .listWrap {
- width: 100%;
- display: block
- }
- #menu .menuWrap .menuBottom .listWrap + .listWrap {
- margin-top: 40px;
- margin-left: 0
- }
- #menu .menuWrap .menuBottom .listWrap h3 { font-size: 2rem }
- #menu .menuWrap .menuBottom .listWrap dl + h3 { margin-top: 40px }
- #menu .menuWrap .menuBottom .listWrap dl { padding: 20px 0 }
- #menu .menuWrap .menuBottom .listWrap dt { width: calc(100% - 140px) }
- #menu .menuWrap .menuBottom .listWrap dd span { font-size: 1.2rem }
- }
ダウンロードした画像は「img」フォルダに入れておきましょう。そしてブラウザでチェックしてみてください。タブメニューは正常に動いていますでしょうか?
今回はコードが長いので大変でしたね(笑)。デモサイトはひとつの例として見てもらって、商品をそんなにホームページで紹介しないならタブメニューも外してコンパクトにまとめてください。
ちょっとずつでもタグの使い方やプロパティで指定できるデザインがわかってくればご自身で思い描く形を作り上げる事ができるようになっていきます。
次は「お店情報」の項目を作っていきましょう。Googleマップを使って簡単に地図を設置していきます。
SEO
電気工事士
資格・試験
用意するもの
グルメ
資格・試験
WordPress
CSS
JavaScript/jQuery
ホームページの簡単な作り方以外にも
お得な情報や日常を紹介するブログも是非どうぞ!Webに関連するレンタルサーバーなどの特徴・料金比較や、
個人的に挑戦している資格取得についての勉強法やグルメなどを紹介しています。