LINUX.ORG.RU

Какой препроцессор так умеет? (CSS / SASS / LESS / STYLUS / etc)

 , ,


0

3

Умеет ли какой препроцессор (или плагин к которому) вот так (пример в SCSS):


element1:hover {

  element2 { color: #fff; }
 
}

т.е. по наведению на element1 мне нужно, чтобы у element2 значение color было #fff; - без написания мною JS, в том смысле, чтобы препроцессор сам писал такие мини-js'ки?

т.е. как-бы сам пишет заранее оговоренный и подключенный JavaScript скрипт?

Было бы неплохо, да?



Последнее исправление: VimCasts (всего исправлений: 2)

там можно задавать родство. Т.е. если element2 — родитель или ребенок element1 — это можно сделать стандартным css(кури синтаксис селекторов).

Bad_ptr ★★★★★
()
Ответ на: комментарий от Bad_ptr

не не, я говорю о более сложных и завывернутых случаях, когда родственные/дочерние селекторы не подходят.

VimCasts
() автор топика
Ответ на: комментарий от VimCasts

тогда, имхо, врядли такой инструмент есть

Bad_ptr ★★★★★
()

Я правильно понял, что несмотря на то, что у тебя в псевдокоде элементы вложены, в верстке это не будут дочерний и родительский элементы? Если так, то нет, никакой препроцессор не умеет, AFAIK.

Boba_Fett
()
Ответ на: комментарий от abs

пример указан выше, если подробнее, например:

  <header>
    <div class="blur">hover to blur main content</div>
  </header>

  <aside>
    ...
  </aside>

  <main>
    <div class="content"> ... </div>
  </main>

  <footer>
    ...
  </footer>
.blur:hover {
  main .content {
    filter: blur(5px);
  }
}
при наведении на элемент blur в header, чтобы срабатывал filter: blur(); для содержащегося в main класса .content

VimCasts
() автор топика
Ответ на: комментарий от Boba_Fett

в верстке это не будут дочерний и родительский элементы?

да, безотносительно к родству и прочему, взаимосвязь двух произвольных элементов, обычно для чего и пишется JS, типа такого:

$("#blur").hover( function() {
    $("main #content").css({'filter':'blur(5px)'});
};

VimCasts
() автор топика
Ответ на: комментарий от Apple-ch

я вот и спрашиваю, существует ли такой препроцессор или плагин к существующим, которые умели бы в.

VimCasts
() автор топика

Существует ли CSS препроцессор, который умеет то, для чего нужен JS, без JS?

Сам то как думаешь?

Deleted
()
Последнее исправление: Mystra_x64 (всего исправлений: 1)

когда element1 element2 выбираются одним селектором, достаточно CSS

anonymous
()

Если element2 находится в одном блоке c element1 где-то после него, то с этим даже текущий обычный CSS справится:

element1:hover ~ element2 {
    color:#fff;
}
border-radius
()
Последнее исправление: border-radius (всего исправлений: 1)
Ответ на: комментарий от border-radius

Знает, но вопрос в размере и удобстве редактирования скомпилированной портянки

а зачем код после препроцессора редактировать?

static_lab ★★★★★
()

почему бы это не написать в JS?

stevejobs ★★★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.