テキストフィールドに国の旗を表示したい。
すべてのアイコンが別々に保持されている場合は、正常に機能します。例えば:
#search input[type="text"] {
background: #FFFFFF url(GB.png) no-repeat right center;
}
<div id="search">
To: <input name="to" type="text" />
</div>
ただし、60を超えるフラグがあると、多くのHTTPリクエストが発生する可能性があるため、それらを1つの垂直CSSスプライトイメージ(<25 KB)に配置しました。
問題は、CSSスプライトで同じ結果(一度に表示されるフラグは1つだけ)を取得できないことです。
#search input[type="text"] {
background: #FFFFFF url(countries.png) no-repeat right center;
}
.c-GB { background-position: 0 -368px; }
<div id="search">
To: <input name="to" type="text" class="c-GB" />
</div>
それが不可能な場合、他にどのような解決策を提案しますか?フラグは、ユーザーが別の場所に入るたびに変更する必要があります。