HTML: Соглашения об именах для атрибутов ID - PullRequest
6 голосов
/ 16 декабря 2009

В последнее время я много работаю над интерфейсом. Некоторые разработчики здесь называют свои элементы такими вещами, как «divPhotoGalleryContainer», а иногда я просто вижу «galleryContainer».

Есть ли хорошее соглашение об именах? Действительно ли полезно добавлять "div"?

Ответы [ 6 ]

3 голосов
/ 16 декабря 2009

Глупо, венгерская нотация, такая как divPhotoGalleryContainer, совершенно не нужна в CSS. Вы можете назвать идентификатор PhotoGalleryContainer и указать его для элемента <div> в CSS:

div#PhotoGalleryContainer {
  /* rules */
}

Внутри этого правила вы обычно можете принимать определенные свойства, такие как display: block, если только вы не нацелены на общие div-ы где-то еще (что-то плохое).

На самом деле никаких особых соглашений для именования не существует, просто используйте имена, которые понятны и просты.

2 голосов
/ 16 декабря 2009

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

1 голос
/ 16 апреля 2013

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

  • способ отличить тесно связанные элементы, такие как #passwordContainer от #passwordLabel и # passwordInput
  • структурные имена, а не презентационные имена, например # main-content, а не # blue-square (так как цвет может измениться позже). Больше информации здесь: http://sixrevisions.com/css/css-tips/css-tip-2-structural-naming-convention-in-css/
  • способ разграничения похожих элементов, например, на странице, где перечислены разные сообщения с одинаковым типом элементов, вы можете назвать их # postContainer-43 и # postContainer-95 для записей № 43 и 95 соответственно и указать их класс .post или .postContainer
1 голос
/ 16 декабря 2009

Лучшее соглашение об именах - это то, что имеет смысл для разработчиков / дизайнеров, вовлеченных в проект. Учитывая два примера в вашем вопросе, я готов поспорить, что «divPhotoGalleryContainer» содержит «div», потому что либо: на него ссылается селектор CSS, либо какой-то код JavaScript просматривает его, и это как-то полезно чтобы знать, к какому типу элемента относится идентификатор.

Соглашение "divPhotoGalleryContainer" похоже на HTML-изюминку Венгерской нотации .

0 голосов
/ 17 декабря 2009

В этом случае добавить «div» не вредно. Как сказал DisgruntledGoat, венгерская нотация может быть бесполезна с CSS (то есть, если вы не хотите ограничивать класс одним типом элемента), и комментарий Роба прав, вы можете даже изменить свои элементы и оставить те же классы / идентификаторы , но в последнее время может быть полезно лучше понять код.

Я всегда использую венгерскую нотацию, потому что я к этому привык. Если вы к чему-то привыкли, сохраните это, так как это проще, чем изменить его. В среде, где многие программисты пишут одни и те же вещи, если нет соглашения, вы можете писать так, как хотите. Тем не менее, быть чрезмерно описательным не так плохо, как недостаточно описательным. Тем не менее, я голосую за полные имена для всего, включая переменные, функции, классы, идентификаторы, элементы XML и т. Д. Если это становится трудно читать, используйте больше / лучше размещенные пробелы / строки. Если он добавляет больше, чем хотел, к размеру файла, уменьшите его.

0 голосов
/ 16 декабря 2009

Самое главное, чтобы вы были последовательны с любым методом, который вы используете.

Однако я всегда считал полезным использовать нотацию венгерского типа "divPhotoGalleryContainer" и "txtLastName" Это облегчает различение элементов страницы от других переменных, как на стороне клиента, так и на стороне сервера.

...