ナビゲーションバー(nav)の作成方法はいろいろあります。
今回はその一例
navをulのliで作成して、liをinline-blockにすると
横並びになるのでその方法で、作成。
横並びのレイアウトには、calcで均等配置してます。
今回作成したnavの図はこちら
ナビゲーション全体
各リストの表示方法
今回作成したコードはこちら
HTML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
<body> <nav class="h-nav"> <ul class="h-menu"> <li class="h-list"> <a href="#"> <div class="h-box"> <div class="h-top"> ホーム </div><!-- /.h-top --> <div class="h-bottom"> HOME </div><!-- /.h-bottom --> </div><!-- /.h-box --> </a> </li><!-- /.h-list --> <li class="h-list"> <a href="#"> <div class="h-box"> <div class="h-top"> ホーム </div><!-- /.h-top --> <div class="h-bottom"> HOME </div><!-- /.h-bottom --> </div><!-- /.h-box --> </a> </li><!-- /.h-list --> <li class="h-list"> <a href="#"> <div class="h-box"> <div class="h-top"> ホーム </div><!-- /.h-top --> <div class="h-bottom"> HOME </div><!-- /.h-bottom --> </div><!-- /.h-box --> </a> </li><!-- /.h-list --> <li class="h-list"> <a href="#"> <div class="h-box"> <div class="h-top"> ホーム </div><!-- /.h-top --> <div class="h-bottom"> HOME </div><!-- /.h-bottom --> </div><!-- /.h-box --> </a> </li><!-- /.h-list --> <li class="h-list"> <a href="#"> <div class="h-box"> <div class="h-top"> ホーム </div><!-- /.h-top --> <div class="h-bottom"> HOME </div><!-- /.h-bottom --> </div><!-- /.h-box --> </a> </li><!-- /.h-list --> <li class="h-list"> <a href="#"> <div class="h-box"> <div class="h-top"> ホーム </div><!-- /.h-top --> <div class="h-bottom"> HOME </div><!-- /.h-bottom --> </div><!-- /.h-box --> </a> </li><!-- /.h-list --> </ul> </nav><!-- /.h-nav --> </body> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
.h-nav { border-top: 1px solid #d2d2d2; border-bottom: 1px solid #d2d2d2; } .h-menu { margin: 0; padding: 0; letter-spacing: -.4em; } .h-list { display: inline-block; width: calc(100%/6); position: relative; letter-spacing: normal; height: 64px; border-right: 1px solid #d2d2d2; box-sizing: border-box; vertical-align: bottom; } .h-menu:first-child { border-left: 1px solid #d2d2d2; } .h-list:hover .h-top { color: #0e36ca; } .h-list:hover { background-color: #e6ebfa; } .h-list:hover .h-box:before { content: ""; width: 3px; height: 100%; position: absolute; background-color: #0e36ca; left: 4px; } .h-box { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; text-align: center; } .h-top { font-size: 15px; color: #666; margin-bottom: 4px; } .h-bottom { font-size: 10px; color: #bababa; text-align: center; } |
今回はh-list
display: inline-block;で横並び
width: calc(100%/6);
ここは、横幅全幅を6等分で配置。
h-boxを配置する為
position: relative;設定。
今回、文字が2段で配置したいので、
その2文字を、h-boxで囲むことで動かしやすい。
transform: translate(-50%, -50%);
で中央配置にしてる。
navの文字の配置や場所の指定は、文字を囲んでる
h-boxで指定する。
文字のカラーやサイズ。
上下間のスペースはh-topで指定。
position: absolute;を指定すると、その要素は高さが
認識されないので、親要素で高さの指定をする。
navをinline-blockとcalcを使って作成は以上です。
よかったら、参考にしてください。
CodePen での確認はこちら
最近思うのですが、独学もいいのですがわからない所や、
コーディング時のルールなど教えてもらえる環境も必要かなと
感じています。
そこでプログラミングスクールの記事も書いてみました。
おすすめ教材
最後に、この記事見てるあなたは、独学中ですか?
私も最初は、独学でやろうとしました、プログラミング
を独学はちょっとしんどい。。。
私のだした結論は、お金出して学ぼうでした。
独学で時間かけるよりも、お金出して、早くマスター
して、早く収益を上げれるようにした方がいいと思いました。
高単価案件が最短二日で決まる!フリーランスエンジニア案件情報サイト【ポテパンフリーランス】
1冊ですべて身につくHTML & CSSとWebデザイン入門講座 新品価格 |
コメント