Какой атрибут тега <div>должен ссылаться на CSS? - PullRequest
1 голос
/ 24 августа 2009

Это, вероятно, случай попытки запуска, прежде чем я смогу ходить, однако ... У меня есть следующий код:

<div class="hidden" id="repair_complete">
  // some code
</div>

У меня сложилось впечатление, что если мой CSS-файл содержит:

#hidden {
 display: none;
}

... тогда содержимое div не будет отображаться. Тем не менее, похоже, что это поведение будет работать только в том случае, если файл CSS содержит ссылку на идентификатор div:

#repair_complete {
  display: none;
}

В книге, над которой я работаю, все наоборот: таблица стилей относится к имени класса, а не к идентификатору.

Есть идеи, где я ошибаюсь?!

Ответы [ 6 ]

13 голосов
/ 24 августа 2009

Ваш синтаксис CSS неверен.

Если вы хотите получить доступ к этому div, вы можете сделать это следующим образом:

/* By class: */
.hidden {
  display: none;
}

/* By ID: */
#repair_complete {
  display: none;
}

Обратите внимание, что для доступа к элементу по классу вы используете точку перед именем класса. Вы используете хеш перед идентификатором.

4 голосов
/ 24 августа 2009

Остальные ответы имеют право на технические вещи: вам нужно. Скрыто, а не # скрыто.

Теперь вам нужно решить, хотите ли вы присоединить CSS к элементам div по классу или идентификатору. Я считаю, что в конечном итоге занятия лучше, если только вы не уверены, что когда-либо действительно и действительно будет что-то, что вы делаете.

Также не забывайте, что вы можете прикрепить к элементу более одного класса:

<div class="red fat shallow">blah blah</div>

Затем вы можете стилизовать этот элемент с помощью любого из следующих селекторов:

.red {...}
.fat {...}
.shallow {...}
.red.fat {...} /* Applies only to things that are both red and fat */
.red.fat.shallow {...} /* Very specific */
/* etc. */
1 голос
/ 24 августа 2009

A "." перед именем будет ссылаться на классы, а "#" будет ссылаться на идентификаторы:

.hidden
{
    display: none;
}
0 голосов
/ 24 августа 2009

Для ссылки на идентификатор элемента вы используете селектор #, для ссылки на имя его класса вы используете селектор ..

Так что в вашем примере вы бы использовали

#repair_complete {
display:none;
}

или

.hidden {
display:none;
}
0 голосов
/ 24 августа 2009

Чтобы использовать имя класса, используйте точку.

т.е.

.hidden refers to the class name
#repair_complete refers to the id.
0 голосов
/ 24 августа 2009

Вам нужно:

.hidden{
   display:none;
}

точка - это спецификатор класса, знак фунта - для идентификаторов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...