SVG とボーダー画像を使用して、柔軟で使いやすいボーダー スタイルを設定します。
現在、長期にわたるクライアントから、元の Web ページの作成とパターンについて問い合わせがありました。 私は彼らのために主に印刷物を作成し、主張に関する私の慣習的な質問のコレクションを要求し始めました. その中で:
彼らはどんなメディアの発信源を行使したかったのか、彼らがいつものことを保証する工夫は最も現代的で効果的な写真のフロート?
彼らはこれに対する解像度にかなり確信を持っていました需要:安全なチュートリアル施設の限られた部門として、彼らは話したい正確なメディアがなく、さらに、写真を試して管理するという追加のタスクを避けたいと考えていました. 彼らは勉強の焦点に位置付けることを望んでいました.
視覚的な趣味を追加メディアに頼らず、コピペ多めの話に。
ポジショニングのための基本的なタイポグラフィを適度に選んでスタイリングした後、私は過去数年間に彼らのために行った印刷作業をもう一度見直し、彼らの年次レビューの負荷に弱い安全な点線の道があることに気付きました. これをグラフィック コンポーネントとしてプロジェクトに組み込むことは、印刷物と今後の Web ページとの間の連続性を強調するのに最適な方法であると結論付けました。
私にとってのボーナス? border-style: dot
を使ったスラムダンクですね。 悪名高い。
border-style: dot
を使用しているようです は、境界線が 1 ピクセルまたは 2 ピクセル以下である限り長く機能します。 css の点線の境界線はグロテスクな正方形のピクセル以外の何物でもないという事実から逃れることはできません。 枠が大きいほど四角も大きくなります
解決策を求めて Google ショッピングに飛び込んだ後、すぐに簡単な解決策を入手できると思いました。 再び悪名高い。 ここにリストされているのは、私がここで遭遇した2つの控えめなアプローチと、それらの最大の欠陥として私が見ているものです:
:after 疑似セレクターを使用した hr トレースの使用法 (tl;dr=これを実行しないでください!)
配色、寸法、またはドット間の状況を微調整したい場合は、タイポグラフィ宣言を実行する可能性があるようです:
hr {
ボーダー: なし/strip デフォルトの hr スタイル */
}
hr:{後) 主張:”……………………………………………………..”;
文字間隔: 10px; /ドット間のより大きな状況を捏造 */
font-dimension: 6px; /ドットのより大きな次元を作成する */
coloration: palegoldenrod /rob a coloration */
}
- トップが欲しいとしたら そして 箱の印象を良くするために裏面の縁取り、さらに悪いことに 4 面の縁取り!? 私
はおそらく
hr の大部分に対するかなりの教訓を発見し、CSS3 回転を実行して垂直方向の境界線に取り組むことができますが、それは「汚い」を完全に元の低さにします。
PNG での CSS border-image プロパティの使用
border-image
プロパティ
。 実を言うと、1 つの最も重要な特徴を備えた食材の背景写真を発見するスタイルで前代未聞の国境への画像を発見する可能性があるようです: あなたの画像は 9 スライスで提供されます (これは で詳しく説明します) ボーダー画像ギャッシュ
財産)。
詳しく説明する:
中央の切り傷 (ここにある空の中央の正方形) は、あなたの申し立てが表示される領域を表します.
border-image- の値を詳細に説明するために、グラフィック エディターの周辺ガイドを参照してください。ガッシュ特性 — この場合 33%. インスタンスコード:
div {
ボーダー幅: 0 0 20px 0; /border-backside 最も注目を集める */
ボーダー画像ソース: url(‘route-to-your-png’);
ボーダー-画像ガッシュ: 33%; / px の単位はありません。これは、おそらく % を実行する可能性があるようです */
border-image-repeat: ラウンド; /心臓のスライスは、周囲まできれいに繰り返されます */
}
/短縮版 */div {
ボーダー幅: 0 0 20px 0; border-image: url(‘route-to-your-png’) 33% round;
}この画像は、それが間違いなくレンダリングする仕掛けを示しています (中央の切り傷があなたの主張にまとめて置き換えられていることを思い出してください):
どうやって国境を―― image-gash プロパティが動作します ふちどりの優美なふちどり画像のスペックを実感したので紹介します継続的にクリア
CSSメソッドの記事 最も重要なプロパティと値をより深く掘り下げます。
コマンド
画像の有効性を再度説明すると、ここでの境界線の幅は、PNG のドットのコマンド ディメンションによって明確になります。最後のポイント…私の作品に戻って、私はさまざまな境界線用のきれいなドットサイズのペアが必要でした (タイトルには大きい、おそらく小さいものには)アラート コンテナーなど)。 これは、大量の png データを確立して維持することを示しています。 ダメ!
だから私は修正#2と同じタスクをコマンドを発見するためのヒントを作りましたが、状況で私の画像をsvgとして保存しますpngの。 ベクターベースのグラフィックを使用することで、ドット (border-width で定義) を希望する任意のサイズに配置できる可能性があります!
単一の SVG の使用方法は、効果的な損失なしで非常に多くのボーダー幅を使用できます! 上記の例では、タイトルは12px、ボックスは7pxのわずかなborder-widthを吸収しています.
コードはこちら
SVG はよそよそしい写真です!残念ながら、これが f 私が好きなように柔軟です。 これは画像ベースの解像度とはかけ離れているため、CSS の手法で知られている (つまり、現在は埋め込まれていない) svg を編集する方法があることに注意してください。 何らかの理由で点線の境界線の配色を交換したい場合は、SVG ファイルを編集して再度エクスポートする必要があります。 コールドワークラウンドの場合は、ここにコメントしてください!
IE 10以下のborder-imageにはもうありません
これを書いている時点で、border-image プロパティはすべてのブラウザーでスマートにサポートされていますが、IE 10以下はtiny oneのコマンドのまま
。 この場合、従来の border-style: ドット
を明らかにする可能性があるようです。フォールバック。 グロテスクだけど、構造は崩れません
Safari SVG のスケーリングの妙
Safari では SVG のスケーリングが複雑になることがわかりました。 私は読んだ吸収します対 かなりのペア問題 埋め込まれた SVG のスケーリングについてですが、フレーム写真を参照して何も取得できない可能性があります。 任意のヒント?
編集
codepen の境界線が Chrome と Safari で表示されなくなったメッセージのペアを購入しました。 ちょっと調べてみたところ、不思議なことに、これらのブラウザはコマンドの「border-style」と「border-coloration」プロパティを必要としていました。 コードはアップされているので、修正には多少の距離があります.𝚆𝚊𝚝𝚌𝚑 𝙽𝙾𝚆 📺
問題点
これは間違いなく適切な回避策ですが、この方法を避けるべき 3 つの理由に気付きました:
これを主張するのは、ミックスインの手法でも悪夢です.
羽毛布団をすべての長さで羽毛布団に入れるために、それらの引用符の間に無作為に百万のレッスンを投げかけると、優雅で汚い感じがします.