ホームページ >ウェブフロントエンド >CSSチュートリアル >CSSクリップパスを使用して、カスタムシェイプとクリッピング領域を作成するにはどうすればよいですか?
CSS clip-path
使用すると、要素の可視領域を定義するパスを指定することにより、HTML要素のカスタムシェイプとクリッピング領域を作成できます。このパスの外側はすべて切り取られて隠されています。 clip-path
プロパティに値を割り当てることにより、これを達成します。この値はいくつかの関数の1つである可能性があり、それぞれがクリッピングパスを定義するさまざまな方法を提供します。
最も一般的な機能は次のとおりです。
inset()
:要素のエッジから長方形のクリッピング領域の挿入物を作成します。上部、右、下部、および骨折したオフセットを表す4つの値が必要です。たとえば、 clip-path: inset(10px 20px 30px 40px);
上から10px、右から20px、下から30px、左から40pxを作成します。circle()
:円形のクリッピング領域を作成します。中心と半径を指定する半径または円の定義のいずれかが必要です。 clip-path: circle(50px);
要素を中心とした半径50pxの円を備えた円を作成します。 clip-path: circle(50px at 50px 50px);
50px、50pxを中心とする半径50pxの円を作成します。ellipse()
: circle()
に似ていますが、楕円形のクリッピング領域を作成します。中心と半径を指定する半径または楕円定義のいずれかが必要です。 clip-path: ellipse(50px 30px);
50pxの半径と30pxの要素を中心とした楕円を作成します。 clip-path: ellipse(50px 30px at 75px 50px);
50pxと30pxの半径が75px、50pxを中心の楕円を作成します。polygon()
:多角形のクリッピング領域を作成します。ポリゴンの頂点を定義する座標のコンマ分離リストが必要です。たとえば、 clip-path: polygon(0 0, 100% 0, 50% 100%, 0 100%);
三角形を作成します。座標は、要素の寸法に関連しています。path()
: SVG PATHデータを使用して複雑な形状を定義できるように、最も柔軟性を提供します。これには、SVGパス構文を理解する必要がありますが、想像できるすべての形状を有効にします。たとえば、 clip-path: path("M0,0 H100 V100 H0 Z");
正方形を作成します。 clip-path
プロパティは、URLを使用して、クリッピングパス定義を含む外部SVGファイルを参照することもできます。これは、別のファイルで定義されている複雑な形状に役立ちます。
CSS clip-path
画像に頼らずに視覚的に興味深い魅力的なデザインを作成する強力な方法を提供します。一般的なユースケースには次のものが含まれます。
clip-path
長方形の画像に適用して、目的の形状を実現できます。clip-path
を適用して目的の部分のみを明らかにすることで、画像の一部をマスクできます。clip-path
使用して、不規則な形状のセクションや重複要素などの異常なレイアウト構造を作成できます。clip-path
使用して、形状が異なる画面サイズに適応するレスポンシブデザインを作成できます。overflow
やbackground-image
などの他のCSSプロパティとどのように相互作用しますか? clip-path
他のCSSプロパティと興味深い方法で対話します。
overflow
: overflow
プロパティは、容器がオーバーフルするコンテンツがどのように処理されるかを決定します。要素にclip-path
が適用されている場合、 overflow
設定に関係なく、パスによってクリップされたコンテンツが効果的に非表示になります。ただし、 overflow
プロパティは、要素の境界をオーバーフルする場合、クリップ領域の外側のコンテンツに依然として影響します。background-image
: background-image
もclip-path
によってクリップされます。定義されたパス内の背景画像の部分のみが表示されます。これにより、画像の一部のみが表示される興味深い背景効果を作成できます。背景はclip-path
の形状を尊重します。border
:境界線はclip-path
によって切り取られていません。境界線は、切り取られた形状ではなく、要素の元の長方形の境界の周りに描かれます。切り取られた形状に続く境界線が必要な場合は、背景の色と形状の一致する擬似要素など、異なるテクニックを使用する必要があります。 「形状」のクラスを持つ<div>要素を使用して、いくつかの例で説明しましょう。<pre class="brush:php;toolbar:false"> <code class="html"><div class="shape"></div> <div class="shape circle"></div> <div class="shape polygon"></div> <div class="shape inset"></div></code></pre>
<pre class="brush:php;toolbar:false"> <code class="css">.shape { width: 150px; height: 150px; background-color: lightblue; margin: 20px; } .shape.circle { clip-path: circle(50% at 50% 50%); /* Circle */ } .shape.polygon { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); /* Square */ } .shape.inset { clip-path: inset(20px 10px 30px 40px); /* Inset Rectangle */ } .shape.path{ clip-path: path("M0,0 H100 V100 H0 Z"); /*Square using path()*/ }</code></pre>
<p>このコードは、さまざまな<code>clip-path
関数を示しています。 .circle
クラスは円を作成し、 .polygon
正方形を作成し、 .inset
端から長方形の挿入図を作成し、 path()
を使用して正方形のさらなる例を作成できます。値を調整して、ニーズに合わせて形状をカスタマイズすることを忘れないでください。他の機能とそのパラメーターを調査して、より複雑な形状を作成できます。ブラウザの開発者ツールで結果を常に検査して、形状と位置を微調整してください。
以上がCSSクリップパスを使用して、カスタムシェイプとクリッピング領域を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。