Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
NaviMenü will nicht richtig im IE 6 [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
NaviMenü will nicht richtig im IE 6


 
eagle275
03-08-2010, 17:55 
 
ich hab mir nach den Tutorials von Kropff eine horizontale Navigationsleiste gebaut .. funktioniert auch alles prächtig - ABER

Firefox interpretiert korrekt .. "div li ..." und lässt die Links immer Weiss (Text-Farbe) ... der plöde Internet-Explodierer sieht das eigentlich auch so, wenn man die Seite zum allerersten mal besucht - nach dem Anklicken eines der Navigationspunkte sieht der "oh das ist ja ein Link".. und verpasst ihm prompt den Style für a:visited .. das ist extrem nervig, weil sich der mir aufgezwungene Grauton für besuchte Links sehr schlecht auf dem grün/blau der Navigationsleiste erkennen lässt (auch vorgeschrieben) ..

daneben haben die einzelnen Menüpunkte teils unterschiedliche Höhen .....


<div class="mainnavi">
<ul>
<li><a href="#?frm=1" class="aktiv" >Info</a></li>
<li><a href="#?frm=2" >Suchen</a></li>
<li><a href="#?frm=10" >Kunden-Daten</a></li>
<li><a href="#?frm=9" >Neuer Kunde</a></li>
</ul>
</div>



ul
{
list-style-type: none;
}
a:link {
color: #003B69;
font-size: 0.75em;
font-family: Helvetica, Arial, sans-serif;
line-height: 1.25em;
text-decoration: none;
}
a:visited {
color: #707070;
}
a:hover {
color: #003B69;
text-decoration: underline;
}
a:active {
color: #003B69;
text-decoration: underline;
}
a:focus {
color: #003B69;
text-decoration: underline;
}
div.mainnavi
{
height: 26px;
background-color: #567F9F;
margin-bottom: 6px;
}
div.mainnavi ul {
margin-left: 0px;
height: 26px;
/*background-color: #567F9F;*/
border-left: 252px solid #567F9F;
}
div.mainnavi li
{
display: inline;
}
a
{
text-decoration: none;
}
div.mainnavi li a
{
color: #fff;
background-color: #567F9F;
font-size: 0.75em;
font-weight: bold;
padding: 2px 4px 2px 4px;
display: block;
float: left;
border: 1px solid #FFFFFF;
}
div.mainnavi li a:hover
{
background-color: #2269B5;
}
div.mainnavi li a.aktiv
{
/* Hintergrundfarbe */
background-color: #295d89;
}

also was nu ?

die restlichen "Flausen" konnte ich dem IE weitgehend austreiben mit Tipps aus diversen Beiträgen und Kropffs Tutorials aber da steh ich aufm Schlauch ....

Und bitte keine Hinweise in der Art "dann lass dieses Urgestein doch Links liegen und nimm Firefox ..." - IE 6 ist halt im Unternehmen noch Standard-Browser ....

 
Kropff
03-08-2010, 18:01 
 
Der IE6 interpretiert das mit dem visited einfach anders. Lösung: keine. Also entweder schmeißt du das visited raus oder schränkst das auf bestimmte Bereiche ein.

Peter

 
eagle275
03-08-2010, 18:07 
 
wäre natürlich auch ne Möglichkeit .... muss ich mal abklären, ob ich da vom Unternehmenstandard abweichen darf

 
Kropff
03-08-2010, 18:19 
 
wäre natürlich auch ne Möglichkeit .... muss ich mal abklären, ob ich da vom Unternehmenstandard abweichen darf
Musst du wohl. Und wenn einer rumnölt, dann sag dem der soll sich entweder bei Winzigweich beschweren oder eurer IT-Leitung.

Peter

 
wahsaga
03-08-2010, 19:34 
 
Brauchst es ja nur vor IE <= 6 verstecken.

 
Kropff
03-08-2010, 19:58 
 
Brauchst es ja nur vor IE <= 6 verstecken.
Auch ne Möglichkeit. Hab ich natürlich vergessen.

Peter

 
eagle275
04-08-2010, 07:00 
 
wahsaga .. wie mach ich das ?

 
fab-s
04-08-2010, 10:22 
 
Ich verstehe nicht ganz, warum es nicht mit

div.mainnavi li a:visited
{
color: #fff;
}

funktionieren sollte (ggf. !important dazu). Das ist mmN genau das was hier fehlt.

Nur aus Interesse, ein abweichendes visited-Verhalten vom IE6 war mir nicht bekannt aber den muss ich auch nicht mehr supporten :)

 
eagle275
04-08-2010, 10:34 
 
tja fab_s .. vielleicht meinte ja wahsaga genau das ...

ansonsten fyi ..

der IE scheint die Reihenfolge der Kaskade teilweise anders zu interpretieren als der FF ...

in meinem Fall .. dem Firefox reicht das es ein div ... li a ist , um es nicht mit einem normalen Link a:link zu verwechseln .. der IE stellt es richtig dar, so lange der Link noch nicht besucht wurde, danach wird es halt durch den "normalen Style" von a:visited ersetzt ..

und überhaupt .. DANKE fab_s.. dat Menü sieht nun in beiden Browsern so aus, wie ich das haben will

 
Kropff
04-08-2010, 13:33 
 
div.mainnavi li a:visited
{
color: #fff;
}

Ist doch doppelt gemoppelt. einfach so was machen

div.content a:visited {
color: #707070;
}

Dann gilt das nur für einen bestimmten Bereich und erspart sich eine Anweisung. Außerdem ist das hier überflüssig wie ein Kropf(f).
a:link {
color: #003B69;
font-size: 0.75em;
font-family: Helvetica, Arial, sans-serif;
line-height: 1.25em;
text-decoration: none;
}
a:visited {
color: #707070;
}
a:hover {
color: #003B69;
text-decoration: underline;
}
a:active {
color: #003B69;
text-decoration: underline;
}
a:focus {
color: #003B69;
text-decoration: underline;
}

Da reicht ein
a {
color: #003B69;
font-size: 0.75em;
font-family: Helvetica, Arial, sans-serif;
line-height: 1.25em;
text-decoration: none;
}
a:visited {
color: #707070;
}
a:hover {
text-decoration: underline;
}
a:active {
text-decoration: underline;
}
a:focus {
text-decoration: underline;
}
völlig aus und man erspart sich Tipparbeit. Und da sich die Angaben wohl auf normalen Text beziehen, bindet man sie an das umgebende div-Element.

Peter


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:24 Uhr.