Если у меня есть следующий div:
<div class="sectionA" id="content">
Lorem Ipsum...
</div>
Есть ли способ определить стиль, который выражает идею "DIV с id='content'
AND class='myClass'
"?
Или вы просто идете тем или иным путем, как в
<div class="content-sectionA">
Lorem Ipsum...
</div>
Или
<div id="content-sectionA">
Lorem Ipsum...
</div>
css
css-selectors
Larsenal
источник
источник
img#Inbox
на вашей странице может быть значок, который обычно имеет непрозрачность 50%. Однако, когда у пользователя есть сообщение, вы хотите, чтобы оно было установлено на 100% непрозрачности, и серверная часть указывает на это, добавляяactive
класс к элементу. В таком случае имеет смысл иметь селектор, который сочетает в себе идентификатор и имя класса.code
<p id = Product_1 class = Product> Product 1 </ p> <p id = Product_2 class = Product> Product 2 </ p>code
Это для того, чтобы разрешить общую стилизацию всех продуктов, но также позволить индивидуальную стилизацию для конкретных продуктов?Ответы:
В вашей таблице стилей:
Изменить: это может помочь тоже:
и, по вашему примеру:
Редактирование, 4 года спустя: так как он очень старый, и люди продолжают его находить: не используйте tagNames в ваших селекторах.
#content.myClass
быстрее, чемdiv#content.myClass
потому, что tagName добавляет шаг фильтрации, который вам не нужен. Используйте tagNames в селекторах только там, где это необходимо!источник
div.class#id
должен быть эквивалентным, хотя и менее рекомендуемым; сначала используйте больше уникальных частей селектора.Есть различия между
#header .callout
и#header.callout
в CSS.Вот "простой английский"
#header .callout
:Выберите все элементы с именем класса,
callout
которые являются потомками элемента с идентификаторомheader
.И
#header.callout
означает:выберите элемент, который имеет идентификатор,
header
а также имя классаcallout
.Вы можете прочитать больше здесь трюки CSS
источник
Нет ничего плохого в объединении идентификатора и класса в одном элементе, но вам не нужно идентифицировать его по обоим правилам. Если вы действительно хотите, вы можете сделать:
Вам не нужно
div
перед удостоверением личности, как другие предложили.В общем, правила CSS, специфичные для этого элемента, должны быть установлены с идентификатором, и они будут иметь больший вес, чем у класса. Правила, определенные классом, будут свойствами, которые применяются к нескольким элементам, которые вы не хотите изменять в нескольких местах в любое время, когда вам нужно настроить.
Это сводится к этому:
Есть смысл?
источник
Ну, как правило, вам не нужно классифицировать элемент, указанный в id, потому что id всегда уникален, но если вам действительно нужно, должно работать следующее:
источник
Вы можете комбинировать ID и Class в CSS, но идентификаторы должны быть уникальными, поэтому добавление класса в селектор CSS может привести к его переопределению.
источник
используйте:
tag.id ; tag#class
в теге переменных в вашем CSS.источник
Предполагается, что идентификаторы имеют уникальную ширину документа, поэтому вам не нужно выбирать на основе обоих. Вы можете назначить элемент нескольким классам, хотя с
class="class1 class2"
источник
Я думаю, что вы все не правы. Идентификаторы в сравнении с классом - это не вопрос специфики; у них совершенно разные логические применения.
Идентификаторы должны использоваться для идентификации определенных частей страницы: заголовок, панель навигации, основная статья, указание автора, нижний колонтитул.
Классы должны использоваться для применения стилей к странице. Допустим, у вас есть общий сайт журнала. Каждая страница сайта будет иметь одинаковые элементы - заголовок, навигация, основная статья, боковая панель, нижний колонтитул. Но в вашем журнале есть разные разделы - экономика, спорт, развлечения. Вы хотите, чтобы три раздела выглядели по-разному - экономическая и консервативная, спортивная, спортивная, яркая и молодая.
Вы используете классы для этого. Вам не нужно создавать несколько идентификаторов - # economics-article и # sports-article и # entertainment-article. Это не имеет смысла. Вместо этого вы должны определить три класса: .economics, sports и .entertainment, а затем определить идентификаторы #nav, #article и #footer для каждого.
источник
Не будет работать, если тип документа HTML 4.01, хотя ...
источник