LINUX.ORG.RU

CSS, хочется странного: правило добавляющее класс элементу


0

1

Допустим у меня есть элементы разных классов. Это принципиально, чтоб классы были разные. Но у этих элементов есть и общие свойства. Можно писать class=«разное общее». Дальше понятно как. Но хочется писать class=«classname», а потом в CSS: .classname { properties...; APPEND_CLASS(common) } и .common { common properties...} Понятно, надеюсь, объяснил.

Как это можно сделать?


LESS, SASS. Иначе никак

xanf
()

Элементарно. Вступить в рабочую группу по css http://www.w3.org/Style/CSS/members и убедить остальных внести изменения в спецификацию.

Tigger ★★★★★
()

А ActiveX тебе через CSS подключить не надо? Используй CSS-препроцессоры, которые выполнят любые твои закидоны.

anonymous
()
Ответ на: комментарий от Quadmonster

<input type=«button» name=«xxx» class=«ibutton picturename» />

.ibutton { cursor:pointer; border-style:none; background-color: transparent; }

.picturename { width: 32px; height: 32px; background-image: url(«data:image/png;base64,....») }

Неудобно писать два класса (ibutton и picturename).

fk0
() автор топика
Ответ на: LOLWUT?! от mopsene

Тебе не кажется. У ТСа мозг рака.

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

Про CSS-препроцессоры я не в курсе. Вот это идея.

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

.classname в данном случае очень много штук. И часть из них должны быть с common, а часть нет. Какие из них какие нужно где-то описать. И удобнее описывать в каком-то отдельном вообще месте, а не там где classname описывается (это автомагически генерируется) и не там, где common (легко забыть).

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

Случай гораздо более тяжёлый: в конечном счёте хочется через CSS/javascript ножку PIC-контроллера дёргать.

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

Я сам не знаю как хочу, потому и завёл топик. Но уже, кажется, понял, что писать два класса не самая глупая идея (см. CSS, хочется странного: правило добавляющее класс элементу (комментарий)). Иначе, если писать в другом месте вести соответствие, мол этой picturename соответствует ibutton, а этой нет, то можно забыть/перепутать и т.п.

fk0
() автор топика
<style>
.classname { properties...; }
.common { common properties...}
</style>
...
<div class="common">
            <div class="classname"></div>
</div>

Пользуйся!

//Каша в голове детектед!

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

Ты не понял, ему влом два класса описывать, а как по-другому, он сам не знает.

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

Окинь взглядом весь раздел, он уже с дюжину нашёл и теперь костыли для последствий подставляет.

В лесс есть миксины:

.highlighted {
     color: red;
     background: white;
}

a:hover {
    .highlighted
}

С цсс только яваскриптом наверно.

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

// Каша в html детектед!

Говнокод IMHO. Классы и нужны, чтоб html был предельно прост без остатков визуального форматирования в нём.

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

А вообще по-моему задача получения класса наследующего свойства нескольких других классов актуальна... less это круто, но тащить сторонний код выйдет себе сильно дороже. Это для больших проектов на PC — ок.

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

два класса лучше писать чем не писать, потерпи-привыкнешь-еще захочешь. а так реально less, stylus etc. все это решают, но сам css становится избыточен (правила копируются, ты же понимаешь)

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

Ну и чем тебе стандартное css наследование не нравится?

jamy
()
Ответ на: комментарий от fk0

ты ничего не тащишь в проект, лесс компилируется в обычный css, на релиз ты выкладываешь только css, на разработку — ассет менеджер все это прозрачно решает, впрочем, у тебя свой устав же

trashymichael ★★★
()

Познакомься с SASS/SCSS. Помимо того, что там есть миксины, они ещё и параметризируются.

Reaper ★★
()

sass.
или же

.a{...}
.b{...}
.a,.b{...}

special-k ★★★★
()

.classname { properties...; APPEND_CLASS(common) }

Отсутствие этой фичи — одна из тех причин, почему CSS до сих пор сосёт.

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