亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目次
デスクトップ
モバイル/タブレット
ホームページ ウェブフロントエンド CSSチュートリアル CSSマスクを使用して、ギザギザのエッジを作成します

CSSマスクを使用して、ギザギザのエッジを作成します

Apr 06, 2025 am 10:19 AM

CSSマスクを使用してジャグ付きエッジを作成します

私は最近、プロジェクトのバナー畫像の下部にきちんとしたギザギザのエッジを作成する必要がありました。

これは私にしばらく考えさせられ、その過(guò)程で何かを?qū)Wびました!自分のプロジェクトでも使用できるように、自分の方法を書き留めることができると思います。

通常のHTML畫像とラッパー要素から始めます。

<div>
  <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174390595232013.jpg" class="lazy" alt="CSSマスクを使用して、ギザギザのエッジを作成します">
</div>

次に、pseudo-element ::after使用して、その上に重複する背景畫像を配置します。

 .jagged-wrapper ::後{
  コンテンツ: "";
  バックグラウンドイメージ:url( 'data:image/svg xml; utf-8、 <svg preserveaspectratio="none" viewbox="0 0 1 1" xmlns="http://www.w3.org/2000/svg"><polygon points="1,0 1,1 0,1 " style="fill:white;"></polygon></svg> ');
  バックグラウンドサイズ:30px 30px;
  幅:100%;
  高さ:30px;
  位置:絶対;
  下:0px;
  右:0;
  z-index:2;
}

その背景畫像?これは、データURIに変換されたSVGコードです。これは元のSVGコードです。クリスには、変換プロセスを説明する素?cái)长圣鹰钎ⅳ辘蓼埂?/p>

<svg preserveaspectratio="none" viewbox="0 0 1 1" xmlns="http://www.w3.org/2000/svg">
  <polygon points="1,0 1,1 0,1 " style="fill: white;"></polygon>
</svg>

「それは終わった!」私は思った。

これはうまくいきますが、私の良さはとても面倒です。このようなCSSでSVGタグを読むことは困難です。また、それらを引用することを忘れないでください(例url('data:image/svg xml'...') )。もちろん、これを回避するためにSVGをエンコードすることができますが、さらに迷惑です。また、SVGは、畫像(または使用する場(chǎng)所)と同じ背景色で満たす必要があります。それ以外の場(chǎng)合は機(jī)能しません。

待って、これはマスクの機(jī)能ではありませんか?はい!はい、それがマスクのことです。

これにより、新しいアプローチにつながります。このような畫像をCSSマスクとして使用して、バナーイメージの「欠落」部分が実際に欠落するようにします。バナーの上部に背景色の三角形を描く代わりに、バナーから完全に覆い、実際の背景を表示します。そうすれば、それはどんな文脈でも機(jī)能します!

このマスクは、ほぼすべての場(chǎng)所で非常にサポートされています。少なくともここで説明した単純なアプローチでは。また、プログレッシブエンハンスメントで実裝できるものについても話しています。特定のブラウザでマスクがサポートされていない場(chǎng)合、ギザギザの効果は得られません。それは間違いなく世界の終わりではありません。

このブラウザは、Caniuseのデータをサポートしています。これには詳細(xì)が含まれています。番號(hào)は、ブラウザがこのバージョン以降でこの機(jī)能をサポートしていることを示しています。

デスクトップ

モバイル/タブレット

CSSマスクの作業(yè)方法の1つはmask-imageとしてアルファチャネルを使用して畫像を提供することです。基礎(chǔ)となる要素である盲目の要素は、マスクされた畫像のアルファチャネルに基づいて、その(半)透明性を決定します。したがって、マスクの畫像が透明な背景にある白いティーポットである場(chǎng)合、盲目の要素がティーポットの形にカットされ、ティーポットの外側(cè)のすべてが隠されます。

マスクは理解できない概念になる可能性があります。 Sarah Drasnerには、編集とどのように異なるかなど、マスクを詳細(xì)に探索する記事があります。マスクは、ここで説明する以上に多くのことを行うことができます。詳細(xì)については、仕様、Caniuse、およびMDNをご覧ください。

必要なのは、上記のSVGに似た単一の「ジャグされた」畫像で、左上半分に白で満たされ、左下隅が半透明です。そして、理想的には、畫像は実際のSVGであってはなりません。

この時(shí)點(diǎn)で、「ねえ、SVGをCSSに直接埋め込み、その中のマスクを定義し、CSSをSVGのマスクIDに向けてください!」

良いアイデア! HTMLを編集できれば、これは確かに可能です。しかし、私の特定のプロジェクトでは、WordPressを使用しているため、余分な部品をHTMLに注入する代わりに、変更を純粋なCSSに制限したいと考えています。それはもっと仕事になるでしょう。これは珍しいとは思わない。このようなデモの変更については、HTMLを編集する必要がないことは便利です。意味的に役に立たないラッピング要素を回避することは、スタイルフックを提供することだけであることにほとんど同意しますが、これはドキュメントにSVGタグ全體を追加することにも當(dāng)てはまると思います...

CSS線形勾配を使用して、三角形を作成できます。

 .el {
  背景イメージ:線形勾配(
    右下に、
    白、
    白い50%、
    透明50%、
    透明
  );
}

これは放射狀の背景への影響であるため、本當(dāng)に透明であることがわかります。

素晴らしい!バナーのmask-imageとして直接使用できますよね? mask-sizebackground-sizeに類似)とmask-repeatbackground-repeatに似ています)を設(shè)定する必要がありますか?

殘念ながら、いいえ。それほど良くない。

最初の理由は、Firefoxを使用していない限り、上記の例にはまったくマスクがないことがわかります。これは、執(zhí)筆時(shí)點(diǎn)で、BlinkとWebKitがベンダーのプレフィックスを持つマスクのみをサポートするためです。これは、 -webkit-プレフィックスバージョンを使用してすべてのものが必要です。

ベンダーのプレフィックスに加えて、私たちがしていることは概念的に間違っています。 mask-sizeを使用してマスクを畫像の底部ストライプに制限すると、畫像の殘りの部分にはまったくmask-imageがありません。これにより、完全に不明瞭になります。したがって、ジャグドはマスクだけとして使用することはできません。畫像と同じサイズの長(zhǎng)方形のmask-imageが必要で、下部に1つだけがギザギザがあります。

このような:

これを2つの勾配畫像を使用して行います。最初の畫像は、上記の同じギザギザの三角形で、 repeat-xに設(shè)定され、下部にあり、畫像の下端に沿ってのみ繰り返されるようにします。 2番目の畫像は別の勾配であり、下部は30pxの透明性(ジャグを亂すことを避けるため)、上部の不透明(デモの黒から白まで)、および要素の全體のサイズを占めています。

そのため、2つの別々のセクションでバナー畫像の高さ全體を占める下部に単一の三角形の鋸歯狀を備えたこのウェッジブロックがあります。最後に、これらのブロックを水平方向に繰り返すことでmask-imageとして使用できます。

それでおしまい!

以上がCSSマスクを使用して、ギザギザのエッジを作成しますの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無(wú)料で

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

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

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

Autoprefixerは、ターゲットブラウザスコープに基づいてCSS屬性にベンダープレフィックスを自動(dòng)的に追加するツールです。 1.エラーで接頭辭を手動(dòng)で維持する問(wèn)題を解決します。 2. PostCSSプラグインフォーム、CSSを解析し、プレフィックスする必要がある屬性を分析し、構(gòu)成に従ってコードを生成する屬性を分析します。 3.使用手順には、プラグインのインストール、ブラウザーリストの設(shè)定、ビルドプロセスでそれらを有効にすることが含まれます。 4。メモには、接頭辭を手動(dòng)で追加しない、構(gòu)成の更新を保持すること、すべての屬性ではなくプレフィックスを維持することが含まれ、プリ??プロセッサでそれらを使用することをお?jiǎng)幛幛筏蓼埂?/p>

粘著性ヘッダーまたはフッターを作成するための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()関數(shù)とは何ですか? conic-gradient()関數(shù)とは何ですか? Jul 01, 2025 am 01:16 AM

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

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

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

モバイルファーストデザインに焦點(diǎn)を當(dāng)てたCSSチュートリアル モバイルファーストデザインに焦點(diǎn)を當(dāng)てたCSSチュートリアル Jul 02, 2025 am 12:52 AM

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

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

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

ビューポート內(nèi)でグリッド全體を中央に配置する方法は? ビューポート內(nèi)でグリッド全體を中央に配置する方法は? Jul 02, 2025 am 12:53 AM

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

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

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

See all articles