• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Serverseitige CSS-Erweiterung

kkapsner

Super Moderator
Hi Leute!

Wusste jetzt nicht genau wo ich das Posten soll - ist ja nicht wirklich ein Tutorial - aber auch keine Frage an sich...

Ich wollte eigentlich nur eure Meinungen/Ergänzungen/Kritiken zu diesem hier hören.

PS: Die Seite ist noch lange nicht fertig - wird sie wahrscheinlich nie werden, da ich immer etwas daran ändern werde.
 
also,
<senf>
Browserunterscheidung ist nun wirklich keine Aufgabe von CSS. du könntest allenfalls überlegen, das Box-Model vom IE aus dem Standard-Modell heraus zu berechnen (aber gegen die bekannten CSS-Bugs kommst du mit einem Programm schwerlich an)

HTTP_USER_AGENT kann natürlich auch einfach gefälscht sein. eine relativ sichere Methode den IE zu finden geht (IMO) über den ACCEPT header (der IE kennt kein "application/xhtml+xml")
</senf>
 
Zuletzt bearbeitet:
Ja - mit der Browsererkennung hadere ich auch noch ein wenig - ich fände es nur sauberer als über Hacks zu gehen...

Dass HTTP_USER_AGENT nicht korrekt sein kann ist mir schon klar - aber wer seinen Browser dazu bringt zu lügen ist meiner Meinung nach selber schuld...
 
Opera 9 (?) hatte den UA-string vom IE als Standard …

CSS hacks wirst du immer brauchen, schließlich variieren die ja bereits von Version zu Version. oder du verwendest Conditional Comments für den IE.
 
Zuletzt bearbeitet:
das Problem mit den hacks wäre ja, daß sie dem Browser geliefert werden müssen, unabhängig von dem, was in deinem CSS source file steht.

ich halte
Code:
@parser scope #ID { .class { ... } } 
/* und */ 
@parser scope #ID{ .class { ... } }
für sehr fehleranfällig. ich wäre generell dafür, #ID.class separat zu behandeln, da z.B. #ID1#ID2 gar nicht erlaubt ist (DTD-mäßig), wohl aber #ID1 #ID2.
 
Zuletzt bearbeitet:
das Problem mit den hacks wäre ja, daß sie dem Browser geliefert werden müssen, unabhängig von dem, was in deinem CSS source file steht.
Diese Aussage verstehe ich gerade nicht... was meinst du genau?
ich halte
Code:
@parser scope #ID { .class { ... } } 
/* und */ 
@parser scope #ID{ .class { ... } }
für sehr fehleranfällig. ich wäre generell dafür, #ID.class separat zu behandeln, da z.B. #ID1#ID2 gar nicht erlaubt ist (DTD-mäßig), wohl aber #ID1 #ID2.
Hm... guter Punkt.
 
Diese Aussage verstehe ich gerade nicht... was meinst du genau?
hm, vielleicht etwas unklar ausgegrückt …

bsp. Box-Model
Code:
<p>doh</p>
<p id="test">blabla blubb</p>
Code:
p {
  width: 500px;
  color: blue;
}
#test {
  border: 10px solid red;
  color: red;
}
krieg hier mal raus, daß #test im IE ein anderer width-Wert zugewiesen werden muß.
 
Ah - jetzt weiß ich was du meinst...
So etwas wollte ich gar nicht machen.
Eher so etwas:
Code:
@parser if IE6{
	p#Test{
		width: 510px;
	}
}
- wahrscheinlich mit einer anderen Syntax... aber vom Prinzip her.
 
Ähnlich - nur hald nicht nur für den IE sondern auch für andere Browser. Z.B. @parser if FireFox...
 
Ist mir jetzt nichts Besonderes bekannt - außer hald die ganzen spezifischen Erweiterungen (-o-transform, -moz-border-radius, ...).
Dachte mir hald, wenn ich da schon was schreibe, dann kann ich's auch gleich allgemein machen...
 
Danke für den Hinweis - ist schon geändert.

Die Navigation ist etwas unorthodox animiert. Im Grunde genommen habe ich den linken und den rechten Rand des "active"-Bereichs über eine Simulation mit einem harmonischen Potential und etwas Reibung realisiert. Wenn die Maus jetzt über einen Navigationsbereich geht wird das Zentrum des Potentials einfach auf die richtige Stelle geändert.
 
@Dormilich: dein Hinweis mit der Fehleranfälligkeit der Scopesyntax hat mich doch geschäftigt und habe es jetzt geändert: wenn der Selector direkt angehängt werden soll müss man noch eine Pipe an das Ende des Selectors hängen... damit sieht mal den Unterschied leichter...
 
Zurück
Oben