CSS div#id, что для?

в некотором коде CSS я узнал этот тип селектора

div#someid
  1. Это официально корректно?

  2. Если ответ на (1) ДА, какова потребность в селекторе отделения перед #someid, разве идентификатор не должен быть уникальным в допустимой веб-странице?

Спасибо!

7
задан Marco Demaio 11 March 2010 в 12:50
поделиться

6 ответов

Ответ: они одинаковы, но использование div перед #id является лишним, и его удаление не приносит вреда, в то время как его оставление только занимает место. Однако некоторые могут посчитать, что это делает разметку более читабельной, поскольку идентифицирует тип элемента, с которым связан id.

Однажды я читал, что размещение div перед id может заставить браузер сначала перебрать все div, в то время как использование #id этого не делает, но мне придется поискать эту ссылку.

2
ответ дан 6 December 2019 в 06:13
поделиться
  1. Да, это правильно.
  2. Возможно, это связано с тем, что это делает селектор более конкретным. Чем конкретнее селектор, тем выше его приоритет.
20
ответ дан 6 December 2019 в 06:13
поделиться

Ничего страшного.

  • Таблица стилей может быть повторно использована между страницами, имеющими идентификатор на разных элементах
  • Явный тип предоставляет информацию об элементе для сопровождающего.
  • Он делает селектор более конкретным, например для отмены # другой div .
4
ответ дан 6 December 2019 в 06:13
поделиться

Одна из причин наличия селектора тегов в том, что он предполагает некоторые базовые CSS, например, что это блочный тег с нулевыми полями/отступом.

0
ответ дан 6 December 2019 в 06:13
поделиться

div#someid - выбрать div с id someid
#someid - выбрать элемент любого типа с id someid

1
ответ дан 6 December 2019 в 06:13
поделиться

Насколько я понимаю, CSS будет ранжировать селекторы в зависимости от того, насколько конкретен селектор, если два правила применяются к одному и тому же элементу,

т.е.

#someId{
color: black;
}
.someClass{
color: green;
}

И у вас был этот div:

<div id="someId" class="someClass">

Тогда какой же выигрыш? (Существуют правила, регулирующие этот конкретный пример, я считаю, что ID все равно выиграет).

Но предположим, что у вас были следующие правила:

.someClass{
color: black;
}
div.someOtherClass{
color: green;
}

Тогда я бы предпочел второе правило, потому что оно более конкретное.

Однако, как указал Дэвид, ID обычно оцениваются намного выше, поэтому ID будет выигрывать в большинстве случаев.

Итак, есть две причины, по которым я могу использовать селектор ID элемента №

I) Он превосходит какое-то запутанное правило, например, div # canvas> div> div # main> div: last-child> div

II) Итак, вы знаете , к какому элементу он относится, то есть, если ваш div и идентификатор «postcodeContainer», и вы пытались найти его в html-файле, это может быть труднее, потому что вам нужно искать для каждого элемента (если вы не использовали опцию поиска / поиска в IDE), где в качестве div # postcodeContainer вы знаете, что ищете элемент div.

2
ответ дан 6 December 2019 в 06:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: