XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   CSS (http://xhtmlforum.de/forumdisplay.php?f=73)
-   -   Sporadischer CSS Menu Fehler in allen Browsern, kaum reproduzierbar (http://xhtmlforum.de/showthread.php?t=51824)

killray 15.05.2008 03:12

Sporadischer CSS Menu Fehler in allen Browsern, kaum reproduzierbar
 
Hallo, da in dem anderen Thread die wichtigen Sachen gelöst wurden komm ich jetzt zu dem Hauptproblem:

Also, erstmal zum Menu. Wenn ich die Seite zum ersten mal Besuche oder sporadisch zwischen den Seiten wechsele, wird mir in allen Browsern ab und an eine unvollstädnige Menu-Leiste wie auf den Bildern angezeigt, wenn ich dann allerdings mit F5 Reloade, ist der Fehler wieder verschwunden und alles wird normal angezeigt. Woran kann das liegen und welche Angaben muss ich machen, dass das wieder verschwindet?
Der Fehler taucht selten auf, aber ist nicht Browserbezogen. Das Design ist 100% XHTML 1.0 vailde, aber kann bei so einem Bug nicht produktiv eingesetzt werden. Es hilft, wenn man den Cache löscht, aber ich kann doch nicht von meinen Besuchern erwarten, dass Sie dies immer tun.
Ich komme nicht mehr weiter, wenn selbst das Einhalten der Webstandards solche Fehler produziert.

navi.css
Code:

.nav {
height:35px;
background: url(images/pro_line_0.gif) repeat-x;
position:relative;
font-family:arial, verdana, sans-serif;
font-size:11px;
width:100%;
z-index:500;
margin: 0 0 45px 0;
}

.nav .table {
display:table;
margin: 0 0 0 20px;
}

.nav .select,
.nav .current {
margin:0;
padding:0;
list-style:none;
display:table-cell;
white-space:nowrap;
}

.nav li {
background:none;
margin:0;
padding:0;
height:auto;
float:left;
border-right: #ccc 1px solid;
}

.nav .select a {
display:block;
height:35px;
float:left;
background: url(images/pro_line_0.gif);
padding:0 20px 0 20px;
text-decoration:none;
line-height:35px;
white-space:nowrap;
color:#ddd;
}

.nav .current a {
display:block;
height:35px;
float:left;
background: url(images/pro_line_2.gif);
padding:0 0 0 15px;
text-decoration:none;
line-height:35px;
white-space:nowrap;
color:#fff;
}


.nav .current a b {
display:block;
padding:0 20px 0 5px;
background:url(images/pro_line_2.gif) right top;
}

.nav .select a:hover,
.nav .select li:hover a {
background: url(images/pro_line_1.gif);
padding:0 0 0 15px;
cursor:pointer;
color:#fff;
}

.nav .select a:hover b,
.nav .select li:hover a b {
display:block;
float:left;
padding:0 20px 0 5px;
background:url(images/pro_line_1.gif) right top;
cursor:pointer;
}

.nav .select_sub {
display:none;
}

/* IE6 only */
.nav table {
border-collapse:collapse;
margin:-1px;
font-size:1em;
width:0;
height:0;
}

.nav .sub {
display:table;
margin:0 0 0 93px;
padding:0;
list-style:none;
}

.nav .sub_active .current_sub a,
.nav .sub_active a:hover {
background:transparent;
color:#f00;
}

.nav .select :hover .select_sub,
.nav .current .show {
display:block;
position:absolute;
width:100%;
top:35px;
background:url(images/back_0.gif);
padding:0;
z-index:100;
left:0;
text-align:center;
}

.nav .current .show {
z-index:10;
}

.nav .select :hover .sub li a,
.nav .current .show .sub li a {
display:block;
float:left;
background:transparent;
padding:0 15px 0 15px;
margin:0;
white-space:nowrap;
border:0;
color:#444;
}

.nav .current .sub li.sub_show a {
color:#088;
cursor:default;
background:url(images/back_1.gif);
}

.nav .select :hover .sub li a:hover,
.nav .current .sub li a:hover {
visibility:visible;
color:#088;
background:url(images/back_1.gif);
}

Und der IE Workaround:
Code:

.nav ul {display:inline-block;}
        .nav ul {display:inline;}
        .nav ul li {float:left;}
        .nav {text-align:left;}
        .nav .select a:hover b, .nav .select li:hover a b {float:none;}
        .nav .select :hover .select_sub, .nav .current .show {width:990px;text-align:left;}

http://web19.s.tocando.de/upload/menu.gif

http://web19.s.tocando.de/upload/menu_error.gif

cgdesign 15.05.2008 11:41

Du hast in der main.css in der Zeile 298 nur ein } zu viel.

Ansonsten? Tja, gute Frage. Kann denn dein Fehler noch jemand reproduzieren? Also, mehr als nur du? Ich nämlich nicht.

killray 15.05.2008 13:07

Hmm dachte auch erst das es sich um ein lokales Problem handelt, aber dann schrieb mich ein Bekannter an, der das gleiche Problem, wenn auch nur einmalig, hatte und zwar auch im FF 2. Liegt es vielleicht am Browser? Aber welchen Sinn hat dann Valider Code? Das Problem ärgert mich schon gewaltig.

cgdesign 15.05.2008 13:25

Glaube jetzt mal weniger, dass es jetzt an dem validen Code liegt. Vielleicht hast du auch ein Cache-Problem oder irgendwas im FF eingestellt, keine Ahnung. Schon mal probiert, wenn du den Cache via Meta-tags unterbindest?

<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Expires" content="Thu, 01 Dec 1994 16:00:00 GMT" />

Ronnaki 15.05.2008 13:59

nur mal so als Idee...

bei Home wird das JavaScript 'TextResizeDetector' eingebunden und mit einer kleinen Zeitverzögerung (alle 200ms) ausgeführt. Wenn sich dann dein "Klicken" und die Funktionsausführung blöd überschneiden, kann es womöglich zu dem von dir beschrieben Fehler kommen.

Nimm doch mal spaßeshalber dieses JavaScript komplett raus und probier dann nochmal.

killray 15.05.2008 19:57

Etz hab ichs endlich mal reproduzierbar, zumindest bei mir.
  1. Erst den Cache löschen
  2. Dann die Seite unter Germanyhost - Mehr als nur Hosting aufrufen
  3. dann erst auf Shared Hosting klicken
  4. und dann z.B. auf Mail

Dann wirds wie auf den ersten beiden Bildern. Axo, die Javascripts hab ich mal alle raus zum testen und funzt trotzdem nicht. Tritt der denn bei keinem anderen auf?

[EDIT] Der Fehler trifft dann auch nur beim ersten Besuch einer Seite auf, beim zweiten nicht mehr!!!


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:11 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023