記事公開日

画面を斜めにカット(clip-path)して、切れ目にborderを入れるCSS

斜めにカットされた画面に白色の切れ目
お客さん

画面を斜めにカットして、その切れ目にborderを入れたいの。

どうしたらいい?

隊員1号

了解です!

clip-pathでカットして、その位置からcalcでずらした分だけ背景色を付けることで、bordrerを表現しています。

こちらをどうぞ↓

<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="robots" content="noindex">
<title>画面を斜めにカットした切れ目にborder</title>
<style>

body {
    background:red;
    margin:0;
    padding:0;
}

div {
    clip-path: polygon(0% 100%, 0% 62%, 100% 25%, 100% 100%);
    position:relative;
    width:100%;
    height:100vh;
    background:blue;
    margin:0;
    padding:0;
}
div::after {
    content:"";
    width:100%;
    height:100%;
    position:absolute;
    clip-path: polygon(0% calc(62% + 3px), 0% 62%, 100% 25% , 100% calc(25% + 3px));
    background:yellow;
    top:-1px;
    left:-1px;
}



</style>
</head>

<body>

    <div></div>

</body>
</html>

DEMO

赤い背景色を付けたbodyの上に、青い背景色のdivを重ね、白色の切れ目を付けています。

今回のコードでは、3px幅分の位置をずらして、白色の切れ目borderを表現しています。

状況により、若干のズレが生じる場合があります。

その際は、top:-1px、left:-1pxの値を調整してください。

この記事のURLをコピー

メールアドレスは公開されませんのでご安心ください。また、* が付いている欄は必須項目となります。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

関連情報

運営者プロフィール
運営者のプロフィール画像
隊員1号

IT系フリーランスとして10年の経験を持つレスキュー隊。HTML・CSS・JS・PHPなど幅広いスキルを持つ。

詳しいプロフィール