9月更新・前月(8月)の人気記事トップ10 09/02/2024
- ( 01 – ) 【Labs】position:absoluteとwidth:100%を指定すると横幅の設定がうまくいかない場合の対処方法について
- ( 07 ↑) 【Mac】macOSをHigh SierraからMontereyにアップグレード
- ( 03 – ) 【Mac】横画面で撮影した動画をYouTubeショート用にMacのiMovieで縦画面に編集する方法
- ( 10 ↑) 【iPhone / iPad】iPhoneのツイッターアプリでユーザー名をコピーする方法
- (圏外↑) 【Labs】CSSだけでドロップダウンメニュー
- ( 02 ↓) 【jQuery】入門2. jQueryをHTMLに組み込む
- ( 09 ↑) 【Mac】Safariでソースコードを見る方法
- ( 04 ↓) 【jQuery】入門7. jQueryで新しいWindowを開く
- ( 06 ↓) 【2024年5月】iPad画面解像度まとめ
- (圏外↑) 【GIMP】レイヤーをロック
【Labs】ナビゲーションボタンをcalc()関数で作ってみる
こんにちは(・∀・)
今日はナビゲーションボタンをcalc()関数を使って作ってみます。
前回【ブログ】CSS3のcalc()関数なら割り切れない数値でも本当にピッタリになるの⁉️で実験した通りChromeでの表示を気にする必要がありますが、1px程の誤差なのでうまく調整して作っていきましょう。
可変幅と固定幅のサンプルを作りました。
サンプルデモ
Result
スマホでのご確認はこちらをどうぞ
どちらのサンプルも分かりやすいよう親要素の背景に色をつけています。
HTML
<div class="nav">
<div class="container-1">
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<!--container-1--></div>
<!--nav--></div>
<div class="nav">
<div class="container-2">
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<div class="box"><a href="">box</a></div>
<!--container-2--></div>
<!--nav--></div>
CSS
.sample-demo .nav {
width: 100%;
height: 50px;
margin: 0;
padding: 0;
background: lightgray;
}
.sample-demo .nav .container-1 {
height: 50px;
margin: 0 auto;
padding-top: 5px;
display: flex;
background: gray;
color: #444;
box-sizing: border-box;
}
.sample-demo .nav .container-1 .box {
border-left: 1px solid gray;
}
.sample-demo .nav .container-1 .box:nth-child(1) {
border-left: none;
}
.sample-demo .nav .container-1 .box a {
display: block;
height: 40px;
margin: 0;
padding: 0;
text-align: center;
text-decoration: none;
line-height: 2.0;
font-size: 1.2em;
background: lightblue;
color: gray;
}
.sample-demo .nav .container-1 .box a:hover {
opacity: 0.8;
}
.sample-demo .nav .container-1 {
width: 1000px;
}
.sample-demo .nav .container-1 .box {
width: calc(1000px / 5);
}
.sample-demo .nav {
width: 100%;
height: 50px;
margin: 0;
padding: 0;
background: lightgray;
}
.sample-demo .nav .container-2 {
height: 50px;
margin: 0 auto;
padding-top: 5px;
display: flex;
background: gray;
color: #444;
box-sizing: border-box;
}
.sample-demo .nav .container-2 .box {
border-left: 1px solid gray;
}
.sample-demo .nav .container-2 .box:nth-child(1) {
border-left: none;
}
.sample-demo .nav .container-2 .box a {
display: block;
height: 40px;
margin: 0;
padding: 0;
text-align: center;
text-decoration: none;
line-height: 2.0;
font-size: 1.2em;
background: lightblue;
color: gray;
}
.sample-demo .nav .container-2 .box a:hover {
opacity: 0.8;
}
.sample-demo .nav .container-2 {
width: 100%;
}
.sample-demo .nav .container-2 .box {
width: calc(100% / 5);
}
calc()関数を使ったナビゲーションのサンプルでした。よろしければご活用ください。