CSSで台形を描くサンプルコード
CSSで台形を描く方法はいくつかありますが、ここではclip-path
を使った方法を紹介します。このサンプルコードは、HTMLとCSSで構成されています。
まず、HTMLファイルに台形を表示する要素を作成します。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>台形の描画</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="trapezoid"></div>
</body>
</html>
次に、CSSファイル(styles.css
)で台形のスタイルを設定します。
.trapezoid {
width: 150px;
height: 100px;
background-color: #3498db;
clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
}
このサンプルコードでは、clip-path
プロパティを使って、台形の形状を定義しています。polygon
関数で点を指定し、それらの点を結んで形状を作成します。この場合、左上が20%、右上が80%、右下が100%、左下が0%の位置にある点を結んで台形を作成しています。
width
とheight
プロパティで台形のサイズを調整し、background-color
プロパティで台形の色を設定しています。必要に応じてこれらの値を変更して、好みの台形を描画できます。
clip-pathを使わない方法
clip-path
を使わずに、CSSで台形を描く方法として、::before
や::after
疑似要素とtransform
プロパティを用いた方法があります。ここでは、::before
と::after
疑似要素を使って、2つの三角形と長方形を組み合わせて台形を描画します。
HTMLファイルは次のようになります。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>台形の描画</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="trapezoid"></div>
</body>
</html>
CSSファイル(styles.css
)では次のようにスタイルを設定します。
.trapezoid {
position: relative;
width: 100px;
height: 50px;
background-color: #3498db;
margin: 50px;
}
.trapezoid::before,
.trapezoid::after {
content: "";
position: absolute;
width: 0;
height: 0;
border-style: solid;
z-index: -1;
}
.trapezoid::before {
top: 0;
left: 0;
border-width: 0 25px 50px 0;
border-color: transparent #3498db transparent transparent;
}
.trapezoid::after {
top: 0;
right: 0;
border-width: 0 0 50px 25px;
border-color: transparent transparent transparent #3498db;
}
このサンプルコードでは、::before
と::after
疑似要素を使って、左側と右側の三角形を作成しています。三角形は、border
プロパティを利用したテクニックで作成しています。三角形の大きさや位置は、border-width
プロパティやtop
、left
、right
プロパティで調整できます。
長方形部分は、.trapezoid
クラスの要素で表現されており、background-color
プロパティで色を設定しています。
これにより、2つの三角形と長方形が組み合わさり、台形が描画されます。必要に応じて、width
、height
、border-width
などの値を変更して、好みの台形を描画できます。