webForumDet fria alternativet

Underligt fel vid CSS-validering

HTML & CSSur HTML, XHTML & CSS

16 svar · 425 visningar · startad av aasah

aasahMedlem sedan mars 20034 471 inlägg
#1

Jag håller på och trasslar med testfiler för att få till stånd en drop-down meny så småningom. Följande fil fungerar menyn i (utseendemässigt, länkarna går ingenstans), men (http://validator.w3.org/)

HTML-validatorn skrev:

Line 371, column 6: end tag for "HEAD" which is not finished

</head >

Most likely, You nested tags and closed them in the wrong order. For example <p><em>...</p> is not acceptable, as <em> must be closed before <p>. Acceptable nesting is: <p><em>...</em></p>

Another possibility is that you used an element (e.g. 'ul') which requires a child element (e.g. 'li') that you did not include. Hence the parent element is "not finished", not complete.

Men... jag förstår inte... Jag tycker inget av de föreslagna lösningarna stämmer? :q

//Koden
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <meta name="robots" content="noindex">

<?php include_once("fishMerge.css");
?>

<script type="text/javascript">
sfHover = function() {
        var sfEls = document.getElementById("nav").getElementsByTagName("LI");
        for (var i=0; i<sfEls.length; i++) {
                sfEls[i].onmouseover=function() {
                        this.className+=" sfhover";
                }
                sfEls[i].onmouseout=function() {
                        this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
                }
        }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

</script>

</head>
<body>
<ul id="nav" class="medium">
        <li><a class="menu " href="#">Home</a>
        </li>
        <li><a class="menu" href="#">News</a>
        </li>
        <li><a class="menu" href="#">Puzzles</a>
                <ul class="sub">
                        <li><a class="menu" href="#">Quizzes</a></li>
                        <li><a class="menu" href="#">Crosswords</a></li>
                        <li><a class="menu" href="#">JigSaw</a></li>
                        <li><a class="menu" href="#">Logic</a></li>
                </ul>
        </li>
        <li><a class="menu" href="#">Info</a>
                <ul class="sub">
                        <li><a class="menu" href="#">FAQ</a></li>
                        <li><a class="menu" href="#">Terms&nbsp;of&nbsp;Use</a></li>
                        <li><a class="menu" href="#">Policies</a></li>
                        <li><a class="menu" href="#">About</a></li>
                </ul>
        </li>
        <li><a class="menu" href="#">Members</a>
                <ul class="sub">
                        <li><a class="menu" href="#">Member&nbsp;list</a></li>
                        <li><a class="menu" href="#">MyResults</a></li>
                        <li><a class="menu" href="#">MyRatings</a></li>
                        <li><a class="menu" href="#">MyCP</a></li>
                </ul>
        </li>
        <li><a class="menu" href="#">Login/Reg</a>
                <ul class="sub">
                        <li><a class="menu" href="#">Login/out</a></li>
                        <li><a class="menu" href="#">Register</a></li>
                </ul>
        </li>
        <li><a class="menu" href="#">Interact</a>
                <ul class="sub">
                        <li><a class="menu" href="#">Guestbook</a></li>
                        <li><a class="menu" href="#">Contact</a></li>
                </ul>
        </li>
        <li><a class="menu " href="#">Links</a>
        </li>

</ul><BR><BR><BR>

Vad beror felet på?

tydalMedlem sedan juni 20034 013 inlägg
#2

Hur ser fishMerge.css ut?

Du har kanske glömt taggen <style type="text/css"> ?

(Eller </style> ?)

aasahMedlem sedan mars 20034 471 inlägg
#3

Det är en 346 rader lång CSS-fil som bla innehåller:

<style type="text/css">
<!--
body {
  font-family: 'Bookman Old Style', serif;
  font-size: 16px;
  background-color: #FCFCFC;
  color: #DC143C; /*karm*/
}

/* Fish-submenu */
/* Måste definiera alla varianter för menu, inte bara den som skiljer sig åt. */
a:link.submenu {     /*link - länk som ännu inte har besökts*/
  color: #3366CC;
}

a:visited.submenu {  /*visited - länk som har besökts*/
  color: #3366CC;  /*Annars ljust grå (silver) eller ngt... grön?*/
}

a:hover.submenu {    /*hover - mouseover*/
  color: #DC143C;
}

a:active.submenu {   /*active - vid klick*/
  color: #DC143C;
}

/*slut fish submeny*/

/*fish*/
#nav, #nav ul {
        padding: 0;
        margin: 0;
        list-style: none;
}

.sub {
 background-color: #FFCC00;
 color: #336699;
}

#nav a {
        display: block;
        width: 6em;
}

#nav li {
        float: left;
        width: 6em;
}

#nav li ul {
        position: absolute;
        width: 6em;
        left: -999em;
}

#nav li:hover ul {
        left: auto;
}

#nav li:hover ul, #nav li.sfhover ul {
        left: auto;
}
/*End fish */

-->
</style>

Dessutom evaluerar en annan testfil som också använder samma CSS-fil - men som ser för gräslig ut... :(

GuffaMedlem sedan juni 2004533 inlägg
#4

Varför inkluderar du inte css med link-taggen? Då cache:as css filen så att sidan laddas snabbare.

tydalMedlem sedan juni 20034 013 inlägg
#5

Då har jag slut på gissningar, så nu måste jag nog se koden för att kunna hjälpa dig. Vad är det för adress till sidan?

tydalMedlem sedan juni 20034 013 inlägg
#6

<link href="fishMerge.css" rel="stylesheet" type="text/css">

aasahMedlem sedan mars 20034 471 inlägg
#7

tydal skrev:

<link href="fishMerge.css" rel="stylesheet" type="text/css">

Är det här Guffas förslag? Var skriver man det? Varför går det fortare? :q

Sidan som inte validerar finns här:
http://www.tydal.nu/aasah/Lab/fishTry.php

tydalMedlem sedan juni 20034 013 inlägg
#8

Ja, det är Guffas förslag och det går fortare därför att det är besökarens webbläsare som sköter inkluderingen. Dvs, har den redan filen i cachen (vilket den har om du använder samma fil på hela webbplatsen) så behöver den inte överföras på nytt.

tydalMedlem sedan juni 20034 013 inlägg
#9

"Another possibility is that you used an element (e.g. 'ul') which requires a child element (e.g. 'li') that you did not include. Hence the parent element is "not finished", not complete."

Du saknar <title> som är obligatoriskt i <head>.

aasahMedlem sedan mars 20034 471 inlägg
#10

Åååh! Tack för hjälpen! :birp

Om man använder Guffas förslag - hur får man till en uppdatering om man ändrar i CSS-filen då? Dvs hur vet webbläsaren att det finns en nyare variant utan att titta efter?

Web-TorMedlem sedan nov. 200013 890 inlägg
#11

Om man använder Guffas förslag - hur får man till en uppdatering om man ändrar i CSS-filen då? Dvs hur vet webbläsaren att det finns en nyare variant utan att titta efter?

På samma sätt som den vet att en bild eller någon annat typ av fil är ändrad sedan senaste besöket. :)

tydalMedlem sedan juni 20034 013 inlägg
#12

På samma sätt som dina vanliga html-filer och bilder. Det finns inställningar för det i webbläsaren, men du kan också lämna önskemål i headern...

header("Cache-control: no-cache");

= din fil cachas inte alls utan hämtas om varje gång.

header("Cache-control: max-age=n");

= där n är antal sekunder som den får behållas i cachen.

webbebbaMedlem sedan juni 200573 inlägg
#13

Ta bort detta från din CSS-fil:
<style type="text/css">

<!--

aasahMedlem sedan mars 20034 471 inlägg
#14

webbebba skrev:

Ta bort detta från din CSS-fil:
<style type="text/css">

<!--

VAA?!? :q Men utan de raderna kan ju inte servern/browsern veta vad det är för konstig text som står där, väl? Varför ska det bort?

PalleMedlem sedan apr. 20003 174 inlägg
#15

..han menar nog att;

Om du lägger in koden som du publicerade förut i en CSS-fil,
så måste plocka bort de där taggarna för att det ska fungera.

tydalMedlem sedan juni 20034 013 inlägg
#16

Han menar att om du använder link-taggen så ska det vara en ren css-fil, dvs den ska inte ha några html-taggar i sig som nu, utan det får bara vara css. I link-taggen har man ju med type="style/css" som talar om vad filen innehåller.

aasahMedlem sedan mars 20034 471 inlägg
#17

Åhå! Tack för förklaringarna! :)

133 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)