PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CSS und der IE...



Matflasch
19-04-2005, 06:58
Hi,

ich habe auf Gentoo Portage (http://www.gentoo-portage.com/) einen interessanten ToolTipText gefunden.
Rechts die 3. Box (New Packages).
Wenn man über die Tabellenspalte geht, dann kommt ein gut Formatierter ToolTipText.

Im FireFox klappt das alles ja super, aber der IE zeigt den ToolTipText einfach nicht an. Liegt das nun daran, dass der IE CSS2 schlecht/gar nicht interpretiert?
Oder kann man dem IE das auch beibringen?

Wäre mal interessant, ob das bei beiden zu schaffen ist, dass es gleich aussieht.

Achja, sind hier Opera User? Geht es da?

Mfg, Matflasch

Pingu
19-04-2005, 08:56
Das ist doch gar kein ToolTip. Das ist ein ganz einfaches <div> welches normalerweise unsichtbar ist und wenn man über eine bestimmte Stelle fährt, wird es sichtbar gemacht.

Das "Problem", welches der IE wahrscheinlich hat (ich kann es garde nicht nachvollziehen, da mein XP Prof. im Virtual PC unter Mac OS X kein Netzwerk findet), ist die Tatsache, daß eine Pseudo-Eigenschaft (:hover) auf ein Nicht-Linkelement angewendet wird:

td.nav_cell:hover div{
display: block;
}

Aus der CSS-Spezifikation ist jedoch nicht eindeutig erkennbar, ob dies erlaubt oder nicht. Denn bei :link und :visited wird immer von einem link-Element gesprochen (ein Element welches ein "href" besitzt), wohingegen bei :hover, :active und :focus nur von Element gesprochen wird aber dann wieder Bezug genommen wird auf wie es mit der Kombination von :link und :active und :focus aussieht.

IE und Firefox werden das Verhalten nun unterschiedlich implementiert haben. Was jetzt richtig und falsch - da halte ich mich raus.

Pingu

peschmae
19-04-2005, 09:51
So Sachen kann man in IE auch hinkriegen - nur muss man da dann JavaScript verwenden.

Musste ich bei meiner Homepage auch machen - das Menü ist komplett mit CSS realisiert - aber für IE brauch ich noch ein JavaScript damit das läuft, weil der die CSS-Angaben nicht so interpretiert wie Firefox/Opera/KHTML (bzw. er interpretiert sie gar nicht)

MfG Peschmä

Matflasch
19-04-2005, 11:16
Also ist der IE der einzige, der sowas nicht darstellen kann?
Weil im prinzip ist der IE mir ja egal :D

Wenn das ganze CSS2 entspricht und nicht 'missbraucht' und falsch ist, dann reicht mir das, wenn es im FF etc läuft.

PS: Dass es kein 'richtiger' ToolTip ist, weiss ich. Jedoch finde ich, dass es ein ganz 'netter' Ersatz ist :D

Mfg, Matflasch

Lin728
19-04-2005, 14:54
Microsoft ist überhaupt nicht daran interressiert den IE sehr viel weiter zu verbessern, es gibt dazu sogar ein paar inoffizielle Statements von MS Mitarbeitern.

Das hat auch MS erkannt, ein Großteil ihrer "Smart Client" Initiative geht darauf zurück, der ganze .NET zielt ja drauf ab.
Und auf einmal sind sogar MFC-Anwendungen "Smart Client" ;-)

-> Man muss MS dazu "zwingen" neue Standards zu implementieren, was halt nur schwer geht, so lange Alternativimplementierungen keine "kritische" Masse erreicht haben. Somit sind wir wieder bei Punkt 1.) und MS sitzt wieder am längeren Hebel.

Drum: CSS2 ;-)

7.e.Q
09-06-2005, 14:37
So sieht es aus. Wenn ich Web-Anwendungen programmiere, sind die mit CSS gestyled und ausschließlich auf Opera und Firefox optimiert. Ich baue nichts mehr für den IE und schreibe dies auch auf die Homepage. Solange der IE nicht fähig ist, CSS vernünftig zu interpretieren, werden meine WebSites halt mit dem IE nicht laufen. :mad:

Lin728
09-06-2005, 17:34
So wies aussieht ist dies der einzige Weg, MS zum Einlenken zu bewegen.
Mal sehen was der IE7 bringt ...

farion
22-06-2005, 00:09
Auch wenn ich den IE nicht mag, will doch keiner Seiten haben die im IE nicht laufen (wenns nicht grad linuxgeek.org ist)

Deswegen gibt es das hier
http://dean.edwards.name/IE7/

Das ist ein ziemlich gelungener BugFix, der dem IE die Fähigkeit gibt: - "hover" mit jedem Element zu benutzen (nicht nur mit a)
"fixed" richtig darzustellen
und vieles mehr (es soll sogar transparente pngs erlauben)

Gruss far

Lin728
22-06-2005, 11:02
Ich glaub das Hauptproblem ist, das einfach niemand es dem user zumuten will extra für seine Seite neue Software zu installieren.

Naja, aber besser den Browser patchen den der User gewohnt ist, als was komplett neues drüberzuziehen :-(
Gottseidank war der FireFox so ein Erfolg!

lg

farion
22-06-2005, 14:07
ja das ganze ist nix zum installieren, das basiert auf htc und js

7.e.Q
29-06-2005, 08:08
Es ist aber falsch, den Entwicklern der WebSites die Schuld dafür zu geben, daß ihre Seiten nicht im IE laufen. Schuld daran ist eindeutig und einzig und allein Microsoft. Das ist Fakt. Schaut euch mein aktuelles Projekt an (http://www.j-c-c.de), einmal im IE, einmal im FF und einmal im Opera - wobei ich gestehen muss, daß ich letzteren noch nicht selbst getestet habe. Ich weiß, daß es im FF gut ausschaut, im IE hingegen nicht. Ich habe versucht, mich weitestgehend an Standards zu halten, Konformität muss ich noch prüfen lassen. Aber selbst wenn die Stylesheets und HTMLs den Standards entsprechen, so stellt der IE sie dennoch falsch dar.

Kann mir einer plausibel erklären, warum sich Microsoft so dagegen sträubt, gängige Standards zu beachten und zu implementieren?

undefined
29-06-2005, 09:25
Das ist doch die schon lange bekannte Methode von Microsoft seine Monopol Stellung zu festigen. MS hat sich noch nie an Standards gehalten.

Der IE kann nun mal kein CSS 2 und wenn dann nicht aus der css Steuerdatei sondern im Tag selbst. Was es aber auch wieder etwas Leichter macht.
Opera/Mozilla/Firefox/KDE geben der Steuerdatei den Vorzug. IE den Tag Attributes. Somit kann man sich die Mühseligen User Agent abfragen sparen.

PS: In der Webdesigner Gemeinde war früher der Netscape das rote Tuch, heute ist es der IE :D

Pingu
29-06-2005, 12:42
Es ist aber falsch, den Entwicklern der WebSites die Schuld dafür zu geben, daß ihre Seiten nicht im IE laufen. Schuld daran ist eindeutig und einzig und allein Microsoft. Das ist Fakt.
Fakt ist aber auch, daß Deine Seite kein gültiges HTML ist.


Don't blame other before you do your homework.
unknown

Pingu

7.e.Q
30-06-2005, 13:19
Das mag sein, die ist auch noch im Aufbau. Aber ich werde sie auf gültiges HTML trimmen und auch auf gültiges CSS2. Und ich garantiere, selbst dann wird sie mit dem IE nicht funktionieren.

Okay, ich sehe die Probleme. Ein Großteil davon rührt von der Verwendung des OpenSource CMS Typo3 her. Es arbeitet mit den IDs der Tags, welche laut HTML Spezifikation offenbar nicht mehrfach vorkommen dürfen (gibt es einen DOCTYPE, bei dem das erlaubt ist?). Ich muss mir wohl erstmal einen anderen DOCTYPE aussuchen. Welchen würdet ihr empfehlen?

Pingu
30-06-2005, 14:54
Das mag sein, die ist auch noch im Aufbau. Aber ich werde sie auf gültiges HTML trimmen und auch auf gültiges CSS2.
Naja, der IE unterstützt ja auch nicht wirklich CSS2. Außerdem ist CSS2 auch gerade erst ganz frisch verabschiedet worden, zumindest die Interpretation von einigen fragwürdigen Stellen.

Und ich garantiere, selbst dann wird sie mit dem IE nicht funktionieren.
Das klingt ja schon fast nach einer Drohung. ;)

Es arbeitet mit den IDs der Tags, welche laut HTML Spezifikation offenbar nicht mehrfach vorkommen dürfen (gibt es einen DOCTYPE, bei dem das erlaubt ist?).
Identifier kommt von dem Wort identifizieren und ist gleichbedeutend mit Eindeutigkeit. Denn nur wenn etwas eindeutig ist, kann man es auch identifizieren. Im englisch-sprachigen Ausland wird z.B. beim Ausweis auch von der ID-Card gesprochen bzw. kurz ID gesprochen.
Deshalb wird ein Identifier nie mehrmals vorkommen dürfen. Etwas was mehrfach vorkommen darf, ist eine Klasse.

Ich muss mir wohl erstmal einen anderen DOCTYPE aussuchen. Welchen würdet ihr empfehlen?
Das kommt ganz darauf an was Du möchtest. Z.B. ein Fehler kommt daher, daß Du einen einzelnen Tag sofort abgeschlossen hast ( <tag /> ). Dies ist in XHTML Pflicht und in HTML4 nicht erlaubt.

Pingu

7.e.Q
05-07-2005, 07:10
Aha, gut... also den selbstabschließenden Tag kann ich ja leicht korrigieren. Nur das mit den IDs wird schwierig, weil wie gesagt das OpenSource CMS Typo3 diese verwendet, um HTML Dokumente als Templates einzulesen/zu parsen. Das wird nicht leicht. Ich glaube, an der Stelle werde ich auf HTML Konformität verzichten müssen. Aber das hat doch letztendlich nichts mit der Darstellung des Designs zu tun, ob da IDs mehrfach vorkommen, oder?

Ich hab mir jetzt mal dieses /IE7/ JavaScript Set gezogen und in die Site eingebaut. Damit wird sie auch im IE zu 99% korrekt dargestellt. Wieder einmal ein Fall, wo sich die Community selbst helfen musste, weil der Hersteller zu unflexibel ist.

Daß der IE HTML und CSS nicht so genau nimmt, ist aber dennoch Tatsache. So Leid es mir tut.



Naja, der IE unterstützt ja auch nicht wirklich CSS2. Außerdem ist CSS2 auch gerade erst ganz frisch verabschiedet worden, zumindest die Interpretation von einigen fragwürdigen Stellen.


Wenn MS den IE OpenSource machen würde, gäbe es innerhalb kürzester Zeit eine Version, die CSS2 kann, und die die Seiten wie gewünscht darstellt.



Das klingt ja schon fast nach einer Drohung. ;)


Das erinnert mich irgendwie an Perfect World... "Das ist eine Drohung... Das ist eine Tatsache... Das ist wieder eine Drohung, ich glaube langsam begreifst du's..." :D



Identifier kommt von dem Wort identifizieren und ist gleichbedeutend mit Eindeutigkeit. Denn nur wenn etwas eindeutig ist, kann man es auch identifizieren. Im englisch-sprachigen Ausland wird z.B. beim Ausweis auch von der ID-Card gesprochen bzw. kurz ID gesprochen.
Deshalb wird ein Identifier nie mehrmals vorkommen dürfen. Etwas was mehrfach vorkommen darf, ist eine Klasse.


Wie gesagt, da ist das Problem mit dem Template Parser von Typo3, der auf den IDs der Tags basiert. Der generiert Content Blöcke aus den IDs.



Das kommt ganz darauf an was Du möchtest. Z.B. ein Fehler kommt daher, daß Du einen einzelnen Tag sofort abgeschlossen hast ( <tag /> ). Dies ist in XHTML Pflicht und in HTML4 nicht erlaubt.

Hmm... Da es wahrscheinlich schwieriger ist, das ganze XHTML konform zu bekommen, denke ich, HTML4 ist die einfachere Wahl. Was hätte denn XHTML gegenüber HTML4 für Vorzüge?