Hi,
[code lang=css]a[href^=http://]:not(img) {
/* Regel für externe Links */
Das selektiert a-Elemente, deren href-Attribute mit http:// beginnen, wenn es keine img-Elemente sind.
Reduzieren wir das mal auf
a:not(img)
dann wird es noch deutlicher:
Das selektiert a-Elemente, die keine img-Elemente sind. a-Elemente sind nie img-Elemente. Das not(img) bewirkt also allenfalls eine Änderung der Specificity, aber nichts an der Menge der ausgewählten Elemente.
Was Du gerne hättest, ist ganz was anderes.
Du willst a-Elemente selektieren, die kein img enthalten. Das leistet aber der :not()-Selektor nicht.
Es ist weder mit CSS 1 noch mit CSS 2 noch mit CSS 3 möglich, Elemente anhand darin enthaltener (bzw. per :not nicht darin enthaltener) Elemente zu selektieren.
Es gab zwar mal in CSS 3 einen :contains()-Selektor (siehe [http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#content-selectors]), der ist aber im neuesten WD vom 15. Dezember 2005 verschwunden (zusammen mit dem :indeterminate). Aber selbst der hatte nicht enthaltene Elemente zum Ziel, sondern nur enthaltenen Text.
cu,
Andreas
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.