目次
CSSペイントAPIシリーズの探索:
ペイントAPIの代替
SVGフィルター
Ana TudorのCSSのみの方法
CSSペイントAPIソリューション
CSSセットアップ
JavaScriptの実装
欠点とソリューション
機能の拡張
結論

CSSペイントAPIの探索:丸めの形

Mar 18, 2025 am 09:30 AM

CSSペイントAPIの探索:丸めの形

CSSを使用した複雑な形の丸い角をマスターするのは難しい場合があります。 CSSペイントAPIは、エレガントなソリューションを提供します! 「CSS Paint APIの探索」シリーズの一部であるこの記事は、これを達成する方法を示しています。

CSSペイントAPIシリーズの探索:

  • パート1:画像断片化効果
  • パート2: BLOBアニメーション
  • パート3:ポリゴンボーダー
  • パート4:丸め形(この記事)

現在Chrome and Edgeでサポートされているこの手法は、CSSのみのアプローチを提供し、メンテナンスとコードの理解を簡素化します。

ペイントAPIの代替

複雑な形状を丸めるための他の方法は存在しますが、多くの場合、SVGを含み、調整と保守性のための課題を提示します。これらには以下が含まれます:

clip-path: path()

このSVGベースのアプローチは、形状が事前に定義されている場合は簡単ですが、曲率またはサイズを変更するには、複雑なパス編集が必要です。

SVGフィルター

Lucas BebberのGooey Effectチュートリアルに見られるように、SVGフィルターを使用すると、コーナーの丸めが可能になります。ただし、調整のために重要なSVGの専門知識が必要です。

Ana TudorのCSSのみの方法

Ana Tudorの革新的なCSSのみのテクニックは代替品を提供しますが、特に透明性や画像では、さまざまなシナリオを実装および調整することが複雑になる可能性があります。

CSSペイントAPIソリューション

CSSペイントAPIは、より管理しやすいソリューションを提供します。このアプローチは、前の記事のポリゴン境界の例と同様の構造を活用しています。

CSSセットアップ

単純な長方形から始めて、 clip-path: polygon()と同様に、 --path変数を使用して形状を定義します。 Clippyは、これらのパスの生成を支援できます。

 。箱 {
  ディスプレイ:インラインブロック。
  高さ:200px;
  幅:200px;
   - パス:​​50%0,100%100%、0 100%;
   - ラディウス:20px;
  -webkit-mask:ペイント(丸い形);
}
ログイン後にコピー

--path変数は形状を定義し、 --radiusコーナーの曲率を制御します。

JavaScriptの実装

JavaScriptコードは、パスセグメントにミッドポイントを追加し、 arcTo()関数を使用して滑らかな丸い角を作成します。 arcTo()の制御ポイントの使用を理解することが重要です。コードはポイントを繰り返し、中点を計算し、 arcTo()を適用して丸い形状を生成します。半径値が大きいオーバーフローを防ぐために、半径制限が実装されています。

(JavaScriptコードは簡潔に省略されていますが、元の記事で詳しく説明しています)

最後のステップでは、形状を充填またはstrで行い、目的の視覚効果を実現します。

欠点とソリューション

主な欠点は、ホバイル可能な領域(マスクを使用して相互作用に影響する)と、大きな半径の値を持つ潜在的なオーバーフローです。ホバイル可能なエリアの問題は、境界線の擬似要素に2番目のマスクを使用して対処され、オーバーフローの問題は、形状のジオメトリに基づいて半径を動的に制限することによって処理されます。

機能の拡張

--path変数は、各コーナーの個々の半径値を受け入れるように強化され、より詳細な制御を提供します。

いくつかの例は、この手法の汎用性を示しています:CSS形状、音声泡、フレーム、セクション仕分け、ナビゲーションメニュー、グーイ効果、形状のモーフィング。これらの例は、視覚的に魅力的で簡単に保守可能なデザインを作成するためのCSSペイントAPIのパワーと柔軟性を示しています。

結論

CSSペイントAPIは、複雑な形状に丸い角を作成し、従来のCSSとSVGアプローチの限界を克服するための強力で効率的な方法を提供します。その単純な実装と柔軟性により、最新のWebデザインにとって貴重なツールになります。

以上がCSSペイントAPIの探索:丸めの形の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Googleフォント変数フォント Googleフォント変数フォント Apr 09, 2025 am 10:42 AM

Google Fontsが新しいデザイン(ツイート)を展開したようです。最後の大きな再設計と比較して、これははるかに反復的です。違いをほとんど伝えることができません

HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法 HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法 Apr 11, 2025 am 11:29 AM

プロジェクトにカウントダウンタイマーが必要だったことはありますか?そのようなことのために、プラグインに手を伸ばすのは自然なことかもしれませんが、実際にはもっとたくさんあります

HTMLデータ属性ガイド HTMLデータ属性ガイド Apr 11, 2025 am 11:50 AM

HTML、CSS、およびJavaScriptのデータ属性について知りたいと思っていたことはすべて。

CSSを介してファーストクラスの名前アイテムを使用して子要素を選択する方法は? CSSを介してファーストクラスの名前アイテムを使用して子要素を選択する方法は? Apr 05, 2025 pm 11:24 PM

要素の数が固定されていない場合、CSSを介して指定されたクラス名の最初の子要素を選択する方法。 HTML構造を処理するとき、あなたはしばしば異なる要素に遭遇します...

フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? Apr 05, 2025 pm 05:51 PM

フレックスレイアウトの紫色のスラッシュ領域に関する質問フレックスレイアウトを使用すると、開発者ツールなどの混乱する現象に遭遇する可能性があります(D ...

SASSをより速くするための概念の証明 SASSをより速くするための概念の証明 Apr 16, 2025 am 10:38 AM

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

SVGでタータンパターンを生成する静的サイトを作成する方法 SVGでタータンパターンを生成する静的サイトを作成する方法 Apr 09, 2025 am 11:29 AM

タータンは、スコットランド、特にファッショナブルなキルトに通常関連する模様のある布です。 Tartanify.comでは、5,000を超えるTartanを集めました

See all articles