簡體   English   中英

較少-定義與Mixin沖突的類名

[英]Less - Defining a class name that conflicts with mixin

我遇到的問題很簡單。 我想使用先前已定義為mixin的CSS類名稱。

我目前正在使用Bootstrap ,它已定義了一個稱為“占位符”的混合,並且由於向后兼容,我們正計划使用jQuery占位符插件來支持IE 9的占位符。問題是該插件添加了css類“占位符”。

如何在我的LESS文件中定義css類“占位符”而不執行先前在Bootstrap中定義的mixin?

這應該不是問題。 這是bootstrap的占位符mixin

// Placeholder text
.placeholder(@color: @input-color-placeholder) {
  &:-moz-placeholder            { color: @color; } // Firefox 4-18
  &::-moz-placeholder           { color: @color;   // Firefox 19+
                              opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526
  &:-ms-input-placeholder       { color: @color; } // Internet Explorer 10+
  &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome
}

這不是mixin類,因為它后面帶有括號。 因此,除非被引用,否則它將不會輸出任何內容。 要使用此功能,我需要執行以下操作。

.input {
    .placeholder;
}

因此,這不會干擾您可能擁有的任何.placeholder類。

.placeholder {
    color: red;
}

兩者應該愉快地並存,並且您不會遇到任何問題。

編輯:查看評論

解決方案是使用多類選擇器來解決該問題。

.input.placeholder {
    color: red;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM