zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > CSS
Seite neu laden Spaltengestaltung über Umwegen aufgrund von gewissen Einschränkungen

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 14.08.2010, 01:21
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 14.08.2010
Beiträge: 15
Fools befindet sich auf einem aufstrebenden Ast
Standard Spaltengestaltung über Umwegen aufgrund von gewissen Einschränkungen

Hallo!

Eine etwas ungewöhnliche Frage, doch ich hoffe trotzdem auf Hilfe.

Folgender Sachverhalt:


Dieser HTML-Code liegt mir vor:

HTML-Code:
<table>
  <tr>
    <td>
	  <input type="radio" id="rad1" value="1" />
	</td>
    <td>
	  <input type="radio" id="rad2" value="2" />
	</td>
    <td>
	  <input type="radio" id="rad3" value="3" />
	</td>
    <td>
	  <input type="radio" id="rad4" value="4" />
	</td>
  </tr>
</table>

Mein Ziel ist es nun, die dritte Spalte innerhalb dieser Tabelle mit bestimmten (style-)Eigenschaften mittels CSS zu gestalten. Z. B. soll die dritte Spalte in einer anderen Farbe als die restlichen Spalten dieser Tabelle dargestellt werden.


Soweit so gut und sicherlich auch keine Herausforderung.

Aber mal angenommen, mir bleibt es verwehrt die <td>-Elemente innerhalb dieser Tabelle mit Attributen zu beschreiben (also keine id, style oder sonsitges sind für die <td>-Elemente erlaubt). Und des Weiteren bleibt es mir verwehrt andere Elemente innerhalb des <tr>-Tags hinzuzufügen. D. h. folgender Code-Fetzen z. B. mit einem hinzugefügten <div>-Element wäre nicht gestattet:

HTML-Code:
<table>
  <tr>
    <td>
	  <input type="radio" id="rad1" value="1" />
	</td>
    <td>
	  <input type="radio" id="rad2" value="2" />
	</td>
	<div ...>
      <td>
	    <input type="radio" id="rad3" value="3" />
	  </td>
	</div>
    <td>
	  <input type="radio" id="rad4" value="4" />
	</td>
  </tr>
</table>

Das Einzige was erlaubt wäre, ist den <table>-Tag und die <input>-Elemente mit Attributen zu bestücken (id, class, style etc.).

Gäbe es unter diesen genannten Einschränkungen trotzdem eine Möglichkeit, die dritte Spalte innerhalb dieser Tabelle mit CSS anzusprechen und individuell anzusprechen?


Vielen Dank für eure Mühen!
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 14.08.2010, 07:13
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 10.01.2010
Beiträge: 1.123
MrMurphy ist ein sehr geschätzer MenschMrMurphy ist ein sehr geschätzer MenschMrMurphy ist ein sehr geschätzer Mensch
Standard

Hallo,

Zitat:
Z. B. soll die dritte Spalte in einer anderen Farbe als die restlichen Spalten dieser Tabelle dargestellt werden.
Auf solche undifferenzierten Fragen ist schwierig konkret zu antworten. Dann werden auf jede Antwort in der Regel weitere Einschränkungen nachgeschoben. Was soll denn noch alles anders dargestellt werden?

Wenn es um die Hintergrundfarbe geht, kann man der Tabelle einfach ein entsprechendes Hintergrundbild geben, das die Spalte dann einfärbt.

Ich würde die Tabelle, wenn sie denn aus irgendwelchen Gründen vorhanden sein muss, einfach leer lassen und die Input-Felder in Form einer Liste erstellen, der dürfen dann ja wohl Eigenschaften mitgegeben werden.

Gruss

MrMurphy
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 14.08.2010, 09:34
Benutzerbild von uspri
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 04.07.2005
Beiträge: 900
uspri sorgt für eine eindrucksvolle Atmosphäreuspri sorgt für eine eindrucksvolle Atmosphäre
Standard

Gib der Tabelle eine ID oder eine Class und dann so (hab mal die ID test vergeben):

table#test td:nth-child(5) { background:red;}

Achso, die dritte Spalte wolltest Du? Dann so:

table#test td:nth-child(4) { background:red;}
Mit Zitat antworten
  #4 (permalink)  
Alt 14.08.2010, 10:17
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 10.01.2010
Beiträge: 1.123
MrMurphy ist ein sehr geschätzer MenschMrMurphy ist ein sehr geschätzer MenschMrMurphy ist ein sehr geschätzer Mensch
Standard

Hallo,

mal abgesehen davon, das für die 3. Spalte die (3) genommen werden muss wäre es vielleicht sinnvoll darauf hinzuweisen, das nth-child nicht zum aktuellen css gehört und deshalb auch nicht jeder Browser damit umgehen kann.

Gruss

MrMurphy
Mit Zitat antworten
  #5 (permalink)  
Alt 14.08.2010, 11:20
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 10.12.2006
Beiträge: 887
threadi sorgt für eine eindrucksvolle Atmosphärethreadi sorgt für eine eindrucksvolle Atmosphäre
Standard

Und über JavaScript die Spalte anzusprechen und dynamische den gewünschten Wert zu setzen ist keine Alternative?
Mit Zitat antworten
  #6 (permalink)  
Alt 14.08.2010, 12:12
Standardkatze
XHTMLforum-Kenner
 
Registriert seit: 06.02.2007
Beiträge: 1.820
gato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nett
Standard

Zitat:
Zitat von MrMurphy Beitrag anzeigen
... wäre es vielleicht sinnvoll darauf hinzuweisen, das nth-child nicht zum aktuellen css gehört und deshalb auch nicht jeder Browser damit umgehen kann.
De fakto ist CSS Selectors Level 3 bereits eine Recommentadtion (verabschiedeter Standard per W3-Terminologie). Es wird nur noch nicht offiziell so genannt, weil CSS 2.1 und Namepsaces noch keine RECs sind (woran aber aktuell stark gearbeitet wird).
__________________
Über Internet Explorer 8:
Noch bis 8. April 2014 wird der Internet Explorer 6 mit Sicherheitsupdates versorgt.
Bereits jetzt kann dieser Browser aber vollständig durch den IE8 ersetzt werden. Ältere Betriebssysteme und Browserversionen werden von Microsoft nicht mehr unterstützt.
Auch Programme, die den IE7 benötigen, sind kein Argument gegen IE8, da dieser über entsprechende Kompatibilitätsschichten verfügt.
Ab sofort gilt daher der Internet Explorer 8 als vorausgesetzer Mindeststandard.
Mit Zitat antworten
  #7 (permalink)  
Alt 14.08.2010, 15:32
Benutzerbild von uspri
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 04.07.2005
Beiträge: 900
uspri sorgt für eine eindrucksvolle Atmosphäreuspri sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von MrMurphy Beitrag anzeigen
Hallo,

mal abgesehen davon, das für die 3. Spalte die (3) genommen werden muss wäre es vielleicht sinnvoll darauf hinzuweisen, das nth-child nicht zum aktuellen css gehört und deshalb auch nicht jeder Browser damit umgehen kann.

Gruss

MrMurphy
Und warum wird dann bei meinem Test mit der 4 die dritte Spalte angesprichen?
Mit Zitat antworten
  #8 (permalink)  
Alt 15.08.2010, 12:34
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 14.08.2010
Beiträge: 15
Fools befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für die rege Beteiligung!


Zitat:
Zitat von uspri Beitrag anzeigen
Gib der Tabelle eine ID oder eine Class und dann so (hab mal die ID test vergeben):

table#test td:nth-child(5) { background:red;}

Achso, die dritte Spalte wolltest Du? Dann so:

table#test td:nth-child(4) { background:red;}
Perfekt! Genau so einen Lösungsansatz habe ich gesucht.

Thanks/Merci/Grazie.


Zitat:
Zitat von MrMurphy Beitrag anzeigen
...wäre es vielleicht sinnvoll darauf hinzuweisen, das nth-child nicht zum aktuellen css gehört und deshalb auch nicht jeder Browser damit umgehen kann.
Auch für diesen Hinweis ein Dankeschön.


Zitat:
Zitat von threadi Beitrag anzeigen
Und über JavaScript die Spalte anzusprechen und dynamische den gewünschten Wert zu setzen ist keine Alternative?
Was ich seit gestern weiß, auch JS ist ein Lösungsansatz der funktioniert.



Im Übrigen auch das hier funktioniert (kompatibel mit Moz. Firefox, MS IE 7 und höher):

HTML-Code:
/* only for the third 'td'-element within 'table.test' */
table.test td + td + td {
   background-color: red;
}
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus



Alle Zeitangaben in WEZ +2. Es ist jetzt 22:26 Uhr.