SASS Копирование вложенного селектора

Я использую SASS для проекта, и до сих пор яЯ очень доволен этим. Однако у меня есть код, который должен быть представлен только для IE 7 и ниже, используя имя класса.ie-lt8 для этого. Но когда я расширяю этот селектор в SASS, с помощью вложенного селектора я создаю несколько селекторов.

Пример (расширениеdisplay: inline-block код для IE):

SASS

/* My extension code */
.ie-lt8 %ie-inline-block {
    display: inline;
    zoom: 1;
}

/* I want the li to be inline-block */
#my-ul li {
    display: inline-block;
    @extend %ie-inline-block;
}

CSS производится

/* My extension code */
.ie-lt8 #my-ul, #my-ul .ie-lt8 li {
    display: inline;
    zoom: 1;
}

/* I want the li to be inline-block */
#my-ul li {
    display: inline-block;
}

Обычно это просто отлично, но#my-ul .ie-lt8 li беспокоит меня немного В этом примере этоЭто нормально, так как код работает с обоими селекторами (упомянутый селектор просто нет существует). Но что, если у меня есть другой код, где селектор имеет значение, то это может вызвать проблемы.

Мысленный пример:

SASS

/* I want the div to get a red border, 
   but the div inside .container to have a green border */
#myid .container div { border: 5px dotted green; }
#myid div {
    @extend %red-border;
}

/* My extension code */
.container %red-border {
    border: 1px solid red;
}

CSS это будет производить

/* I want the div to get a red border, 
   but the div inside .container to have a green border */
#myid .container div { border: 5px dotted green; }

/* My extension code */
.container #myid div, #myid .container div {
    border: 1px solid red; /* [OVERRIDE OF THE BORDER] */
}

Мой вопрос тогда; Есть ли способ заставить SASS только взять начальный селектор, не создавая несколько селекторов из вложенного селектора (много селекторов в одном предложении)?

Я пытался gooling для этой проблемы, но мне трудно найти какие-либо статьи / блоги / и т.д. по этому вопросу.

UPDATEI»

я знаю о различных обходных путях, таких как использование @mixin 'вместо. Мне просто интересно, было ли что-то, что я пропустил из-за SASS, или кто-то может сказать мне, почему это так? Потому что мне это нравитсяЧто-то вроде ошибки.

Ответы на вопрос(1)

Ваш ответ на вопрос