Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8669

【初心者でもわかる】親子関係を持つメニューの作り方

$
0
0

メニューの中でも、①②③と続く中で、①-1、①-2と子供を持つメニューを作る場面があると思います。
WEBサイトを利用するユーザーに伝わりやすいような親子関係が分かりやすいメニューを作ります。

sample.png

ソース

index.html
<ulclass="menu"><li><ahref="#">①あの段</a><ulclass="child"><li><ahref="#">①-1 あ</a></li><li><ahref="#">①-2 い</a></li><li><ahref="#">①-3 う</a></li><li><ahref="#">①-4 え</a></li><li><ahref="#">①-5 お</a></li></ul></li><li><ahref="#">②かの段</a><ulclass="child"><li><ahref="#">②-1 か</a></li><li><ahref="#">②-2 き</a></li><li><ahref="#">②-3 く</a></li><li><ahref="#">②-4 け</a></li><li><ahref="#">②-5 こ</a></li></ul></li></ul>
style.css
.menu{width:150px;/* 適当なサイズを指定 */border:1pxsolid#666;/* 枠線を作成 */}.menulia{width:100%;/* 幅を100%に指定 */border-top:1pxsolid#666;/* 上に線を引く */padding:10px20px;/* 余白を指定 */display:inline-block;/* 幅指定・余白を付けるために必要 */box-sizing:border-box;/* 計算を簡単にするために必要 */}.menu>li:first-child>a{border-top:none;/* 最初は上の線を無くす */}.menulia:hover{background:#CCF;/* カーソルを乗せた時の見た目 */}.menuli.childlia{padding-left:40px;/* 左の余白を大きめに上書き */}

解説

まずは親子関係を持たせるためにhtmlのソース側で親子関係を作ります。
ulliの中に、またulliの組み合わせを用意して親子関係を持たせます。
CSSを当てやすいように親のulには「.menu」、子のulには「.child」のクラスを付けています。

基本的にはliのデザインテイストを合わせるために.menu li aにたいして主要なCSSを作っていきます。

その後、.menu li .child以下にたいしてのみ効かせるようなCSSを書くことで、差別化を測ります。
今回の例ではシンプルに少し右寄せにしてみました。
ほかにもこのようなデザインも作る事が可能です。

sampl2.png

style.css
/* .childのCSSを少し変更 */.menuli.childlia{width:calc(100%-30px);margin-left:30px;padding-left:10px;border-top:1pxsolid#CCC;}

まとめ

ヘッダーのハンバーガーメニューをクリックしたら、今回作成したメニューが出てくるように作成したり、
目次ボタンを押したらアコーディオンでメニューが出てくるなど使い方は様々あるかなと思います。

コーディング始めたての頃はタグの要素が2重になったりするとややこしくて上手くCSSがかけない事もありますが、
落ち着いて綺麗に作れば改良も修正も簡単になるので、様々なサイトを参考にしながら模写コーディングするなどでスキルを上げていくのがいいのかなと思います。

おそまつ!

~ Qiitaで毎日投稿中!! ~
【初心者向け】WEB制作のちょいテク詰め合わせ


Viewing all articles
Browse latest Browse all 8669

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>