できるだけ効率的にLessを使用しようとしています。今私は、私は通常、CSSで次のように行うだろうプレースホルダの色を置き換えたい:ネストしたLessセレクタ内のベンダープレフィックス
input::-webkit-input-placeholder /* WebKit, Blink, Edge */
{
color: #000000;
}
input:-moz-placeholder /* Mozilla Firefox 4 to 18 */
{
color: #000000;
}
input::-moz-placeholder /* Mozilla Firefox 19+ */
{
color: #000000;
}
input:-ms-input-placeholder /* Internet Explorer 10-11 */
{
color: #000000;
}
は、今私は、私が使用することができ以内にネストされたセレクタを使用して考えた:
input{
&::-webkit-input-placeholder, /* WebKit, Blink, Edge */
&:-moz-placeholder, /* Mozilla Firefox 4 to 18 */
&::-moz-placeholder, /* Mozilla Firefox 19+ */
&:-ms-input-placeholder /* Internet Explorer 10-11 */
{
color: #000000;
}
}
残念ながらないこと私は期待どおりに動作しません。私は1つのセレクタ(カンマなし)を使用するとうまくいきますが、これは各プレフィックスに対して4つのネストされたセレクタを作成する必要があることを意味しますが、これは効率的ではありません。可能性の低い行でLessで最初のCSSブロックの効果をどのように達成できますか?
注:フルコードブロックは、より多くのネストされたルールで、より広範囲です。もちろん、この例ではCSSだけですべてのセレクタをカンマにすることができますが、ネストしたLessセレクタで動作させたいと思っています。
私はこれらのベンダープレフィックスは、あなたのコードを減らすために何らかのプリプロセッサを使うと自動的に追加できると思います。そうでない場合、これはかなり興味深い質問です。 +1 –
私は、オートプレフィクサーがこれらのプレフィックスを自動的に追加しないことを確認しました。私はあなたのレッスンコードを試しました。それはあなたが期待していた正しい出力を生み出すようです。 –
@LiXinyangご回答いただきありがとうございます。私はそれをさらに深く掘り下げ、実際には望ましい出力を生み出すようです。セレクタが別々に定義されるまで、ブラウザだけが適切な色を解析しません。問題はブラウザーにあるように見えますが、正しくない構文ではありません。 – BasC