Ich habe folgendes Problem:
Ich habe ein allgemeines Stylesheet für alle Seiten, dass in jede Seite einbezogen wird.
Ich will aber auch noch ein paar Eigenschaften für die jeweilige Seite definieren. bei einer Eigenschaft will das aber einfach nicht funktionieren.
ul#submenu li a
{
float: left;
margin: 0 2em 0 0;
font-size: 1.3em;
text-decoration: none;
color: #444444;
}
ul#submenu li a:hover
{
text-decoration: underline;
color: #999999;
}[/HTML]In der jeweilige HTML soll dann noch folgendes:
[HTML]
ul#submenu li a[id=sm1] {
text-decoration: underline overline;
};
[/HTML]Das soll bewirken, dass der Link mit der id sm1 unterstrichen und überstrichen wird. (letztendlich wird dann die 1 durch eine php-variable ersetzt.)
Ich habe schon alle möglichen spezifischen und unspezifischen schriebweisen probiert. aber es passiert nichts.
Wenn ich den gleichen Code jedoch direkt in die allgemeine css einfüge, dann funktioniert es.
Ich schätze das hat etwas mit der Gewichtung der definitionen zu tun. aber ich habe keine Ahnung, wie ich das löse.
Ist das Absicht, dass Du eine Schreibweise wählst, die ältere IEs nicht verstehen?
Warum nicht „ul#submenu li a#sm1“?
Was die Gewichtung angeht…zuerst sollte das Stylesheet kommen, dann die style-Definition im header und die beide werden überschriben von Inline-Styles.
Welche Schreibweise ist das denn?
Die mit den eckigen Klammern? Das mochte ich eigentlich auch nicht aber so hat es wenigstens in der externen css funktioniert.
!important hilft leider nicht.
Auch nicht die Schreibweise von Efchen.
Also ich habe zuerst die externe eingebunden und dann den Style für die Seite eingefügt. So richtig?
Hier ein Link. In dieser Testversion sollte eigentlich Start unterstrichen und überstrichen sein. Ist es aber nicht.
Mit Firebug sieht man sofort, dass kein Selektor für „ul#submenu li a#sm1“ vorliegt.
Und die Fehlerkonsole sagt Dir dann, wo genau der Fehler liegt.
Nicht böse sein, aber das sind so die Basics, die ersten Schritte, die man macht, wenn irgendwas nicht passt. Du musst Dir angewöhnen, die Fehlerkonsole zu benutzen, nicht nur für JavaScript, sondern auch für CSS, dazu brauchst Du ein Debuggin-Tool, wie z.B. Firebug, und Du musst Deinen Code, sowohl HTML als auch CSS, immer validieren, denn nur fehlerfreier Code kann funktionieren, wie Du hier siehst.