От LESS до SASS Ampersand Обходной путь

Я работаю над преобразованием меньше в sass и имею несколько экземпляров классов в теге html, которые мне нужно использовать для изменения стиля определенного класса:

.shell {
    width: 100%;
    ...

    .medium-viewport & {
        width: 800px;

        .lt-ie8& {
            width: 750px;
        }

        ...

    }

    .wide-viewport & {
        width: 950px;
        ...
    }

    ...

}

Я хочу присоединиться к классу lt-ie8 с классом medium-viewport:

.lt-ie8.medium-viewport .shell {width: 750px;}

В некоторых файлах содержится множество правил для различных условий, входящих в тег html, в основном это окна просмотра и классы modernizr.

Поскольку sass не поддерживает наличие & в конце без пробела, мне интересно, какие другие обходные пути я мог бы использовать.

Очевидно, я мог бы изменить структуру блока правил и жестко закодировать селектор .lt-ie8.medium-viewport .shell {} вне блока .shell, но я считаю это наименее желательным вариантом, поскольку он нарушает структуру файла и, очевидно, повторяющийся.

Немного расстраивает, так как меньше поддерживает его, и это единственная неровность на дороге, с которой я пока столкнулся в преобразованиях файлов. Любые идеи?


person Clint    schedule 05.08.2014    source источник
comment
Использовать новую (3.3) @at-root директиву?   -  person steveax    schedule 05.08.2014
comment
comment
Похоже, придется подождать, пока selector-replace и 3.4 phase2technology.com/blog/   -  person Clint    schedule 05.08.2014
comment
@steveax Да, это работает '@at-root .lt-ie8.medium-viewport .shell { width: 750px; }'   -  person Clint    schedule 05.08.2014