一部の Android インスタンスと互換性を持たせるために CSS に svg を導入

小云云
リリース: 2018-02-24 09:53:48
オリジナル
1630 人が閲覧しました

この記事は主に、0.5px の境界線を表示する一部の Android マシンと互換性を持たせるために CSS に svg を導入する例に関する関連情報を紹介します。参照。編集者をフォローして見てみましょう。皆さんのお役に立てれば幸いです。

前書き

H5 ページを開発しているときに、一部の Android マシンのネイティブ ブラウザが 0.5 ピクセルの境界線と互換性がないことがわかりました。コードは次のとおりです。 rem の改善


後で rem を使おうと思ったのですが、H5 ページはタオバオモバイルのレスポンシブピクセルを借用し、モバイルデバイスの dpi に従ってルート要素のフォントサイズを設定したため、ほぼすべてのピクセルが rem に変更されました。ユニットとして、モバイル側での応答性の高いピクセルと Retina スクリーンでのパフォーマンスを向上させることができます。コードは次のとおりです:

input { border-bottom: 0.5px solid #DCDCDC; }
ログイン後にコピー

テストでは、一部のモデルは完全に表示されましたが、一部のモデルはまだ表示されませんでした。インターネット上には、疑似要素: before と :after を使用して 1px を実行できるという投稿があります。高さを調整するというアイデアは非常に優れていますが、入力要素は疑似要素をサポートしていません。

ついに、CSS で svg を使用するという素晴らしい方法を見つけました。


改善するために CSS に svg を導入します

具体的なアイデアは、背景画像を要素に追加し、画像タイプとして svg を設定することです。svg の 1px は実際には 1 物理ピクセルしか占有しないからです。

実装は非常に簡単で、コードは次のとおりです:

input { /* 47 是页面根元素的 font-size 大小 */ border-bottom: calc(1rem/47) solid #DCDCDC; }
ログイン後にコピー

問題はそれだけではありません。PHPコードを使用してSVG XMLコードをbase64形式に変換し、再試行してください:


input { background-image: url("data:image/svg+xml;utf8,") ; }
ログイン後にコピー

出力は次のようになります:

PHN2ZyB4bWxucz0naHR0c DovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnPjxsaW5lIH gxPScwJyB5MT0nMTAwJScgeDI9JzEw MCUnIHkyPScxMDAlJyBzdHJva2U9JyNkY2RjZGMnIHN0cm9 rZS13aWR0aD0nMScvPjwvc3ZnPg= =

CSS の背景画像に再導入: (元の utf8 を Base64 に変更する必要があることに注意してください)


rreee
関連するおすすめ:

SVG と Vanilla JS フレームワークで「スターからハート」コードを作成 共有

SVG を使用してカラフルなリングのカウントダウンの実装を開始する方法

Webpack が実際に SVG をロードする方法の詳細な例

以上が一部の Android インスタンスと互換性を持たせるために CSS に svg を導入の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!