ホームページ >ウェブフロントエンド >CSSチュートリアル >CSS3のみを使用してDivに透明な半円のカットアウトを作成するにはどうすればよいですか?

CSS3のみを使用してDivに透明な半円のカットアウトを作成するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-03 03:20:39425ブラウズ

How to Create a Transparent Half-Circle Cutout in a Div using Only CSS3?

CSS3 を使用して Div に透明な半円のカットアウトを作成する

CSS3 のみを使用して div 内に透明な半円のカットアウトを作成するには、形状を形成するすべての要素の背景色は黒または透明のままでなければなりません。この要件を満たす手法には、CSS の ::after 擬似プロパティを利用することが含まれます。

目的の効果を実現する方法の例を次に示します。

body {
  background: green;
}

.rect {
  height: 100px;
  width: 100px;
  background: rgba(0, 0, 0, 0.5);
  position: relative;
  margin-top: 100px;
  margin-left: 100px;
}

.circle {
  display: block;
  width: 100px;
  height: 50px;
  top: -50px;
  left: 0;
  overflow: hidden;
  position: absolute;
}

.circle::after {
  content: '';
  width: 100px;
  height: 100px;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px;
  border-radius: 100px;
  background: rgba(0, 0, 0, 0);
  position: absolute;
  top: -100px;
  left: -40px;
  border: 40px solid rgba(0, 0, 0, 0.5);
}
<div class="rect"><span class="circle"></span></div>

このアプローチでは、四角形が作成されます。黒いオーバーレイと半透明の円。円は透明な切り抜き形状を作成するために絶対に配置されます。

以上がCSS3のみを使用してDivに透明な半円のカットアウトを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。