Например, если у меня есть следующий HTML-код:
<div class="someDiv"></div>
и этот CSS:
.opacity {
filter:alpha(opacity=60);
-moz-opacity:0.6;
-khtml-opacity: 0.6;
opacity: 0.6;
}
.radius {
border-top-left-radius: 15px;
border-top-right-radius: 5px;
-moz-border-radius-topleft: 10px;
-moz-border-radius-topright: 10px;
}
.someDiv {
background: #000; height: 50px; width: 200px;
/*** How can I reference the opacity and radius classes here
so this div has those generic rules applied to it as well ***/
}
Подобно тому, как в языках сценариев у вас есть общие функции, которые часто используются, написанные в верхней части сценария, и каждый раз, когда вам нужно использовать эту функцию, вы просто вызываете функцию вместо того, чтобы каждый раз повторять весь код.
.radius
, разделенных запятыми , например.radius, .another, .element{/* css*/}
. Это сэкономит вам лишний код, но сделает его менее читаемым.Ответы:
Нет, вы не можете ссылаться на один набор правил из другого.
Однако вы можете повторно использовать селекторы для нескольких наборов правил в таблице стилей и использовать несколько селекторов в одном наборе правил ( разделяя их запятыми ).
Вы также можете применить несколько классов к одному элементу HTML (атрибут class принимает список, разделенный пробелами).
Любой из этих подходов должен решить вашу проблему.
Вероятно, было бы полезно, если бы вы использовали имена классов, описывающие, почему элемент должен быть стилизован, а не как он должен быть стилизован. Оставьте как в таблице стилей.
источник
fieldset legend
вlabel.legend
. Я понимаю, но сожалею..someDiv.other{/*style...*/}
таким образом, затронуты только элементы, которые имеют оба классаВы не можете этого сделать, если не используете какой-либо расширенный CSS, такой как SASS . Однако очень разумно применить эти два дополнительных класса к
.someDiv
.Если
.someDiv
он уникален, я бы также дал ему идентификатор и ссылку на него в css с помощью идентификатора.источник
Если вы хотите и можете использовать небольшой jquery, вы можете просто сделать это:
Если у вас есть javascript, который уже обрабатывает страницу, или вы можете заключить его где-нибудь в теги <script>. Если да, оберните приведенное выше в функцию готовности документа:
Я недавно столкнулся с этим при обновлении плагина wordpress. Они были изменены, и в CSS использовалось множество директив "! Important". Мне пришлось использовать jquery, чтобы заставить мои стили, из-за гениального решения объявить! Important в нескольких тегах.
источник
Вы можете легко сделать это с помощью препроцессора SASS , используя @extend.
В противном случае вы также можете использовать JavaScript (jQuery):
Самый простой, конечно, добавить несколько классов прямо в HTML.
источник
Просто добавьте классы в свой html
источник
У меня вчера была эта проблема. @ Квентин ответил нормально:
но я сделал функцию javascript для имитации наследования в css (например, .Net):
и эквивалентный css:
и эквивалентный HTML:
Я тестировал и работал у меня, даже если правила находятся в разных файлах css.
источник
Вы можете использовать функцию var () .
Пример:
источник