Я просомтрел множество css сайтов и там очень часто используют ID скажите какое принцепиально отличение id от класса? кро ме того что id Это иднивидуальный стиль.
class таким же успехом можно названать единоразово.
Я просомтрел множество css сайтов и там очень часто используют ID скажите какое принцепиально отличение id от класса? кро ме того что id Это иднивидуальный стиль.
class таким же успехом можно названать единоразово.
Так мне и интересно зачем Люди ID юзают я понимаю что если еиспользует Ява т тогда да там через id можно выполнять разные действия.
Тотже abcnews.go.com я счтаю что хорошо сверстан... но уних ID шников немеренно.
Незнаю как в нынешних броузерах, но вот во всяких Операх <6.какогототам и Фаирфоксях - ID глючат... так что с ними надо аккуратно верстать странички =)
З.Ы.
А вапще время тех браузеров прошло - так что верстайте и не заморачивайте голову всякими ID... )
MANIX, потому что можно сделать одинаковый стиль, например текста, для всех объектов внутри тэга с заданным id.
2GoDoom, приведите пример, где id глючат. На этом форуме модно, что ли, писать, что id глючат?
Aishek, это кто тебе сказал что ИД можно применять только один раз??? Глупость какая...
Разница еще в том, что у ID "вес" больше, чем у класса. Т.е. если применить на один элемент и класс и ИД, по элементу присвоятся параметры ИДа.
Я обычно применяю ИДы для всего. Не зню почему. Они короче пишутся =)
2GoDoom, просьба больше не писать эту информацию без ссылок на источники, т. к. ну очень уж сомнительна
Тёма, да, один ID можно применить хоть сколько раз. И самое страшное то, что в браузерах это будет корректно отображаться. Но это если полностью забить на логику и на валидатор от W3C.
А вообще, для меня смысл блочной вёрстки именно в её логичности.
#header h1 {} — сколько хеадеров? 1 вроде...
.header h1 {} — сколько хеадеров? много как бы...
Чувствуете разницу в восприятии?
И кроме того, ид имеют больший приоритет над классами, в 10 раз!
про источники и всё такое - я говорю о том, что когда то было - и чего когда то придерживался, дабы было много глюков и багов с этим (именно с тем, что броузеры старые не все ИД поддерживали) - сча все нормально... искать ссылки на источники - мне влом... поищите в Яндексе
[/quote]Originally posted by synchro@Aug 22 2005, 17:00
2GoDoom, просьба больше не писать эту информацию без ссылок на источники, т. к. ну очень уж сомнительна
Тёма, да, один ID можно применить хоть сколько раз. И самое страшное то, что в браузерах это будет корректно отображаться. Но это если полностью забить на логику и на валидатор от W3C.
А вообще, для меня смысл блочной вёрстки именно в её логичности.
<div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
Согласен на все 200%.
А Тёме посоветую ещё раз прочитать спецификацию. Без обид.
[/quote]Originally posted by 2GoDoom@Aug 22 2005, 13:22
Незнаю как в нынешних броузерах, но вот во всяких Операх <6.какогототам и Фаирфоксях - ID глючат... так что с ними надо аккуратно верстать странички =)
З.Ы.
А вапще время тех браузеров прошло - так что верстайте и не заморачивайте голову всякими ID... )
<div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
Ересь какая-то. Не верю. Всегда верстаю под Оперу, Файрфокс и Эксплорер - везде с ИД нормально.
Народ читайте 'Спецификация HTML 4.01'
Вот Параграф про id и class:
7.5.2 Идентификаторы элемента: атрибуты id и class
Определения атрибутов
id = name [CS]
Устанавливает имя элемента. Имя должно быть уникальным для данного документа.
class = cdata-list [CS]
Устанавливает имя класса или набор имён классов для элемента. Любому количеству элементов может быть назначено то же имя или имена класса. Множественные имена классов могут разделяться пробельными символами.
Атрибут id назначает элементу уникальны идентификатор (который может проверяться разборщиком SGML). Например, следующие параграфы различаются значениями своих id:
<P id="myparagraph"> Этот параграф имеет уникальное имя.</P>
<P id="yourparagraph"> Этот параграф тоже имеет уникальное имя.</P>
Атрибут id имеет несколько ролей в HTML:
* переключатель таблиц стилей;
* anchor/якорь назначения для гипертекстовых ссылок;
* как значение для ссылки на конкретный элемент из скрипта;
* как имя объявленного элемента OBJECT;
* для общих надобностей обработки в ПА (напр., для идентификации полей при извлечении данных из страниц HTML в базы данных, переводе документов HTML в другие форматы и т.п.).
Атрибут class одновременно назначает элементу одно или более имён классов; можно сказать, что элемент принадлежит данным классам. Имя класса может разделяться несколькими объектами элемента. Атрибут class имеет несколько ролей в HTML:
* переключатель таблиц стилей (если автор захочет назначить информацию о стиле нескольким элементам);
* для общих надобностей обработки в ПА.
В следующем примере элемент SPAN используется вместе с атрибутами id и class для разметки сообщений документа. Сообщения появляются в английской и французской версиях.
Variable declared twice
Undeclared variable
Bad syntax for variable name
Variable déclarée deux fois
Variable indéfinie
Erreur de syntaxe pour variable
Следующие правила CSS (Каскадной Таблицы Стилей) могут сообщить визуальным ПА, что необходимо отобразить информационные сообщения зелёным цветом, предупреждения - жёлтым, а ошибки - красным:
SPAN.info { color: green }
SPAN.warning { color: yellow }
SPAN.error { color: red }
Обратите внимание, что французское "msg1" и английское "msg1" не могут появляться в одном документе, поскольку они разделяют одно значение id. Авторы могут также использовать атрибут id для уточнения представления определённых сообщений, делать их якорями назначения и т.п.
Почти любому элементу HTML может быть назначен идентификатор и информация класса.
Предположим, например, что мы создаём документ о языке программирования. Документ содержит несколько отформатированных примеров. Мы используем элемент PRE для форматирования примеров. Мы назначаем также цвет фона (зелёный) всем объектам элемента PRE, принадлежащих классу "example".
<HEAD>
<TITLE>... заголовок документа ...</TITLE>
<STYLE type="text/css">
PRE.example { background : green }
</STYLE>
</HEAD>
<BODY>
<PRE class="example" id="example-1">
...здесь - код примера...
</PRE>
</BODY>
Установив в этом примере атрибут id, мы можем
(1) делать ссылки на класс и
(2) переопределять информацию стиля класса с помощью объекта информации стиля.
Примечание. Атрибут id разделяет то же пространство имён, что и атрибут name, когда используется для именования якоря. См. дополнительно раздел якоря с id.
P.S. Следуйте правилам а не делайте от себя и ничего, нигде не будет глючить.
Windows это правило не касается.
Наверное мир рухнет, если сделать несколько объектов с одинаковым айди.
Что вы все так циклитесь на спецификациях?
Вот почему-то соблюдать закон никто не хочет. А спецификации соблюдать стало модным... (может не то слово, но смысл тот же)
Либо делайте всё логично, либо делайте всё наиболее оптимально. А делать и так и так конечно можно. Но не нужно при этом разделять вещи, которые нужно делать логично, и вещи которые нужно делать оптимально.
Кирилл, а если сделанное логично одновременно является оптимальным?
kost, такое бывает редко. Но случай с объектами с одинаковым айди не тот.
Ну к примеру у тебя несколько объектов с одинаковым id, и тебе надо с одним через DOM поработать, так ты че будеш селую цепочку по дереву объектов прописовать чтоли, да работать будет, а потом информация добавиться и дерево объектов изменится и все пойдет на ..., и че тогда ? заново цепочку прописовать ?
designuser, я же сказал - если не критичны объекты с одинаковыми именами, так зачем изобретать велосипед?
Так если у меня на странице должны быть два абсолютно одинаковых блочных элемента, зачем применять для них два разных ИД'а? Зачем забивать файл цсс дублируемыми данными? Объясните.Originally posted by synchro@Aug 22 2005, 22:00
[b]Тёма, да, один ID можно применить хоть сколько раз. И самое страшное то, что в браузерах это будет корректно отображаться. Но это если полностью забить на логику и на валидатор от W3C.
Если только для того чтобы код не подавившись скушал валидатор - пукал я на такое счатье.
[/quote]Originally posted by Тёма@Sep 1 2005, 05:34
Так если у меня на странице должны быть два абсолютно одинаковых блочных элемента, зачем применять для них два разных ИД'а? Зачем забивать файл цсс дублируемыми данными? Объясните.
<div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
Читай спецификацию выше, там четко написано (вынужден повторить - прошу простить):
id = name [CS]
Устанавливает имя элемента. Имя должно быть уникальным для данного документа.
class = cdata-list [CS]
Устанавливает имя класса или набор имён классов для элемента. Любому количеству элементов может быть назначено то же имя или имена класса. Множественные имена классов могут разделяться пробельными символами.
А это значит по русски что id это уникальное имя и далжно встречаться 1 раз на странице, тогда как cclass это описание класса обьекта и может встречаться скока угодно раз на странице, отсюда ответ что если два одинаковых по стилям объекта то применяй class, вообще в принцыпе можеш все делать на классах, id тебе надо лиш для того чтобы к примеру через DOM менять параметры (атребуты,значение,добавле ие/удаление элементов,и.т.д.) объектов или получать параметры (атрибуты,и.т.д.).