|
|||
![]()
Hallo,
wenn ich folgenden Code habe HTML-Code:
<div id="eins"> <div class="breit"></div> <div class="schmal"></div> <div class="schmal"></div> <div class="schmal"></div> <div class="schmal"></div> <div class="schmal"></div> <div class="schmal"></div> </div> HTML-Code:
#eins div.schmal:nth-child(3n+1) { ... } Habe ich irgend einen Fehler gemacht oder ist das richtig so? Bislang habe ich mir mit: HTML-Code:
<style type="text/css"> #eins span:nth-of-type(3n+1) { ... } </style> <div id="eins"> <span class="breit"></span> <div class="schmal"></div> <div class="schmal"></div> <div class="schmal"></div> <div class="schmal"></div> <div class="schmal"></div> <div class="schmal"></div> </div> Ich fände es jedoch besser, wenn man sich dazu der Klassen bedienen kann. Gibt es da eine Möglichkeit oder ist das nicht so gedacht? Danke Geändert von UnnamedProphet (16.03.2011 um 17:24 Uhr) |
Sponsored Links |
|
|||
![]()
Ich suche eigentlich nach einer Lösung die kein JS erfordert.
Wenn ich den einzelnen divs ids geben würde, wäre der Sinn des automatischen Zählens dahin. Ich könnte dann genau so gut den gewünschten divs eine zweite Klasse zuordnen. |
|
|||
![]()
Mit id´s gehts sicher nicht. Und auch IDs sind nicht nötig.
Dein Fehler ist leider ein Denkfehler. :nth-child und :nth-of-type zählen immer alle Kindelemente bzw alle Elemente eines Typs. Selektiert werden die Elemente jedoch nur wenn weitere Bedingungen erfüllt sind. Am besten versuchst du Selektoren von rechts nach links zu lesen: div.schmal:nth-child(3n+1) liest sich also: Selektiere jedes dritte Kindelement, (aber nur) wenn es sich um ein div-Element mit der Klasse schmal handelt. Anhand deines Quelltextaufbaus und der uninformativen Klassennamen wage ich eine Vermutung: Du willst eine Liste mit einer Übschrift. Dann würde ich dir raten: eines der sechs Überschriftenelemente (h1 bis h6) sowie eine geordnete oder ungeordnete Liste (ol bzw. ul mit li-Kindern).
__________________
Ü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. |
|
|||
![]()
Füg am Anfang nochmal ein div mit Klasse breit ein, dann siehst du, dass du hier nur zufällig die richtigen Ergebnisse erhalten hast.
__________________
Ü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. Geändert von gato (16.03.2011 um 19:03 Uhr) |
|
|||
![]() Zitat:
![]() Hier die programmierte Version dazu: http://www.prophet-design.de/temp/nth-test.html Zitat:
Wenn er nur die divs mit der Klasse "schmal" zählen würde, wäre der Block unter dem breiten div genau so formatiert, wie in der oberen Version. Der breite Block wird jedoch mitgezählt. |
|
|||
![]()
Also eine Tabelle mit und ohne Überschrift (caption)?
Wenn die beiden beispiele genau so vorkommen sollen, kannst du entweder eine ID "zwei" vergeben und für diese eben andere Regeln erstellen (4n+1?) oder uns mitteilen, welche Inhalte du darstellen möchtest. Dann wissen wir welche Elemente du brauchst und ob sich dein Problem allein dadurch schon lösen lässt. Zitat:
![]() Zitat:
__________________
Ü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. |
Sponsored Links |
|
|||
![]()
Ohne es genau herausgelesen zu haben:
Selectors Level 3 geht es m.E. bei "nth-of-type" nur um das Element, nicht um den (Klassen)Selektor. Der wird offenbar ignoriert. Folglich wird dein Bemühen hier keinen Erfolg haben. Ersatzweise könntest Du es mal mit .schmal ohne div-Bezeichner versuchen (der dann überflüssig wäre). (Ih glaube nicht an einen Erfolg, aber schön wärs ja) Was bleibt, ist, das Element mit der Klasse breit auszutauschen, z.B. durch ein span, das als Blockelement gesetzt ist. nth-of-type würde in diesem Fall das span nicht mitzählen und so funktionieren wie gewünscht.
__________________
Grüsse Andreas- auch mal wieder da... Design isn't about the tools, it's about creating the best experience for the user. A design should be based on usability, accesibility, aesthetics, but never on floats, lists or background images. ( by Cameron Adams) Wiedergelesen: > hier und hier [Foren-Links] Dein Post? Klar, DAS vorher gelesen? Hilft. ## User-Landkarte |
Sponsored Links |
![]() |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Xampp murrt | Schelm.isch | Serveradministration und serverseitige Scripte | 2 | 23.06.2008 18:11 |
Liste im IE | StarSt0rm | CSS | 3 | 22.08.2007 20:04 |