XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   CSS (http://xhtmlforum.de/forumdisplay.php?f=73)
-   -   Style soll sich nur auf einer Tabelle zeigen (http://xhtmlforum.de/showthread.php?t=72402)

seerose 19.10.2015 10:00

Style soll sich nur auf einer Tabelle zeigen
 
table, td, tr, th {
border:1px solid black;
text-align: left;
color:#fff;
}

wie kann ich den Style dazu bringen, nur für eine Tabelle gültig zu sein?
ich habe schon versucht die Tabelle eine id=rose zu geben und dann:

#rose table, td, tr, th {
border:1px solid black;
text-align: left;
color:#fff;
}
aber auch anderen Tabellen werden davon betroffen, die keine id=rose haben

cloned 19.10.2015 10:10

Da solltest du dich noch mit den Grundlagen von CSS beschäftigen. Du weist den Stil jeder Tabelle, jedem td, tr und th-Element zu. Wenn du wirklich nur eine Tabelle ansprechen willst, dann weise den Stil auch nur der Tabelle zu
Code:

#rose {/*die stile gelten nur für elemente mit der id rose*/ }

MrMurphy 19.10.2015 10:14

Hallo,

mit den Quellcodeschnipseln ist wenig anzufangen. Zeig mal den gesamten Quelltext. Am besten wäre ein Link zu der Seite.

Gruss

MrMurphy

seerose 19.10.2015 10:47

Vielen Dank schon mal für eure Hilfe, bisher habe ich jeden Befehl immer eine eig. Klasse gegeben, ich hoffe das ich es hier vermeiden kann,
oder braucht jeder td th eine eig. Klasse?

Projekt läuft nur auf meinen Testserver, daher habe ich den Code runtergebrochen.


HTML-Code:

<!doctype html>
<html>
<head>
 
<style>


#rose {
        width:100%;
}

  table, td, tr, th {
        border:2px solid black;
        border-collapse: collapse;
        text-align: left;
}

td, tr, th {
        padding:1em;
}

th {
        background:#eee;
        font-weight: bold;
}

 
</style>
</head>

<body>

 
<table id='rose'>
    <tr><td>Mit</td> <td>Style</td> </tr>
   
</table>
<br><br>


<table>
    <tr><td>Ohne</td> <td>Tabelle</td> </tr>
   
</table>


</body>
</html>


MrMurphy 19.10.2015 10:54

Funktioniert doch. Die obere Tabelle ist 100% breit, die untere nicht.

Zitat:

Vielen Dank schon mal für eure Hilfe, bisher habe ich jeden Befehl immer eine eig. Klasse gegeben, ich hoffe das ich es hier vermeiden kann, oder braucht jeder td th eine eig. Klasse?
Nein, du kannst sie jeweils mit der id der Tabelle ansprechen, also zum Beispiel

Code:

table#rose,
table#rose tr,
table#rose th,
table#rose td {
  border: 1px solid blue;
  text-align: center;
  color: red;
}

Gruss

MrMurphy

seerose 19.10.2015 11:21

Zitat:

Funktioniert doch. Die obere Tabelle ist 100% breit, die untere nicht.
Aber die 2 Tabelle soll halt komplett ohne Syle erscheinen,
z.z. wird die noch von:
HTML-Code:

table, td, tr, th  {
        border:2px solid black;
        border-collapse: collapse;
        text-align: left;
}

Beeinfluss

wenn ich nun Dein code dafür einsetzte:
HTML-Code:

table#rose,
table#rose tr,
table#rose th,
table#rose td {
  table, td, tr, th  {
        border:2px solid black;
        border-collapse: collapse;
        text-align: left;
}

könnte man denken, die tr,th,td sind nur bei einer id=rose Tabelle gültig,
so wie es sein sollte.
Aber irgendwie greift dann auch die erste Tabelle nicht

protonenbeschleuniger 19.10.2015 11:26

Du hast den Code falsch kopiert

cloned 19.10.2015 11:37

Ich weiß, ich wiederhole mich. Aber das sind Grundlagen von CSS. Bzw. sogar die Grundlagen der Grundlagen. Hier wird dir nicht die Verwendung von CSS/HTML erklärt, dafür gibt es mehr als genug Bücher oder Online-Tutorials.
Wenn du schon nur mit Copy-Paste arbeitest, dann kopiere wenigstens deinen Code korrekt. Dafür sollte man aber auch verstehen, was dieser in etwa tut.

seerose 19.10.2015 12:24

Super es geht jetzt
 
Zitat:

falschen Code
war ich mal wieder zu schnell.
Vielen Dank

HTML-Code:

table#rose,
table#rose tr,
table#rose th,
table#rose td {
  border: 1px solid blue;
  text-align: center;
  color: red;
}

mir fällt gerade auf, warum kann ich das nicht so schreiben?
HTML-Code:

#rose tr,
 #rose th,
 #rose td {
  border:1px solid black;
        border-collapse: collapse;
        text-align: left;
        font-size:11px;  ;color:#fff;
}


protonenbeschleuniger 19.10.2015 12:41

Das kannst du. die erste Schreibweise bezieht sich auf eine ID einer Tabelle, im zweiten Fall ist es ein beliebiges Element. Es kommt halt darauf an, ob du diese ID auf einer anderen Seite mit dem gleichen CSS Code für ein anderes element verwendest.


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:37 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2022, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2022