Achillia: class/id...?

Beitrag lesen

Salü

nächste (u.U. blöde)Frage:

Was ist gegen id's einzuwenden?
zb:
#p1 { font:15pt;
   font-family:Comic Sans MS;
   color:#FF99CC; }

warum ist es besser klassen zu verwenden?

nicht böse werden, aber warum liest du nicht die links dich ich dir fürher gepostet habe? (die vom w3c)

sorry, mein fehler, hab sogar ne ausrede (leider wahr), die maus auf der kiste hängt sich des öfteren auf, sodass ich immer wieder neustarten muss und so den überblick verlier, was ich jetzt schon gemacht habe, was ich noch wollte usw., mein fehler, sorry.

aussrden steht auch einiges im selfhtml tum thema
http://selfhtml.teamone.de/css/formate/zentrale.htm#div_span
http://selfhtml.teamone.de/css/formate/zentrale.htm#individualformate

wie frank auch schon sagte: ID dient für dateiweite eindeutige identifizierung von elementen:

-------- das ist also möglich -----------
<div id="abc">
<p id="abc"><a id="abc"></a></p>
<table id="abc">
<tr>
    <td id="abc"><span id="abc"></span></td>
</tr>
</table>
</div>

du kannst hier alle elemente mit: #abc {} ansprechen,
oder mit
div#abc {}
td#abc {} ...etc.
immer das jeweilige element ansprechen.

-------aber sowas ist NICHT erlaubt ---------
<div id="abc">
<p id="abc"><a id="abc"></a></p>
<table id="abc">
<tr>
    <td id="abc"><span id="abc"></span></td>
</tr>
</table>
</div>
<div id="abc">
<p id="abc"><a id="abc"></a></p>
<table id="abc">
<tr>
    <td id="abc"><span id="abc"></span></td>
</tr>
</table>
</div>


warum es nicht erlaubt ist: weil so sind die elemetne nicht mehr eindeutig identifizierbar (stellt dir vor ID wäre ein fingerabdruck)
wenn du hier für das erste div etwas definieren willst und für den 2. was anderes geht das  mit div#abc nicht mehr.
das ist z.B. dhtml sehr wichtig, wo du nur ein einziges bestimmtes element ansprechen willst.

willst du bestimme css angaben für bestimmte elemente mehrmals anwenden muss du klassen nehmen:

-------- dies ist also erlaubt --------------
<div class="abc">
<p class="abc"><a class="abc"></a></p>
<table class="abc">
<tr>
    <td class="abc"><span class="abc"></span></td>
</tr>
</table>
</div>

<div class="abc">
<p class="abc"><a class="abc"></a></p>
<table class="abc">
<tr>
    <td class="abc"><span class="abc"></span></td>
</tr>
</table>
</div>

hier kannst du auch alle elemtente ansprechen und zwar mit
.abc {} also mit einer unabhängigen klasse.

du kannst gezielt aber für elemente die css angaben wiederholen:

div.abc { } gilt nur für die div's
span.abc {} gilt nur für span's
etc.

jetzt mal das ganze mit css (setze text mal überall text ein):

<html>
<head>
<title>Untitled</title>
<style type="text/css">
.abc { font-family:Arial; }
div.abc { font-size:24px; }
td.abc { text-align:center; }
span.abc { color:red; }
p.abc { font-weight:bold; font-size:20px;}
a.abc { font-family:serif; font-variant:small-caps; }
div#abc { color:blue; }
div#cba { color:green; }
</style>
</head>

<body>

<div id="abc" class="abc">
<p class="abc"><a class="abc"></a></p>
<table class="abc">
<tr>
    <td class="abc"><span class="abc"></span></td>
</tr>
</table>
</div>

<div id="cba" class="abc">
<p class="abc"><a class="abc"></a></p>
<table class="abc">
<tr>
    <td class="abc"><span class="abc"></span></td>
</tr>
</table>
</div>

</body>
</html>

oky, supi, jetzt hab ichs (so hoff ich) begriffen. es ist simpel net erlaubt (hab ich zwar gewusst, nur das warum war mir net klar).

Herzlichen Dank und grüsse
Achillia
(und jetzt mit html weiterkämpf)