в некотором коде CSS я узнал этот тип селектора
div#someid
Это официально корректно?
Если ответ на (1) ДА, какова потребность в селекторе отделения перед #someid, разве идентификатор не должен быть уникальным в допустимой веб-странице?
Спасибо!
Ответ: они одинаковы, но использование div перед #id является лишним, и его удаление не приносит вреда, в то время как его оставление только занимает место. Однако некоторые могут посчитать, что это делает разметку более читабельной, поскольку идентифицирует тип элемента, с которым связан id.
Однажды я читал, что размещение div перед id может заставить браузер сначала перебрать все div, в то время как использование #id этого не делает, но мне придется поискать эту ссылку.
Ничего страшного.
# другой div
. Одна из причин наличия селектора тегов в том, что он предполагает некоторые базовые CSS, например, что это блочный тег с нулевыми полями/отступом.
div#someid - выбрать div с id someid
#someid - выбрать элемент любого типа с id someid
Насколько я понимаю, 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.