目次
CSS clip-path属性と形状
形状作成のためのclip-path
Tryshapeの紹介
CSS clip-pathを使用して、Tryshapeで形状を作成します
Tryshapeの将来の開発方向
結論
ホームページ ウェブフロントエンド CSSチュートリアル CSSクリップパスプロパティのショーケースであるTryshapeの背後にあるストーリー

CSSクリップパスプロパティのショーケースであるTryshapeの背後にあるストーリー

Mar 20, 2025 am 10:14 AM

CSSクリップパスプロパティのショーケースであるTryshapeの背後にあるストーリー

私はあらゆる種類の形、特に明るい色の形が大好きです!ウェブサイトの形状は、背景の色、写真、バナー、セパレーター、アートワークなどと同じくらい重要です。それらは、私たちがコンテキストを理解し、利益を通して私たちを導くのに役立ちます。

数ヶ月前、私は7歳の娘のための数学学習アプリケーションを開発しました。基本的な追加と減算に加えて、私は問題を形状に提示したいと思います。当時、私はCSS clip-pathプロパティに精通しました。これは、Webページで形状を作成する信頼できる方法です。その後、 clip-pathの力を使用してTryshapeという別のアプリケーションを構築することになりました。

Tryshapeの背後にあるストーリーと、それが形状の作成、管理、共有、エクスポートにどのように役立つかを説明します。その過程で、CSS clip-pathと、アプリケーションの迅速な構築にどのように役立つかについて説明します。

ここにいくつかの重要なリンクがあります:

  • Tryshape Webサイト
  • GitHubコードライブラリ
  • ビデオデモ
  • 反応用のclip-pathカプセル化NPMパッケージ

CSS clip-path属性と形状

通常の紙と鉛筆があると想像してみてください。あなたは何をしますか?おそらく、ある時点から始めてから、別のポイントにを引き、最初のポイントに戻る前に3回繰り返します。また、平行と同じ長さの反対側があることを確認する必要があります。

したがって、形状の基本要素には、ポイント、線、方向、曲線、角度、長さなどが含まれます。 CSS clip-pathこれらの特性の多くを指定して、特定の領域を表示するためにHTML要素の面積をトリミングするのに役立ちます。クロップドエリア内の部分が表示され、残りが隠されます。開発者にclip-pathプロパティを使用してさまざまな形状を作成する多くの機会を提供します。

作物の詳細と、それがマスキングとどのように異なるかをご覧ください。

形状作成のためのclip-path

clip-pathプロパティは、次の値を受け入れて形状を作成します。

  • circle()
  • ellipse()
  • inset()
  • polygon()
  • url()関数を使用してクリップソース
  • path()

これらの値を使用するには、基本的な座標系を少し理解する必要があります。要素にclip-path属性を適用して形状を作成する場合、要素の左上隅のx軸、y軸、および初期座標(0,0)を考慮する必要があります。

これは、x軸、y軸、および初期座標(0,0)を備えたDIV要素です。

次に、 circle()値を使用して円形を作成しましょう。この値を使用して、円の位置と半径を指定できます。たとえば、座標位置(70、70)で半径70pxの円形形状を作成するには、 clip-path属性値を次のように指定できます。

クリップパス:円(70px 70pxで70px)

したがって、円の中心は座標(70、70)にあり、半径は70pxです。現在、この円形領域のみがトリミングされ、要素に表示されています。要素の残りの部分は、円形の印象を作成するために隠されています。

次に、(0,0)として位置を指定したい場合はどうなりますか?この場合、円の中心は、半径70pxの(0,0)位置にあります。これにより、要素内の円の一部のみが表示されます。

先に進み、他の2つの基本値inset()polygon()を使用しましょう。 insetを使用して、長方形の形状を定義します。 4つのエッジが要素から領域をトリミングする必要がある場合があるギャップを指定できます。例えば:

クリップパス:挿入図(30px)

上記のclip-path値は、要素の端から30px値を除外することにより、領域をクリップします。これは下の写真で見ることができます。また、各エッジの異なるinset値を指定することもできます。

次はpolygon()値です。一連の頂点を使用して、ポリゴン形状を作成できます。この例をご覧ください:

クリップパス:ポリゴン(10%10%、90%10%、90%90%、10%80%)

ここでは、トリミング用の領域を作成する頂点のセットを指定します。次の図は、各頂点の位置を示しており、ポリゴン形状を作成します。必要な限り多くの頂点を指定できます。

次に、 ellipse()url()値を見てみましょう。 ellipse()値は、2つの半径値と1つの位置を指定することにより、形状を作成するのに役立ちます。下の図では、半径(50%、50%)の位置に楕円が、形状幅が70px、高さは100pxの位置にあります。

url()は、SVG形状をレンダリングするためにclip-path要素のID値を指定するCSS関数です。下の写真をご覧ください。 clipPathpath Elementsを使用してSVG形状を定義します。 clipPath要素のID値を使用してurl()関数の引数としてこの形状をレンダリングできます。

さらに、 path()関数内のpath値を直接使用して形状を描画できます。

大丈夫。さまざまなclip-path属性値をすでに理解していることを願っています。この理解で、いくつかの実装を見て、それを試してみましょう。例を示します。それを使用して追加して、値を変更して新しい形状を作成します。

Tryshapeの紹介

今度は、トリシェープとそのバックストーリーについて話す時が来ました。 Tryshapeは、選択した形状の作成、エクスポート、共有、使用に役立つオープンソースアプリケーションです。バナー、サークル、アートワーク、ポリゴンを作成し、SVG、PNG、およびJPEGファイルとしてエクスポートできます。また、CSSコードスニペットを作成して、アプリケーションでコピーして使用することもできます。

Tryshapeは、次のフレームワークとライブラリ(そしてもちろんclip-path )を使用して構築されています。

  • CSS clip-path :この強力なCSSプロパティの機能について説明しました。
  • Next.js:最もクールな反応ベースのフレームワーク。バックエンドデータベースに接続するために、ページ、コンポーネント、インタラクション、APIを作成するのに役立ちます。
  • HARPERDB:データを保存し、SQLとNOSQLの相互作用を使用してそれらをクエリするための柔軟なデータベース。 Tryshapeは、HarperDBクラウドにスキーマとテーブルを作成します。 Next.js APIはスキーマとテーブルと対話して、ユーザーインターフェイスに必要なCRUD操作を実行します。
  • FireBase:Googleからの認証サービス。 Tryshapeは、Google、Github、Twitter、およびその他のアカウントを使用してソーシャルログインを有効にするために使用します。
  • React-Icons:Reactアプリケーション用のすべてのアイコン用のストア
  • 日付FNS:日付のフォーマットのための最新の軽量ライブラリ
  • Axios:ReactコンポーネントのAPI呼び出しを簡素化します
  • スタイルのコンポーネント:ReactコンポーネントからCSSルールを作成する構造化された方法
  • React-Clip-Path:Reactアプリケーションでclip-pathプロパティを処理するための自家製モジュール
  • React-Draggable:HTML要素をReactアプリケーションでドラッグ可能にします。 Tryshapeはそれを使用して、形状の頂点の位置を調整します。
  • DownloadJS:JavaScriptのトリガーダウンロード
  • HTML-to-image:HTML要素を画像に変換します(SVG、JPEG、PNGを含む)
  • Vercel:next.jsアプリケーションをホストするのに最適です

CSS clip-pathを使用して、Tryshapeで形状を作成します

CSS clip-pathプロパティを使用して形状を作成するのに役立つソースコードを強調しましょう。次のコードスニペットは、300pxの正方形のコンテナ要素(ボックス)のユーザーインターフェイス構造を定義します。ボックス要素には、影とコンポーネントの2つの子要素があります。

<box height="300px" onclick="{(e)"> props.handlechange(e)} width = "300px">
  {
    props.shapeinformation.showshadow &&
    <shadow backgroundcolor="{props.shapeInformation.backgroundColor}"></shadow>
  }
  <component backgroundcolor="{props.shapeInformation.backgroundColor}" formula="{props.shapeInformation.formula}"></component>
</box>

シャドウコンポーネントはclip-pathクリップによって隠された領域を定義します。エンドユーザーがこの領域を部分的に見ることができるように、軽い背景を表示するように作成します。コンポーネントは、 clip-path値を割り当てるために使用され、クリップ領域を表示します。

以下のボックス、影、コンポーネントのスタイルのコンポーネントの定義を参照してください。

 // CSSプロパティを使用したUIコンポーネント用のスタイルのコンポーネントコードを作成//コンテナDiv
const box = styled.div`
  width:$ {props => propidth ||。
  高さ:$ {props => props.height ||。
  マージン:0 Auto;
  位置:相対;
`;

//シャドウは「クリップパス」のトリミングで隠された領域を定義します//この領域を部分的に見えるように軽い背景を表示します。
const shadow = styled.div`
  background-color:$ {props => props.backgroundcolor ||。
  不透明度:0.25;
  位置:絶対;
  トップ:10px;
  左:10px;
  右:10px;
  下:10px;
`;

//「クリップパス」値(式)を取得し、「クリップパス」プロパティの実際のコンポーネントに設定します。
const Component = styled.div`
  クリップパス:$ {props => props.formula};
  位置:絶対;
  トップ:10px;
  左:10px;
  右:10px;
  下:10px;
`;

GitHubコードベースの完全なコードベースを自由に表示してください。

Tryshapeの将来の開発方向

Tryshapeは、バックグラウンドCSS clip-pathを使用して基本的な形状の作成と管理を処理します。 Webアプリケーションで使用するために、形状とCSSコードスニペットのエクスポートに役立ちます。より価値のある機能を開発する可能性があります。主な機能は、湾曲したエッジで形状を作成する機能です。

曲線形状をサポートするには、Tryshapeで次の値をサポートする必要があります。

  • url()を使用してクリップソース
  • path()

これらの値を使用すると、SVGを使用してシェイプを作成し、上記の値のいずれかを使用できます。これは、SVGサポートを使用して形状を作成するurl() CSS関数の例です。

<div>心臓</div>
<svg><clippath clippathunits="objectBoundingBox"><path d="M0.5,1
      C 0.5,1,0,0.7,0,0.3
      A 0.25,0.25,1,1,1,0.5,0.3
      A 0.25,0.25,1,1,1,1,0.3
      C 1,0.7,0.5,1,0.5,1 Z"></path></clippath></svg>

次に、CSSがあります:

 。心臓 {
  クリップパス:url(#heart-path);
}

次に、 path()値を使用して形状を作成しましょう。 HTMLには、divのような要素が必要です。

<div>曲線</div>

CSSで:

 .Curve {
  クリップパス:PATH( "M 10 80 C 40 10、65 10、95 80 S 150 150、180 80");
}

結論

私のトリシュシェープアプリケーションを楽しんで、その背後にある哲学、私が考慮する戦略、基礎となる技術、そして将来の可能性を理解してください。試してみて、ソースコードを確認してください。もちろん、質問、機能のリクエスト、コードを通じて、いつでも貢献できます。

最後に、Hashnode Hackathonの短いビデオを見せたいと思います。Tryshapeがエントリであり、最終的に勝者に選ばれました。楽しんだことを願っています。

お問い合わせください。 Twitterで@me(@tapasadhikary)にコメントしたり、いつでもフォローしたりできます。

以上がCSSクリップパスプロパティのショーケースであるTryshapeの背後にあるストーリーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

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)

Autoprefixerとは何ですか?それはどのように機能しますか? Autoprefixerとは何ですか?それはどのように機能しますか? Jul 02, 2025 am 01:15 AM

Autoprefixerは、ターゲットブラウザスコープに基づいてCSS属性にベンダープレフィックスを自動的に追加するツールです。 1.エラーで接頭辞を手動で維持する問題を解決します。 2. PostCSSプラグインフォーム、CSSを解析し、プレフィックスする必要がある属性を分析し、構成に従ってコードを生成する属性を分析します。 3.使用手順には、プラグインのインストール、ブラウザーリストの設定、ビルドプロセスでそれらを有効にすることが含まれます。 4。メモには、接頭辞を手動で追加しない、構成の更新を保持すること、すべての属性ではなくプレフィックスを維持することが含まれ、プリ​​プロセッサでそれらを使用することをお勧めします。

粘着性ヘッダーまたはフッターを作成するためのCSSチュートリアル 粘着性ヘッダーまたはフッターを作成するためのCSSチュートリアル Jul 02, 2025 am 01:04 AM

to CreateStickyheadersandfooterswithcss、使用ポジション:Stickyforheaderswithtopvalueandz-index、ParentContainersdon’trestrictit.1.forstickyheaders:Setposition:Sticky、Top:0、Z-Index、およびBackgroundColor.2

conic-gradient()関数とは何ですか? conic-gradient()関数とは何ですか? Jul 01, 2025 am 01:16 AM

TheConic-Gradient()functionsscreateScular勾配の勾配は、測定されていることを確認してください

ロードスピナーとアニメーションを作成するためのCSSチュートリアル ロードスピナーとアニメーションを作成するためのCSSチュートリアル Jul 07, 2025 am 12:07 AM

CSSロード回転子を作成するには3つの方法があります。1。境界の基本回転子を使用して、HTMLとCSSを介してシンプルなアニメーションを実現します。 2。複数のポイントのカスタム回転子を使用して、異なる遅延時間を経てジャンプ効果を実現します。 3.ボタンに回転子を追加し、JavaScriptを介してクラスを切り替えて、読み込みステータスを表示します。各アプローチは、ユーザーエクスペリエンスを向上させるために、色、サイズ、アクセシビリティ、パフォーマンスの最適化などのデザインの詳細の重要性を強調しています。

モバイルファーストデザインに焦点を当てたCSSチュートリアル モバイルファーストデザインに焦点を当てたCSSチュートリアル Jul 02, 2025 am 12:52 AM

Mobile-firstcsssdesignRequiresTtingtheviewportatatag、使用、stylumsmallscreensup、optimingTouchTargets.first.second、cecond、em、orreminsteadofpixelseders.ths.thsthird、writebasethirdird、addtocontrolscaling.second、addtocontrolscaling.second

ビューポート内でグリッド全体を中央に配置する方法は? ビューポート内でグリッド全体を中央に配置する方法は? Jul 02, 2025 am 12:53 AM

グリッドレイアウト全体をビューポートの中心にするには、次の方法で実現できます。1。マージンを使用して水平センタリングを実現し、固定レイアウトに適した固定幅を設定するためにコンテナを設定する必要があります。 2。FlexBoxを使用して、外側の容器内のJustify-ContentおよびAlign-Itemsプロパティを設定し、Min-Height:100VHを組み合わせて、フルスクリーンディスプレイシナリオに適した垂直および水平センタリングを実現します。 3. CSSGridのPlace-ITEMSプロパティを使用して、親コンテナをすばやく中央に集中させます。これは、シンプルで最新のブラウザからの適切なサポートがあり、同時に、親コンテナが十分な高さを確保する必要があります。各方法には、適用されるシナリオと制限があります。実際のニーズに応じて適切なソリューションを選択するだけです。

本質的にレスポンシブなグリッドレイアウトを作成する方法は? 本質的にレスポンシブなグリッドレイアウトを作成する方法は? Jul 02, 2025 am 01:19 AM

本質的な応答性のあるグリッドレイアウトを作成するために、COREメソッドはCSSGridのRepeat(auto-fit、minmax())モードを使用することです。 1.グリッドテンプレートコラムの設定:繰り返し(Auto-Fit、MinMax(200PX、1FR))繰り返して、ブラウザが列の数を自動的に調整し、各列の最小幅と最大幅を制限します。 2。ギャップを使用してグリッド間隔を制御します。 3.コンテナは、幅などの相対ユニットに設定する必要があります。100%、およびボックスサイズを使用してください。幅の計算エラーを回避し、マージンで中央に配置する必要があります。 4.オプションで、行の高さとコンテンツのアライメントを設定して、行などの視覚的な一貫性を向上させます

@supportsを使用したCSSの機能検出とは何ですか? @supportsを使用したCSSの機能検出とは何ですか? Jul 02, 2025 am 01:14 AM

featuredEtectionincssusing@supportscheckcksifabrowssaspificfeatureforeapplyingStyles.1.itusesconditionalcssalcssbasedsbasedonproperty-valuepairsなど、supports(display:grid).2.thismethodensuresuresuresuresuresurecompativitionivitionivitionaindavoidavoidsrioushsriasiondrell

See all articles