Archivlink: javarea.de Forum > (X)HTML & CSS (allgemein) > th:hover sollte die dazugehörende spalte highlighten
Vollständigen Link anzeigen: javarea.de Forum > (X)HTML & CSS (allgemein) > th:hover sollte die dazugehörende spalte highlighten
Pages: [1]
2
... nächste »
... Letzte »
| geschrieben von okley am 01.06.2005 - 22:20 |
ich versuche nur mit css hinzubekommen, dass wenn ich über eine titelzelle gehe (:hover), die ganze dazugehörende spalte der tabelle eine eigenschaft zugewiesen bekomme, z.b. color: red;
soweit ich weiss ist das irgendwie nicht möglich, wenns nach mir geht, wäre das aber eine sehr gut brauchbare sache...
ich hab folgendes probiert, was mir allerdings nur gerade die darauffolgenden elemente markiert, also die restliche th in der zeile (tr):
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
| table tr th:hover~th{
color: red;
}
/* HTML: */
<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<th>Bezeichnung</th>
<th>Status</th>
<th>Mittel</th>
<th>Beispiel</th>
</tr>
<tr>
<td >A</td>
<td>B</td>
<td>C</td>
<td>D</td>
</tr> |
ich denke ihr versteht was ich meine , gesehen oder gefunden habe ich (zumindest etwas das funktioniert) noch nicht 
|
| geschrieben von Jan am 02.06.2005 - 10:30 |
Hi!
Das Beispiel dürfe nur im Mozilla funktionieren. Im IE nicht. Der unterstützt das nur für a.
Gruß
Jan |
| geschrieben von okley am 02.06.2005 - 12:23 |
danke für den link René. Dass mein Ziel mit Javascript erreichbar ist, wusste ich . Ich möchte aber auf Javascript verzichten, obwohl es in diesem Falle ja nur ein zusätzliches "Feature" wäre, auf das man gut verzichten kann (z.B. wenn JS deaktiviert sein soltle).
@Jan, ich arbeite primär mit Mozilla FireFox, nur zum Test ob meine Seite im IE akzeptabel aussieht, starte ich den IE auf! |
| geschrieben von Matneu am 02.06.2005 - 12:52 |
Spontane Idee (nicht von mir ausprobiert):
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
| th.1:hover{
color: red;
}
/* HTML: */
<table>
<tr>
<th class="1">
1-1
</th>
<th class="2">
1-2
</th>
<th class="3">
1-3
</th>
</tr>
<tr>
<th class="1">
2-1
</th>
<th class="2">
2-2
</th>
<th class="3">
2-3
</th>
</tr>
<tr>
<th class="1">
3-1
</th>
<th class="2">
3-2
</th>
<th class="3">
3-3
</th>
</tr>
</table> |
So far...
Matthias |
| geschrieben von okley am 02.06.2005 - 13:32 |
hi,
danke für deine mühe, ich habs nicht getested, aber ich bin überzeugt es würde auf diese weise gehen (class' je zelle angeben).
ich suche jedoch nach einer puren css lösung, die mir erlaubt die untegeordnete col bzw. row zu highlighten bzw. allgemein anzusprechen. die attribute für den strukturierten aufbau dafür gibt es schon: http://www.w3.org/TR/REC-html40/str....ef-headers
leider krieg ich nicht raus, falles überhaupt möglich ist, meine titelzelle so anzusprechen, dass der gewünschte effekt eintritt  |
| geschrieben von okley am 02.06.2005 - 13:44 |
ich bin jetzt soweit, dass ich immer die erste spalte highlighten kann:
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
| /* Spalten highlighten */
table tr:first-child+tr td{
padding-top: 9px;
}
/*HTML:*/
<table summary="Projekte" cellpadding="0" cellspacing="0" width="100%">
<caption>Projekte</caption>
<tbody><tr>
<th scope="col">Bezeichnung</th>
<th scope="col">Status</th>
<th>Mittel</th>
<th>Beispiel</th>
</tr>
<tr>
<td class="name">Newsscript</td>
<td><a href="/bubblez/wwip/news/todo.txt" title="open status of "Newsscript"">status</a></td>
<td>PHP, Javascript, MySQL</td>
<td><a href="/bubblez/wwip/news/index.php" target="_blank" title="open "Newsscript" in a new Window">View</a></td>
</tr>
<tr>
<td class="name">Statusscript</td>
<td><a href="/bubblez/wwip/status/todo.txt" title="open status of "Statusscript"">status</a></td>
<td>PHP</td>
<td><a href="/bubblez/wwip/status/status.php" target="_blank" title="open "Statusscript" in a new Window">View</a></td>
</tr>
</table> |
|
| geschrieben von Matneu am 02.06.2005 - 14:23 |
| Zitat | | | Original geschrieben von okley am 02.06.2005 - 13:44 [b]
ich bin jetzt soweit, dass ich immer die erste spalte highlighten kann: |
Meine Lösung ist doch eine reine CSS-Lösung!?! Ich fürchte, mit first-child oder auch mit first-line wirst Du nicht zu Deinem gewünschten Ergebnis kommen.
So far...
Matthias |
| geschrieben von okley am 03.06.2005 - 12:00 |
ja, das stimmt deine lösung ist reines css. hab auch nie das gegenteil behauptet. nur würd ich eben gern, ohne class angaben arbeiten, also nur über allgemeine cssangaben zum ziel gelangen, wie ich ja schrieb:
| Zitat | | | untegeordnete col bzw. row zu highlighten bzw. allgemein anzusprechen. |
nunja ich muss dann wohl doch was anderes einfallen lassen, oder matneus lösungsweg einschlagen  |
| geschrieben von Cluster am 03.06.2005 - 12:21 |
Du wirst wohl um die class nicht drumrum kommen.
Auch wenn Du dem <th> einen style zuweisen würdest wie <th style="..."> wird das nicht klappen, da Du darin keinen Hover einfügen kannst.
Auch wenn Du z.B. mit onmouseover arbeiten würdest, müsstest Du z.B. ein kleines Javascript integrieren. |
| geschrieben von Matneu am 03.06.2005 - 13:19 |
| Zitat | | | Original geschrieben von okley am 02.06.2005 - 12:23 [b]
Dass mein Ziel mit Javascript erreichbar ist, wusste ich . Ich möchte aber auf Javascript verzichten, obwohl es in diesem Falle ja nur ein zusätzliches "Feature" wäre, auf das man gut verzichten kann (z.B. wenn JS deaktiviert sein soltle). |
So far...
Matthias |
| geschrieben von okley am 03.06.2005 - 13:21 |
|
| geschrieben von sobi am 18.06.2005 - 10:45 |
Highlighted eine Tabellenzelle vollständig mittels CSS (kein JavaScript erforderlich)
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
| body {
color: #171717;
background-color : #a0b3c0;
font-family: Comic Sans MS, verdana, arial, sans serif;
font-size: 10pt;
}
table,tr,td {
color: #171717;
font-family: Comic Sans MS, verdana, arial, sans serif;
}
td.menuebar {
color: #171717;
font-family: Comic Sans MS, verdana, arial, sans serif;
font-size: 10pt;
font-weight: normal;
width: 1%;
}
td.active_menuebar {
color: #FFFFFF;
background-color : #007B79;
font-family: Comic Sans MS, verdana, arial, sans serif;
font-size: 10pt;
font-weight: normal;
width: 1%;
padding-left: 8px;
}
.menuebar a:link, a:visited, a:active{
display: block;
background-color : #00CBA9;
color: #171717;
text-decoration: none;
font-family: Comic Sans MS, verdana, arial, sans serif;
padding-left: 8px;
}
.menuebar a:hover {
background-color : #007B79;
color: #FFFFFF;
text-decoration: none;
font-family: Comic Sans MS, verdana, arial, sans serif;
font-size: 10pt;
} |
Hier der HTML
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
| <!-- Menuebar Table -->
<table width="600" border="0" align="center" cellpadding="0">
<tr>
<td class="active_menuebar">Anzeigen</td>
<td class="menuebar"><a href="#" title="Druckbare Ansicht erzeugen">Drucken</a></td>
<td class="menuebar"><a href="#" title="Counterstände zum Editieren öffnen">Bearbeiten</a></td>
<td class="menuebar"><a href="#" title="Steuerdatei für Links anlegen">Erstellen</a></td>
<td class="menuebar"><a href="#" title="Hinweise zum Gebrauch">Hilfe</a></td>
</tr>
</table> |
Mit dem HOVER Befehl kannst Du dann die üblichen CSS Eigenschaften an die Tabellenzelle übergeben. Die Hintergrundfarbe für die aktive Zelle musst Du über td.active_menuebar einstellen weil du in der Tabelle keinen 2. a:link definieren kannst. Bis auf HOVER wird innerhalb der Tabelle für den Link immer die Eigenschaft von .menuebar a:link /visited / active ausgegeben. Einen 2. HOVER kannst Du schon festlegen (ist alles mit IE getestet). Den cellpadding="0" im HTML Code für die MENUEBAR TABLE musst Du eingeben, sonst bekommst Du um die Zelle td.active_menuebar einen unschönen Rand. Da kann man jetzt weiter dran arbeiten und mehr Eigenschaften rüberbringen.
Ich hoffe ich konnte Dir auch mal helfen.
cu
Uli |
| geschrieben von okley am 18.06.2005 - 10:56 |
nett von dir, dass du dir die mühe gemacht hast mir zu helfen 
allerdings, muss ich dir auch sagen, dass du wahrscheinlich nicht recht verstanden hast was ich eigentlich will 
ich möchte mittels css-pseudoklassen und normalen selektoren (also keine class oder id) alle zellen einer tabelle ansprechen, die zu einer titelzelle (th) gehören, also zu derselben spalte. auf http://www.webrama.tk siehst du gleicha uf der homepage, wie sich die spaltenfarbe ändert, sobald du über eine titelzelle fährst.
nichts für ungut, ich glaube nicht, dass ich ohne css3 ansatzweise chancen habe das zu realisieren, vielleicht klappts dann mit css3 ... |
|