#css #element
#css #элемент
Вопрос:
я создаю пользовательскую тему для WordPress и увидел это в файле style.css по умолчанию 2010:
#wrapper {
margin: 0 auto;
width: 940px;
}
#wrapper {
background: pink;
margin-top: 20px;
padding: 0 20px;
}
теперь это код по умолчанию (за исключением pink
). когда я пытаюсь свернуть его, что кажется логичным, это имеет большое значение.
чего я не могу понять, ТАК это ПОЧЕМУ вы объявляете один и тот же элемент дважды подобным образом? я никогда не видел этого раньше…
WR!
Ответ №1:
Это оказывается полезным, когда вы хотите применить общие свойства к нескольким элементам. Другим полезным приложением является добавление таблиц стилей из нескольких источников
Пример:
#head, #foot {
height: 100px;
}
#foot { /*Another foot*/
color: red;
}
Второй пример: CSS из нескольких источников:
/* External stylesheet: common.css */
body {
background: yellow;
}
/* Inline stylesheet, overrides external stylehseet */
body {
background: pink;
}
Когда два свойства имеют одинаковую специфику, будет применено последнее объявленное свойство.
Комментарии:
1. это я уже знаю. как я уже сказал, приведенное выше взято из ТОГО ЖЕ файла. на самом деле ПРОЧИТАЙТЕ вопрос вместо того, чтобы предполагать, что это то, что вы уже видели, пожалуйста.
2. @WhiteRau Вот несколько примеров. Могут быть разные причины для наличия двух идентификаторов:
1. The developer added CSS without looking whether a selector already exists 2. The selectors were originally located at different files, but after merging the files, the selectors appeared twice 3. Originally, one of the #wrapped selectors were a part of #another,#wrapper. The developer decided to remove #another, and used search-and-replace on "#wrapper,?", resulting in two #wrapper selectors.
я привел еще три примера. Теперь вы лучше понимаете?3. не думайте, что я очень эффективно сообщаю, в чем проблема. я отказываюсь от этого вопроса. я уже -2 за свое любопытство… оно того не стоит. 😛
4. Я сделал 1, поскольку я видел вопросы и похуже. Я правильно понял ваш вопрос? (см. Ответ комментарий).
5. мне нужно будет проверить свой кеш или что-то в этомроде. у меня есть только один файл CSS, и он делает очень странные вещи с этим разделом кода. я очень хорошо разбираюсь в CSS (я думал), но я не понимаю, почему я получаю такое разное поведение, когда я сворачиваю объявление. поля растянуты, розовый цвет, который не отображается, когда он такой, как я его ввел, внезапно появляется, когда все это находится под одним элементом. :'( итак, основываясь на том, что все говорят, это должно быть локальной проблемой. что вызывает беспокойство, потому что что ЕЩЕ не работает …? gack
Ответ №2:
Это просто переопределяет ранее объявленные свойства.
wrapper
теперь будет иметь margin:20px auto 0 auto
(верхний правый Нижний левый).
Комментарии:
1. нет. оно делает что-то еще. будучи WP и все такое, их код обычно довольно плотный, поэтому двойное объявление не имело смысла. кроме того, как я уже говорил, когда вы пытаетесь объединить два вместе, происходит нечто совершенно другое. чего, если все, что делает второе, переопределяет первое, не должно произойти. ничего не должно произойти. но это происходит по причинам, которые я не понимаю.
2. jsfiddle.net/nAGxa — Это то, о чем я говорил. Если происходит что-то совершенно другое, где-то в CSS должно быть что-то еще, что заставляет это происходить.
3. я изучу это. будем считать этот вопрос закрытым. не могу позволить себе постоянное снижение баллов, чтобы продолжать пытаться найти ответ. Спасибо.