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

CSS3 のみを使用して差し込み枠の半径を作成するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-03 10:46:10801ブラウズ

How Can I Create an Inset Border Radius Using Only CSS3?

CSS3 による差し込み枠の半径の作成

従来、差し込み枠の作成には画像または追加の要素が必要でした。ただし、CSS3 は、グラデーションを使用した革新的なソリューションを提供します。

Lea Verou の独創的な CSS は、要素の角に配置された透明な放射状グラデーションの使用を提案しています。これらのグラデーションは曲線を模倣し、はめ込み境界線の半径のように見せかけます。

div.round {
    background:
        -moz-radial-gradient(0 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
        -moz-radial-gradient(100% 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
        -moz-radial-gradient(100% 0, circle, rgba(204,0,0,0) 14px, #c00 15px),
        -moz-radial-gradient(0 0, circle, rgba(204,0,0,0) 14px, #c00 15px);
    background:
            -o-radial-gradient(0 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -o-radial-gradient(100% 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -o-radial-gradient(100% 0, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -o-radial-gradient(0 0, circle, rgba(204,0,0,0) 14px, #c00 15px);
    background:
            -webkit-radial-gradient(0 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -webkit-radial-gradient(100% 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -webkit-radial-gradient(100% 0, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -webkit-radial-gradient(0 0, circle, rgba(204,0,0,0) 14px, #c00 15px);
    background-position: bottom left, bottom right, top right, top left;
        -moz-background-size: 50% 50%;
        -webkit-background-size: 50% 50%;
    background-size: 50% 50%;
    background-repeat: no-repeat;
}

この方法は、ブラウザーのグラデーションと rgba のサポートに依存しているため、古いブラウザーでは画像ベースのフォールバックの使用を検討してください。

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

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