Sass モバイル スプライト ソリューション_html/css_WEB-ITnose
NetEase の同僚は、モバイル端末でスプライト画像を使用するためのほぼ完璧なソリューションをまとめました。これは、将来の使用のためにここにまとめられています。
導出プロセス
原理に注意を払う学生は、詳細な導出プロセスが記載されている Berlin Daniel の記事を読むことができます。もう二度と繰り返しません。
使用方法
まず、モバイルに適応したレムと一致させる必要があります:
/*移动端适配 width|height|font-size = 视觉稿量出来的值 / 100rem;@lbl*/@media screen and (max-width:359px) and (min-width:320px) { html,body{ font-size: 50px !important; }}@media screen and (max-width:374px) and (min-width:360px) { html,body{ font-size: 56.25px !important; }}@media screen and (max-width:413px) and (min-width:375px) { html,body{ font-size: 58.594px !important; }}@media screen and (max-width:639px) and (min-width:414px){ html,body{ font-size: 64.687px !important; }}@media screen and (min-width:640px) { html,body{ font-size: 100px !important; }}
次に追加しますcss スプライト ミックスイン:
//$spriteWidth 雪碧图的宽度px//$spriteHeight 雪碧图的高度px//$iconWidth 需要显示icon的宽度px//$iconHeight 需要显示icon的高度px//$iconX icon的原始x坐标,也就是background-posotion中的负值//$iconY icon的原始y坐标//使用@include bgPositionSameSpriteAndWidth(80, 10);@mixin bgPosition($spriteWidth, $spriteHeight, $iconWidth, $iconHeight, $iconX, $iconY){ background-position: (($iconX / ($spriteWidth - $iconWidth)) * 100% ($iconY / ($spriteHeight - $iconHeight)) * 100%); }
これに基づいて、いくつかの特定のケースでは簡略化できます:
//同一张sprite图并且每个icon的大小相同@mixin bgPositionSameSpriteAndWidth($iconX, $iconY){ $spriteWidth : 220; $spriteHeight : 220; $iconWidth : 61; $iconHeight : 61; @include bgPosition($spriteWidth, $spriteHeight, $iconWidth, $iconHeight, $iconX, $iconY);}
さらに、背景画像の background-size 属性の設定にも注意する必要があります。これも rem 単位です。
ユースケース
最後に栗を紹介します:
//同一张sprite图并且每个icon的大小相同@mixin bgPositionSameSpriteAndWidth($iconX, $iconY){ $spriteWidth : 220; $spriteHeight : 220; $iconWidth : 61; $iconHeight : 61; @include bgPosition($spriteWidth, $spriteHeight, $iconWidth, $iconHeight, $iconX, $iconY);}//使用i{ padding-top: 100%; width: 100%; display: block; background: url(http://nos.netease.com/edu-image/3A65D313376F13CE75CE01C2593BD1CE.png) 0 0 no-repeat; background-size: 2.2rem 2.2rem;}.i-sina{ @include bgPositionSameSpriteAndWidth(10, 10);}.i-qzone{ @include bgPositionSameSpriteAndWidth(80, 10);}.i-qq{ @include bgPositionSameSpriteAndWidth(150, 10);}.i-douban{ @include bgPositionSameSpriteAndWidth(10, 80);}.i-yixin{ @include bgPositionSameSpriteAndWidth(80, 80);}.i-renren{ @include bgPositionSameSpriteAndWidth(150, 80);}
これで問題は完璧に解決されますね。刺激的ですか?

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









この記事では、HTML< Progress>について説明します。要素、その目的、スタイリング、および< meter>との違い要素。主な焦点は、< Progress>を使用することです。タスクの完了と< Meter> statiの場合

この記事では、HTML< Datalist>について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

この記事では、html< meter>について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化< Meter> < Progress>およびex

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

この記事では、html5< time>について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

この記事では、< iframe>外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。
