Зачем верстать по айдишникам?
1807 сообщений
#15 лет назад
У меня такой вот вопрос ко всем, причем вопрос не в плане постебаться над тем, какой я умный, а все тупые, а я просто правда не понимаю, зачем это делать.....итак:Зачем в верстке использовать айдишники, если есть православные классы, которых на 150% хватает для выполнения любых задач по верстке? Более того, айдишники предполагают свою УНИКАЛЬНОСТЬ на странице, но некоторые верстальщики умудряются многократно использовать их на странице, как классы (валидатор падает в обморок).
Ведь айдишники - они вообще-то для программистов. А у программиста - своя голова и свои мысли, и реализации его идей может вообще помешать то, что какому-то тегу уже задан айди с каким-то своим названием, которое может не совпадать с его логикой, причем на него прописана куча css-свойств, и если он как-то тронет этот айди, то у него вообще часть сайта посыпется.
Вот такой вот вопрос - зачем айдишники, если есть классы??? Имхо верстальщикам - классы, программистам - айдишники, кесарю - кесарево, и т д...
530 сообщений
1807 сообщений
#15 лет назад
zombieman, ну это все понятно, гуглить и я умею...вопрос к живым людям, интересно мнение социумавот есть левая колонка...она точно одна на странице, и многие ничтоже сумняшеся пишут id="left_column"
Вопрос вот в чем - а почему именно так, почему не написать class="left_column"? Айдишник дает какой-то профит? Ведь куда симпатичнее смотрится css-файл, который похож не на кашу из разномастных символов # и точек, а такой, где все стандартизировано. Суть вопроса - в чем необходимость юзать айди, если классы делают ТО ЖЕ САМОЕ? И почему воткнуть куда-то айди, а не класс - это "по логике"? По логике чего?
1807 сообщений
#15 лет назад
Позиция "мне так нравится/удобно/привычнее", несомненно, имеет место быть и имеет право на существование. Но меня интересует, что вы с этого поимеете, кроме внутреннего спокойствия и удовлетворения...
530 сообщений
#15 лет назад
Потому что может быть #leftbar с цветовой схемой .blue / .red и тогда основным будет параметр айдишника а не класса даже если класс написан после айдишника в css Это единственная разница. Это не удобство, а правильная логика что бы потом не было ошибок, как вы и писали например для программистов. А по поводу того что верстальщики все равно ставят в коде несколько одинаковых айдишников, то я прокомментирую это так: если твой html не валиден, ты не верстальщик
2195 сообщений
#15 лет назад
nehovaysyatopolЦитата:
я просто правда не понимаю, зачем это делать..
Ну вот вы не понимаете зачем так, а те кто пишут id еще не понимают зачем писать class. Потому что почти в каждой книжке по верстке (а все эти книги написаны относительно давно, пять, шесть лет назад и лишь переиздаются из года в год) написано то же самое, на что дал ссылку zombieman - начинающие верстальщики принимают такое как аксиому, а с опытом и не заостряют внимание на подобных вещах - codestyle уже сформировался, а поточная работа не подразумевает лишнего времени на раздумья.
А книг о современных приемах верстки, тем более изданных на русском языке - кот наплакал.
А вот class="left_column" не менее печально чем id="left_column"
Есть такое понятие, как "презентационные" названия id/классов, это плохо. Название класса не должно описывать поведение блока. Представьте большой проект, портал, где происходит некий редизайн и изменения нужно внести исключительно с помощью css, не затрагивая структуру (и если вы заметили, время от времени и на weblancer бывают подобные проекты). Или же есть различные "скины", а-ля css zen garden - и вот получается, что левую колонку надо сделать правой. Тут-то казалось бы очевидный "left_column" и будет все тормозить.
upd: прошел по ссылке zombieman - там кстати про это есть.
zombieman
Цитата:
Потому что может быть #leftbar с цветовой схемой .blue / .red и тогда основным будет параметр айдишника а не класса даже если класс написан после айдишника в css
id в сочетании с презентационным названием - для крупного проекта просто смерть. Через год доработок css файл действительно превратится в кашу - костыль на костыле, строчки с id перекрывающими id чтобы перебить специфичность будут расти и расти.
16382 сообщения
1157 сообщений
#15 лет назад
Цитата ("nehovaysyatopol"):Ведь айдишники - они вообще-то для программистов. А у программиста - своя голова и свои мысли, и реализации его идей может вообще помешать то, что какому-то тегу уже задан айди с каким-то своим названием, которое может не совпадать с его логикой, причем на него прописана куча css-свойств, и если он как-то тронет этот айди, то у него вообще часть сайта посыпется.
Всё верно. Те верстальщики, которые используют id не понимают, что они делают.
Обычные аргументы таких верстальщиков - мол так семантичнее.
На деле это бред. Как раз семантичнее класс. Класс предназначен для оформления, id для программирования.
В некоторых случаях использование id может сократить объём кода в css, когда элементу задаётся и класс и id, но эта копеечная экономия приводит к последующим проблемам.
Например, стоит программисту прикрутить к id javascript и начинаются не понятные трудно находимые баги.
Стоит в последующем использовать блок второй раз, и уже возникает ситуация, когда на странице 2 элемента с разными id, а следовательно приходится глобально ковыряться в css и в шаблонах сайта.
327 сообщений
#15 лет назад
Имхо: при вёрстке класс для множественных объектов (например, "заголовки" - их много), id - для уникальных (например, "навигационная колонка" - она одна).
791 сообщение
1594 сообщения
#15 лет назад
<label for="id">Например здесь, т.к если указать for="name", то работать будет не всегда верно.
1157 сообщений
#15 лет назад
Цитата ("Anexroid"):<label for="id">
Например здесь, т.к если указать for="name", то работать будет не всегда верно.
Да, для label надо указывать id.
2195 сообщений
#15 лет назад
h4mpy, у Мациевского ( ссылка ) по тестам выходит, что класс быстрее.Anexroid, superkoder, для label действительно всегда указывается id, а в поточной верстке больших форм id и name обычно опускается и превращается в такое:
<label><input type="radio"/> Something</label>
Обертывание контролов в label уже дает корректную работу в браузерах (кроме IE, конечно же), остальные поля (и for и id при необходимости) пропишет как ему нужно программист.
Задача поточного верстальщика - работать быстро.
1807 сообщений
#15 лет назад
Цитата ("Anexroid"):<label for="id">
Например здесь, т.к если указать for="name", то работать будет не всегда верно.
не, ну тут ясно......что опять же не мешает мне написать что-то вроди <label class="трололо" id="труляля">
...и каждый параметр занят своим делом....
1807 сообщений
#15 лет назад
Цитата ("Sir_Michael"):А вот class="left_column" не менее печально чем id="left_column"
Есть такое понятие, как "презентационные" названия id/классов, это плохо. Название класса не должно описывать поведение блока. Представьте большой проект, портал, где происходит некий редизайн и изменения нужно внести исключительно с помощью css, не затрагивая структуру (и если вы заметили, время от времени и на weblancer бывают подобные проекты). Или же есть различные "скины", а-ля css zen garden - и вот получается, что левую колонку надо сделать правой. Тут-то казалось бы очевидный "left_column" и будет все тормозить.
upd: прошел по ссылке zombieman - там кстати про это есть.
ну допустим, так как в таком случае вы предлагаете "обозвать" левую колонку?.....интересны примеры названий...опять же, это не сарказм, а действительный интерес
1807 сообщений
#15 лет назад
Цитата ("Sir_Michael"):Ну вот вы не понимаете зачем так, а те кто пишут id еще не понимают зачем писать class. Потому что почти в каждой книжке по верстке (а все эти книги написаны относительно давно, пять, шесть лет назад и лишь переиздаются из года в год) написано то же самое, на что дал ссылку zombieman - начинающие верстальщики принимают такое как аксиому, а с опытом и не заостряют внимание на подобных вещах - codestyle уже сформировался, а поточная работа не подразумевает лишнего времени на раздумья.
А книг о современных приемах верстки, тем более изданных на русском языке - кот наплакал.

2195 сообщений
#15 лет назад
nehovaysyatopolЦитата:
ну допустим, так как в таком случае вы предлагаете "обозвать" левую колонку?.....интересны примеры названий...опять же, это не сарказм, а действительный интерес
sidebar, aside, extra - есть несколько устоявшихся именований.
1807 сообщений
#15 лет назад
Sir_Michael, sidebar - неплохое название, если колонка у вас одна, а если их две (стандартный трехколоночный макет)?
2195 сообщений
#15 лет назад
nehovaysyatopol, у меня обычно как раз aside и extra. sidebar не использую.