ニューモーフィズム(Neumorphism)デザインは、要素が背景から押し出されたような、あるいは背景に沈み込んだような視覚効果を与えるスタイルです。 このスニペットでは、HTMLとCSSのみを使用して、ホバー状態やアクティブ(クリック)状態でリアルな凹凸を表現するボタンを作成します。
以下のコードをコピーして、プロジェクトに組み込んでください。
<!-- HTML -->
<div class="neumorphism-wrapper">
<button class="neumorphism-btn">Neumorphism</button>
</div>/* CSS */
.neumorphism-wrapper {
background-color: #e0e5ec;
padding: 40px;
display: flex;
justify-content: center;
align-items: center;
}
.neumorphism-btn {
background-color: #e0e5ec;
color: #4a5568;
border: none;
padding: 16px 32px;
font-size: 16px;
font-weight: 600;
border-radius: 50px;
cursor: pointer;
transition: all 0.2s ease-in-out;
/* 通常状態: 外側に影をつけて浮き上がらせる */
box-shadow: 9px 9px 16px rgba(163, 177, 198, 0.6),
-9px -9px 16px rgba(255, 255, 255, 0.5);
}
.neumorphism-btn:hover {
/* ホバー状態: 影を少し小さくして押し込まれる前兆を表現 */
box-shadow: 5px 5px 10px rgba(163, 177, 198, 0.6),
-5px -5px 10px rgba(255, 255, 255, 0.5);
color: #2d3748;
}
.neumorphism-btn:active {
/* アクティブ(クリック)状態: 内側に影をつけて凹みを表現 */
box-shadow: inset 6px 6px 10px 0 rgba(163, 177, 198, 0.6),
inset -6px -6px 10px 0 rgba(255, 255, 255, 0.5);
} #e0e5ec)を一致させます。box-shadow に inset を指定することで、ボタンが押し込まれたような凹み効果を生み出します。