CSS3には、デザインやレイアウトを柔軟かつ効果的に実現するための多くの新機能があります。以下、代表的なCSS3の機能と具体例を紹介します。
1. レスポンシブデザイン(メディアクエリ)
機能
画面サイズやデバイスの種類に応じてスタイルを切り替えられます。
具体例
cssコードをコピーする/* 画面幅が768px以下の場合 */
@media (max-width: 768px) {
body {
background-color: lightblue;
}
}
/* 画面幅が769px以上の場合 */
@media (min-width: 769px) {
body {
background-color: lightgreen;
}
}
2. Flexbox(柔軟なレイアウト)
機能
要素を柔軟に配置・整列できます。
具体例
cssコードをコピーする.container {
display: flex;
justify-content: center; /* 中央揃え */
align-items: center; /* 縦方向中央揃え */
}
.item {
flex: 1; /* 均等に幅を配分 */
margin: 5px;
background-color: lightcoral;
}
3. グラデーション
機能
要素に滑らかな色の変化(グラデーション)を適用できます。
具体例
cssコードをコピーする.box {
width: 200px;
height: 200px;
background: linear-gradient(to right, red, yellow);
}
4. アニメーション
機能
要素に動きやエフェクトを加えられます。
具体例
cssコードをコピーする@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
.box {
width: 100px;
height: 100px;
background: skyblue;
animation: fadeIn 2s ease-in-out;
}
5. トランジション
機能
スタイル変更時に滑らかな変化を追加できます。
具体例
cssコードをコピーする.button {
background-color: royalblue;
color: white;
transition: background-color 0.3s ease;
}
.button:hover {
background-color: darkblue;
}
6. Transform(変形)
機能
要素を回転、拡大、縮小、移動できます。
具体例
cssコードをコピーする.box {
width: 100px;
height: 100px;
background: tomato;
transform: rotate(45deg);
}
7. Gridレイアウト
機能
2次元のレイアウトシステムで、複雑なレイアウトが簡単に作成できます。
具体例
cssコードをコピーする.container {
display: grid;
grid-template-columns: repeat(3, 1fr); /* 3等分 */
gap: 10px;
}
.item {
background: lightseagreen;
text-align: center;
padding: 20px;
}
8. ボックスシャドウ & テキストシャドウ
機能
要素やテキストに影を追加できます。
具体例
cssコードをコピーする.box {
width: 100px;
height: 100px;
background: white;
box-shadow: 5px 5px 10px rgba(0,0,0,0.5);
}
.text {
font-size: 24px;
text-shadow: 2px 2px 4px gray;
}
9. カスタムプロパティ(CSS変数)
機能
再利用可能な変数をCSSで定義できます。
具体例
cssコードをコピーする:root {
--main-color: steelblue;
--padding: 10px;
}
.button {
background: var(--main-color);
padding: var(--padding);
}
10. レスポンシブフォントサイズ(clamp
関数)
機能
フォントサイズを画面サイズに応じて動的に調整できます。
具体例
cssコードをコピーする.text {
font-size: clamp(14px, 2vw, 24px);
}
まとめ
CSS3はデザイン、レイアウト、インタラクティブな動きに柔軟性とパワーを提供します。これらの機能を組み合わせることで、モダンで美しいWebデザインが実現できます。興味がある機能や深掘りしたい部分があれば教えてくださいね!😊✨