CSSグラデーションボーダージェネレーター
border-imageプロパティで美しいグラデーションボーダーを作成します。色、幅、半径、角度を調整して、CSSをコピーします。
仕組み
- 色を選択: ピッカーでグラデーションの2色以上を選択します。
- 幅と半径を調整: デザインに合わせて厚さと角の丸みを調整します。
- CSSをコピー: border-imageまたは擬似要素テクニックで生成されたコードは、スタイルシートに貼り付ける準備ができています。
なぜこのグラデーションボーダージェネレーターを使うのか?
CSSグラデーションボーダーは、最新のUIフレームワーク、カード、ボタンのホバー状態、強調されたセクションで使用される印象的なデザイン詳細です。しかし、CSS borderプロパティは単色のみを受け入れます, グラデーションボーダーを作成するには、border-imageや擬似要素を使ったトリックが必要で、background-clipの操作が伴います。このジェネレーターは両方のテクニックをカバーし、構文ではなくデザインに集中できるようにクリーンでコピー可能なCSSを生成します。
機能
- 2つの方法: border-image(シンプル)とbackground-clipを使った擬似要素テクニック(border-radiusを処理)から選択します。
- Border-radiusサポート: 擬似要素方法では、border-imageでは生成できない丸い角を作成できます。
- マルチストップグラデーション: レインボーやブランドカラー効果のために、好きなだけ色のステップを追加します。
- ライブプレビュー: コードをコピーする前に、ボーダーがどのようにレンダリングされるかを正確に確認します。
- 角度コントロール: ビジュアル角度ピッカーでグラデーションの方向を回転します。
よくある質問
なぜborder-imageでborder-radiusを使えないのですか?
border-imageはボーダーレンダリングを完全に置き換え、border-radiusを無視します, 角は四角いままです。グラデーションボーダーと丸い角を組み合わせるには、擬似要素テクニックを使用します: ::beforeの背景にグラデーションを適用し、要素自体にbackground-clip: padding-boxを適用します。
グラデーションボーダーをアニメーション化できますか?
はい。背景+擬似要素方法で作成されたグラデーションボーダーは、グラデーションのbackground-positionをトランジションすることでアニメーション化できます。スムーズな効果のために、background-size: 300% 300%を適用し、background-positionをアニメーション化します。
ボタンと入力フィールドで動作しますか?
はい、生成されたCSSは任意のHTML要素で動作します。ボタンには、border-radiusを保持するために擬似要素を優先します。入力フィールドには、border-imageテクニックを適用するか、入力をグラデーションコンテナでラップします。
CSSグラデーション枠線が実際に解決するもの
CSS borderプロパティは単一の純色を受け入れ、グラデーションは受け入れません。これは1996年代の制限で最新のCSSに残ったものです。ウェブ史のほとんどの間、カードやボタンの周りにグラデーション輪郭が欲しかったデザイナーは、背景画像を使う(ラスター、スケールしない)、要素を色付きコンテナで包む(機能するが微妙な方法でレイアウトを壊す)、または純色枠線を受け入れるかの間で選ばなければなりませんでした。CSSグラデーション枠線はborder: 3px solid linear-gradient(...)の見た目を他のCSSプロパティでシミュレートする回避策です。そのまさに正確な構文は存在しないからです。
2つのテクニックが支配的です。border-image(CSS Backgrounds and Borders Module Level 3、2012)は枠線レンダリングをグラデーションまたは画像に置き換えます。機能しますが、border-imageはborder-radiusを完全に無視します: 角は正方形のままです。疑似要素 + background-clipテクニックは、グラデーション背景を持つラッパー要素と、枠線エリア以外のすべてをマスクする内側オーバーレイを使います。これは丸い角をサポートしますが、CSSの2層とパディング対コンテンツボックスの慎重な扱いが必要です。第3の現代的なアプローチは、よりクリーンな単一要素ソリューションのためにmask-composite(2020+ブラウザ)を使います。
グラデーション枠線は現在のデザイントレンドにとって重要です。カードベースのレイアウト(Stripe、Linear、Vercel、Cursor)は微妙な2色グラデーション枠線を使用して、重さなしに深みを加えます。プレミアム機能のハイライトはしばしば"Pro"ステータスを示すためにカラフルなグラデーション枠線を描きます。サイバーパンクとシンセウェーブの美学はネオングラデーション枠線を使用してレトロ未来の雰囲気を呼び起こします。2023-2024年のAI製品ローンチは、ビジュアルシグネチャとして多色アニメーショングラデーション枠線で標準化しました(OpenAI、Anthropic、Perplexity)。以前は画像エディタが必要だったものが、今は5から10行のCSSで出荷されます。
このツールの内部での動作
プレビューはインラインCSSを介して適用された2つのテクニックを持つ単一のdivで、メソッドの選択で切り替え可能です。border-imageの場合、ツールはborder: Npx solid transparentをborder-image: linear-gradient(...) 1と共に設定します。1スライス値はブラウザにグラデーションを各枠線エッジで全サイズで使用するように指示します。疑似要素テクニックの場合、ツールは外側要素にグラデーション背景を適用し、::before(またはbackground-clip: padding-box)を使用して内側コンテンツエリアをマスクし、枠線リングだけが見えるようにします。
色のストップはJavaScript配列の{color, position}ペアとして保存されます。色を選んだり角度スライダーを動かしたりすると、ツールはlinear-gradient()文字列をストップをカンマで結合して角度を前置して再構築します: linear-gradient(45deg, #ff0080 0%, #7928ca 100%)。その文字列はプレビューCSSとコードボックスの両方に補間されます。角度スライダーは方向のフィードバックのためにビジュアルSVG矢印回転を持つ0から360度の範囲を使用します。
何もブラウザを離れません。グラデーション文字列生成、色の保存、プレビューレンダリング、クリップボードのコピーすべてがデバイス上のJavaScriptで起こります。ネットワークリクエストは行われません。どの色を選ぶかを追跡する分析はありません。ツールには初回ロードで一度提供される静的HTMLとJavaScript以外のバックエンドはまったくありません。ページを更新すると、最初にCSSをコピーしていない限り、選択した色と角度は失われます。
CSS枠線とグラデーションの簡単な歴史
- CSS 1枠線、1996年。最初のCSS仕様(CSS 1、1996年12月)は
border-style、border-width、border-colorを定義し、純色と8つの枠線スタイル(none、dotted、dashed、solid、double、groove、ridge、inset、outset)のみをサポートします。グラデーションサポートなし、16年間続くアーキテクチャ上の選択。 - CSS linear-gradient出荷、2008年から2011年。WebKitは2008年に
-webkit-gradient()を導入し、続いてCSS Image Values and Replaced Content Module Level 3(2011)で標準化されたlinear-gradient()が登場します。グラデーションは背景にとってのファーストクラスCSSシチズンになりますが、枠線にはなりません。デザイナーはすぐにグラデーション枠線を望みます。仕様は対応しません。 - border-image到着、2012年。CSS Backgrounds and Borders Module Level 3(CR 2012年6月)は2014年までに完全なブラウザサポートで
border-imageを定義します。枠線がCSSグラデーションを含む任意の画像を使用することを許可します。落とし穴:border-imageはborder-radiusをオーバーライドするので、丸いグラデーション枠線はこのテクニックだけでは不可能のままです。 - 疑似要素回避策パターン出現、2013年から2015年。CSS-Tricksと同様のリソースは、グラデーション背景と
background-clip: padding-boxトリックを持つ::before疑似要素を使用した回避策を公開します。"丸いグラデーション枠線"は解決可能になりますが、ボックスモデルの複雑さを理解する必要があります。2015年までに、パターンはデザインシステムのドキュメントで広く普及しています。 - Conic-gradient着陸、2018年から2021年。CSS conic-gradient()(Chrome 69、2018年9月、Firefox 83、2020年11月、Safari 12.1、2019年3月)は円形スイープグラデーションを可能にし、グラデーション枠線を持つ"ローディングリング"効果に理想的です。アニメーションと組み合わせると、conic-gradient枠線は2023年のAI製品ローンチで人気のある回転光パターンを作成します。
- mask-compositeがよりクリーンなソリューションを解除、2020年から2024年。CSS Masking Module Level 1(2014)と最新のブラウザ(2020+)での
mask-compositeサポートは、疑似要素なしの単一要素グラデーション枠線を可能にします: グラデーション背景を重ね、複合操作を介して外側リング以外のすべてをマスクします。2024年までにこれは最もクリーンなプロダクションアプローチですが、疑似要素回避策は古いブラウザとの互換性を保ちます。
現実世界のワークフロー
- カードコンポーネントの微妙なアクセント。最新のダッシュボードカード(Stripe、Linear、Vercelを考えてください)は、フラットな背景からカードを差別化し、インタラクティブ性を示すために、2トーンまたは3トーンのカラースキームで1から2ピクセルのグラデーション枠線を使用して、重さなしにビジュアルな興味を加えます。グラデーションは通常微妙です: 10%から20%の不透明度、低コントラスト、ほとんどがグレースケールに少しのブランドカラーのヒント。
- プレミアム機能のハイライト。SaaS価格表は、視覚的に高めるために"Pro"または"推奨"プランで鮮やかなグラデーション枠線(よくゴールドからパープル、または虹色)を使用します。パターンは、バッジラベルを必要とせずに色と動き(アニメーションされている場合)を通して目を引くため機能します。Linear、Notion、Figma、およびほとんどの最新SaaS価格ページは、このまさに正確なパターンを使用します。
- ネオンと光の効果。サイバーパンク、シンセウェーブ、ゲーミングUIの美学は、ネオン管ルックのためにグラデーション枠線とbox-shadowを組み合わせます。枠線は色の遷移を提供し、影はブルームを提供します。一般的なパターン:
border-image: linear-gradient(45deg, #ff0080, #00d4ff) 1に同じ要素上のbox-shadow: 0 0 20px rgba(255,0,128,0.5)を加えたもの。 - AI製品のビジュアルアイデンティティ。AIツールの2023-2024年の波(OpenAI ChatGPT、Anthropic Claude、Perplexity、Cursor)は、"AIが考えている"またはAI処理を待つ入力フィールドのビジュアルシグネチャとしてアニメーション化された多色グラデーション枠線で収束しました。通常、4から6秒ループの回転conicグラデーションまたはシフトする線形グラデーション。最新のUXで"インテリジェント / 生成"の略になります。
- ホバーとフォーカス状態の磨き上げ。休止状態で純色枠線からホバーまたはフォーカスでグラデーション枠線に切り替わるボタンと入力は、プレミアムで意図的に感じられます。色の間の遷移は、グラデーションが可視エリアを超えて延びている場合(
background-size: 200% 100%とスライドアニメーション)、background-positionでCSS遷移でアニメート可能です。 - ブランドカラーの表現。多色ロゴ(Instagram、Slack、Discord)を持つブランドシステムは、UIコンポーネントにアイデンティティを拡張するためによくグラデーション枠線を使用します。ブランドのグラデーションを枠線として持つカードは、ロゴとのビジュアルな連続性を確立します。SaaSマーケティングページでは、これは一般的なコンポーネントを"ブランド化"された見た目にするための最も安い方法の1つです。
よくある落とし穴とその意味
- border-imageはborder-radiusを無視します。最も一般的な混乱:
border-image: linear-gradient(...)をborder-radiusと一緒に使用すると、正方形の角が生成されます。border-imageは枠線レンダリングを完全に引き継ぎ、radiusプロパティは描画された結果に影響を与えません。丸いグラデーション枠線を取得するには、疑似要素テクニックまたは最新のmask-compositeアプローチを使用し、border-imageは使用しないでください。 - 疑似要素テクニックはpadding-boxを必要とします。標準回避策は外側要素に
backgroundを使用し、::beforeを介して内側オーバーレイを使用します。重要な詳細: 内側オーバーレイはパディングエッジで停止し、枠線エリアを見えたままにするためにbackground-clip: padding-boxを必要とします。このクリッププロパティをスキップすると、グラデーションがオーバーレイで完全に覆われ、枠線が見えなくなります。 - グラデーション枠線のアニメーションはGPUに高価です。アニメーション化されたグラデーション枠線("AIシマー"パターン)は大きなグラデーションで
background-positionを遷移することで機能します。最新のGPUはこれをよく処理しますが、多くの要素に同時に適用すると(例えば、ページ上のすべてのカード)、低スペックデバイスでフレームレートが顕著に下がります。アニメーション化されたグラデーション枠線を控えめに使用してください: ページごとに1つか2つの"ヒーロー"要素、サイト全体ではありません。 - ダークモードでの色の衝突。明るい背景用に設計されたグラデーション枠線は、暗い背景でしばしば間違って見えます。純粋な白のグラデーションは見えなくなり、鮮やかな色は過飽和に見えます。デュアルテーマデザインの場合、CSSカスタムプロパティまたはメディアクエリを介してライトモードとダークモードに別々のグラデーションカラーストップを定義してください。彩度を下げ、周囲のテーマと視覚的な調和を保つために色合いを調整してください。
- 低コントラスト枠線はアクセシビリティに失敗します。エレガントに見える微妙なグラデーション枠線は、状態を伝えるUIコンポーネントのWCAG 2.1 SC 1.4.11非テキストコントラスト(3:1最低)に失敗する可能性があります。グラデーション枠線がボタンの境界またはカードの選択可能性の唯一のビジュアルインジケーターである場合、背景との十分なコントラストを確保してください。すでに見える要素上の純粋に装飾的な枠線の場合、コントラストはあまり重要ではありませんが、それでもチェックする価値があります。
- Internet Explorerと古いEdgeは有用なものを何もサポートしません。IE 11(2022年6月引退)とChromium前のEdge(2015年から2019年)は、グラデーションのための信頼できる
border-image、mask-composite、およびいくつかの疑似要素テクニックを欠いています。これらのレガシーブラウザの場合、グラデーションの中間色を使用して純色枠線に優雅にフォールバックしてください。最新のブラウザは2026年のユーザーの99%以上をカバーしますが、レガシーフォールバックは企業ソフトウェアにとって重要なままです。
プライバシー: すべてがブラウザで動作します
CSSジェネレーターツールは2つの味があります: クライアント側のJavaScriptを実行するシンプルなHTMLページ(プライベート、高速)と、プロジェクトを保存するクラウドエディタ(共同作業可能だがプライバシーのトレードオフがあります)。このツールは最初の種類です。選択した色、角度、生成されたCSS: すべてがブラウザセッションに留まります。ページを更新し、最初にCSSをコピーしていない限り、状態は失われます。サーバーはグラデーションの選択を保存せず、分析はどの色の組み合わせを試したかを追跡せず、アカウントは必要ありません。
プライバシーのプロパティは主に独自のデザイン作業に重要です。機密のブランドリデザインのためのグラデーション組み合わせのプロトタイピングを行うスタジオ、未発表の製品のUIアクセントに取り組む開発者、またはキャンペーンパレットを反復するデザイナー: 色の選択または反復履歴が作業に関する情報を漏らす可能性のあるすべての文脈。このツールでは、何も送信されないので何もキャプチャされません。ブラウザのネットワークタブを開くと、使用中にゼロの送信リクエストが表示されます。最初のページロードのみがHTMLとJavaScriptを取得します。
別のツールが正しい選択である場合
- 複雑な枠線形状のためのSVG。非矩形のグラデーション枠線(切り欠きのある丸い、スカラップエッジ、カスタムの不規則な形状)の場合、
linearGradientまたはradialGradientをstroke属性に適用したSVGは完全な制御を提供します。CSSグラデーション枠線は矩形と丸い矩形に機能します。SVGはそれ以外すべてを処理します。2つを一緒に使用: 装飾的な形状アウトラインにSVG、標準UIコンポーネントにCSS。 - 静的グラデーション画像のためのPhotoshop。グラデーション枠線が変更されない静的ヒーロー画像またはバナー上にある場合、Photoshop、Figma、またはSketchで設計してPNGまたはWebPとしてエクスポートする方がCSSを維持するよりも単純な場合があります。画像はページアセットパイプラインの一部としてスケールします。CSSグラデーション枠線は、任意のサイズでレンダリングする必要がある動的要素(カード、ボタン、コンポーネント)のためのものです。
- デザインシステムの一貫性のためのコンポーネントライブラリ。Tailwind UI、shadcn/ui、Radixおよび他のコンポーネントライブラリは、オプションのグラデーション枠線バリアントを持つ事前スタイル設定されたカードとボタンコンポーネントを出荷します。すでにこれらのライブラリを使用しているプロジェクトの場合、ライブラリのバリアントを適用する方がCSSを手作りするよりも高速です。手作りのグラデーション枠線は、ワンオフのデザインまたはコンポーネントライブラリにまだコミットされていないプロジェクトに役立ちます。
- アニメーション化されたマルチレイヤー効果のためのCanvasまたはWebGL。高度にアニメーション化されたマルチレイヤーグラデーション効果(パーティクルシステム、流体シミュレーション、生成アート)の場合、Canvas 2DまたはWebGLはCSSが一致できないピクセルごとの制御を提供します。トレードオフは実装の複雑さとアクセシビリティ(canvasコンテンツはスクリーンリーダーに見えない)です。標準UIコンポーネント上の装飾的なグラデーション枠線の場合、CSSが正しい選択です。視覚効果には、canvasベースのアプローチを検討してください。
その他のよくある質問
グラデーション枠線で3色以上を使用できますか?
はい。CSS linear-gradient()は無制限の色のストップを受け入れます: linear-gradient(45deg, #ff0080 0%, #ffa500 50%, #00d4ff 100%)は中間でオレンジを通って遷移する3色のグラデーションを作成します。それぞれにオプションの位置を持つ、好きなだけストップを追加してください。複雑な多色グラデーション(虹色効果)の場合、ストップを均等に分散: 0%、16.7%、33.3%、50%、66.7%、83.3%、100%。
虹色またはconicグラデーション枠線を作成するにはどうすればよいですか?
conic(スイープ)グラデーションの場合、疑似要素padding-boxマスキングテクニックで外側要素の背景としてconic-gradient(from 0deg, red, yellow, lime, cyan, blue, magenta, red)を使用してください。回転効果(AI製品の読み込み状態で人気)の場合、CSS Houdiniを介して--angleをアニメート、または360度回転アニメーションを持つ@property --angleを使用してください。結果は枠線の周りのスムーズな色のスイープです。
テーマ対応グラデーション枠線にCSSカスタムプロパティを使用できますか?
はい、そしてそれはデザインシステムの推奨アプローチです。グラデーションカラーをCSSカスタムプロパティ(--gradient-start、--gradient-end)として定義し、グラデーション宣言で使用してください: linear-gradient(var(--angle), var(--gradient-start), var(--gradient-end))。変数をダークモードメディアクエリまたはテーマクラスで上書きしてください。1つのCSSファイルが変数の再定義を介してライトとダークの両方のテーマを処理します。
これはInternet Explorerのような古いブラウザで動作しますか?
Internet Explorer 11(Microsoftによって2022年6月に公式に引退)は部分的なborder-imageサポートを持っていましたが、信頼性のないグラデーションレンダリング、そしてmask-compositeはありませんでした。最新のブラウザ(Chrome 88+、Firefox 78+、Safari 14+)は両方のテクニックを完全にサポートします。IEをサポートする必要がある場合、グラデーションの中間色を使用した純色フォールバックを提供してください: グラデーションルールの前にborder: 3px solid #888;を宣言し、IEはそれを使用しながら最新のブラウザはグラデーションを適用します。
グラデーション枠線を行う単一プロパティの方法はありますか?
標準化されたCSSにはまだありません。最新の提案(CSS Backgrounds and Borders Module Level 4ドラフト)は直接グラデーションを受け入れるborder-colorプロパティを含みますが、ブラウザの実装はまだ安定していません。現在最も近い近似は単一要素を使用するが、3つのCSS宣言を必要とするmask-compositeテクニックです。2027年または2028年までに、border: 3px solid linear-gradient(...)が単に機能することを願っています。
なぜグラデーション枠線がSafariで異なって見えるのですか?
Safariは歴史的にChromeとFirefoxに対してCSS機能のパリティで遅れています。特にmask-composite値とbackground-clipのいくつかのエッジケースに対して。明示的にSafariでテストしてください。疑似要素テクニックがSafariで失敗する場合、border-imageに切り替えてください(普遍的に機能しますがborder-radiusを失います)、またはSafari固有のプレフィックスを使用してください: -webkit-mask-compositeが古いSafariバージョンに必要な場合があります。iOS Safariは2024バージョンでもしばしばプレフィックスが必要です。