CSS: class или id

Ms

Новичок
CSS: class или id

Уже давно пользуюсь html и css.
Всегда делал так:
в css:
.ms(font-color:"#000000");
в html:
<table class="ms">...

А тут зашёл на microsoft.com и увидел следующие надписи:
в css:
#ms(font-color:"#000000");
в html:
<table id="ms">...

Может кто-нить объяснит какой вариант предпочтительней?
И вообще в чём разница?
 

Profic

just Profic (PHP5 BetaTeam)
аттрибут id теоритически предназначен для того, чтобы уникально идентифицировать нод в документе, т.е. не может быть одного id-а у нескольких нодов. Если же их использовать по одному разу, то в общем пофиг :)

Кстати из спеков CSS2:
E[foo~="warning"] - Matches any E element whose "foo" attribute value is a list of space-separated values, one of which is exactly equal to "warning".
DIV.warning - HTML only. The same as DIV[class~="warning"].
E#myid - Matches any E element ID equal to "myid".
 

Ms

Новичок
короче, как я понял лучше ичпользовать class, Т.К. вдруг придётся ещё раз испрользовать
 

shade11

Guest
а иногда лучше использовать "ид", чтобы не прописывать класс для линка (например, когда в <td id="zzz"><a href="yyy">xxx</a></td>)...
 

Profic

just Profic (PHP5 BetaTeam)
А причем тут это?
Вернее чем в данном случае ид лучше чем класс?

-~{}~ 21.06.04 21:15:

Может ты имел ввиду
td#id a {
...
}
?
 

shade11

Guest
Profic
имел, но
#id a {
...
}
а лучше тем что не нужно писать class в теге...
 

Profic

just Profic (PHP5 BetaTeam)
дык его и при классе писать не нужно :)
.class a {
...
}
работает так же :)

-~{}~ 21.06.04 23:15:

shade11
>(цитирую по памяти) с класами так низзя...
я все же думаю, что тут глубоко ошибаешься, т.к. я сам лично использовать такую конструкцию и все было хорошо под всеми нормальными браузерами. А твои аргументы где (именно аргументы, а не слова типа можно низя и пр.)?
[styles.css]
...
.tdrug, .tdrug a {
color: #ff0000;
}
.tnoreg, .tnoreg a {
color: #808080;
}
.tboth, .tboth a {
color: #c04040;
}
.tannul, .tannul a {
font-style: italic;
}
...
[output of php script]
...
<p class="tdrug">Наркотические и сильнодействующие препараты
<p class="tnoreg">Незарегистрированное международное название
<p class="tboth">Два предыдущих вместе
<p class="tannul">Аннулированные препараты (только в таблице)
...
<table width=100% border=0 cellspacing=1>
<thead>
<tr>
<th width="15%" class="tbg1">Международное название</th>
<th width="15%" class="tbg1">Торговое название</th>
<th width="15%" class="tbg1">Страна-производитель</th>
<th width="15%" class="tbg1">Фирма-производитель</th>
<th width="15%" class="tbg1">Номер регистрации препарата</th>
<th width="15%" class="tbg1">Формы выпуска</th>
<th width="15%" class="tbg1"></th>
</tr>
</thead>
<tr class="tbg2 tannul">
<td class="tboth">Фенилпропаноламин+Хлорфенамин+Ацетилсалициловая кислота (Phenylpropanolamine+Chlorphenamine+Acetylsalicilic acid)</td>
<td class="tdrug">HL-Колд (HL-Cold)</td>
<td><a href="index.php?action=descr-country&countryid=57" title="Список фирм и препаратов из страны">США</a></td>
<td><a href="index.php?action=descr-firm&firmid=779" title="Адрес представительства и список препаратов, выпускаемых фирмой">Sagmel Inc</a></td>
<td>П-8-242 №009026</td>
<td>таблетки шипучие</td>
<td><a href="index.php?action=descr-drug-table&drugid=27&fullid=162250#descr" title="Полное описание препарата">Отобразить</a></td>
</tr>
</table>
 

neko

tеam neko
Profic

и много ты всего этого принял, прежде чем такой код написать? :)
 

IL78

Guest
имхо, id нужно писать для позиционируемых элементов и вообще для всех, управляемых JavaScript'ом с помощью getElementById() ;)
а вообще никто не мешает применить к одному элементу и класс стилей, и индивидуальный стиль:
Код:
.positioned { position: absolute; top: 100px;}

#leftone { left: 100px;}

#rightone { left: 300px;}

......

<div class="positioned" id="leftone">Пример 1</div>
<div class="positioned" id="rightone">Пример 2</div>
 
Сверху