【CSS】カレンダーデザイン(Calendar Design)、ニューモーフィズムでおしゃれに装飾

カレンダーのCSSデザイン
以下のようなカレンダーデザインのCSS、そしてポイントを紹介します。
tableにborder-spacing
border-spacingで、tableの 隣り合うセルの間隔を定めます。このプロパティは border-collapse が separate のときのみ適用される。
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
tableの1行目、曜日の色を変更
月 | 火 | 水 | 木 | 金 | 土 | 日 |
9行目 : 日曜始まりのカレンダーなら、7番目ではなく、1番目にします。
#calendar table tr:nth-child(1) td:nth-child(1)
#calendar table tr:nth-child(1) td {
background: #2196f3;
}
#calendar table tr:nth-child(1) td:nth-child(7) {
background: #f44336;
}
ニューモーフィズム(Neumorphism)
以下のジェネレーターで簡単に作れます。
<div class="btn-wrapper">
<div class="box">15</div>
</div>
25,26行目 : ホバーした時に、box-shadowにinset を指定することで、影が反転します。
.btn-wrapper {
display: flex;
justify-content: center;
align-items: center;
margin: 30px 0;
width: 300px;
height: 200px;
background: #edf1f4;
}
.btn-wrapper .box {
display: flex;
justify-content: center;
align-items: center;
width: 100px;
height: 100px;
color: #333;
font-size: 2rem;
font-weight: bold;
border-radius: 12px;
box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.1),
-10px -10px 15px #fff;
}
.btn-wrapper .box:hover {
color: #333;
box-shadow: inset 10px 10px 15px rgba(0, 0, 0, 0.1),
inset -10px -10px 15px #fff;
}
参考

まとめ
- tableにborder-spacingで、間隔をあける
- tr:nth-child(1)で1行目の曜日の色を変更
-
月曜日始まりなら、
tr:nth-child(1) td:nth-child(7)
で、日曜日だけ色を変える - ニューモーフィズム(Neumorphism)でおしゃれに装飾
こんな記事も読まれています。
-
【CSS】box-sizing: border-boxとは?指定するメリットは?
CSSのbox-sizing: border-boxについて解説します。指定することによりレイアウトしやすくなります。また、親要素からはみ出すことも防げます。
-
【CSS】box-sizing: border-boxとは?指定するメリットは?
CSSのflexboxで上下左右、中央の配置の方法について説明します。justify-contentで左右の配置を、align-itemsで上下の配置を決めます。flex-start,center,flex-endの使い方。
- リンク
-
【CSS】transformのrotateとtransform-originについて。回転させる基点を変える
CSSのrotateについて解説します。指定によりZ軸、X軸、Y軸で回転させます。またtarnsform-originを指定することにより、回転する基点を移動させることができます。
-
【CSS】filterの使い方 画像をぼかしたり、色の変化を適用させる
【CSS】filterの使い方について解説します。画像をぼかしたり、色の変化を適用させるには? brightness、contrast、drop-shadow、grayscale、hue-rotate、invert、saturate、sepiaの設定方法
- リンク
-
【CSS】perspective と transform-style で3D表現。立方体を作ってみよう。
CSSのperspectiveとtransform-styleについて解説します。CSSだけで3Dを表現できます。立方体をつくり、それを応用する方法も紹介します。
-
【CSS】animation パート2 アニメーションの動き(time-function),遅延時間(delay),方向(direction)について
【CSS】animation のアニメーションの動き(time-function),遅延時間(delay),方向(direction)について解説します。。
- リンク
-
【css】grid-templateでtwitter風に画像を表示させる方法
grid-templateを使えば、画像を思い通りに配置できます。twitter風に画像を表現することができます。
-
リンク
-
【CSS】マウスを乗せた(ホバーした)時、サムネイル画像を拡大・縮小する方法
CSSでマウスをホバーした時、サムネイル画像を拡大・縮小する方法。overflow: hiddenやtransform: scale();を使い、拡大、縮小させます。