---
title: "Underligt fel vid CSS-validering"
type: "forum-thread"
url: "https://www.webforum.nu/amne/html-css/130368-underligt-fel-vid-css-validering"
topic: "HTML & CSS"
topic_url: "https://www.webforum.nu/amne/html-css"
author: "aasah"
published: "2005-06-21T12:34:51.000Z"
updated: "2005-06-22T12:55:17.000Z"
replies: 16
views: 432
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/html-css/130368-underligt-fel-vid-css-validering"
---

# Underligt fel vid CSS-validering

## #1 — aasah, 2005-06-21T12:34Z

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 

```php
//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å?

Permalänk: https://www.webforum.nu/p/130368

## #2 — tydal, 2005-06-21T12:37Z

Hur ser fishMerge.css ut?

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

(Eller \</style\> ?)

Permalänk: https://www.webforum.nu/p/1632638

## #3 — aasah, 2005-06-21T12:42Z

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... :(

Permalänk: https://www.webforum.nu/p/1632640

## #4 — Guffa, 2005-06-21T12:47Z

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

Permalänk: https://www.webforum.nu/p/1632643

## #5 — tydal, 2005-06-21T12:48Z

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?

Permalänk: https://www.webforum.nu/p/1632644

## #6 — tydal, 2005-06-21T12:49Z

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

Permalänk: https://www.webforum.nu/p/1632645

## #7 — aasah, 2005-06-21T12:56Z

> **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>

Permalänk: https://www.webforum.nu/p/1632648

## #8 — tydal, 2005-06-21T13:04Z

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.

Permalänk: https://www.webforum.nu/p/1632650

## #9 — tydal, 2005-06-21T13:08Z

"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\>.

Permalänk: https://www.webforum.nu/p/1632652

## #10 — aasah, 2005-06-21T13:15Z

Ååå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?

Permalänk: https://www.webforum.nu/p/1632655

## #11 — Web-Tor, 2005-06-21T13:37Z

> 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. :)

Permalänk: https://www.webforum.nu/p/1632663

## #12 — tydal, 2005-06-21T13:38Z

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.

Permalänk: https://www.webforum.nu/p/1632664

## #13 — webbebba, 2005-06-22T10:27Z

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

\<!--

Permalänk: https://www.webforum.nu/p/1632992

## #14 — aasah, 2005-06-22T11:44Z

> **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?

Permalänk: https://www.webforum.nu/p/1633016

## #15 — Palle, 2005-06-22T11:59Z

..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.

Permalänk: https://www.webforum.nu/p/1633024

## #16 — tydal, 2005-06-22T12:29Z

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.

Permalänk: https://www.webforum.nu/p/1633033

## #17 — aasah, 2005-06-22T12:55Z

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

Permalänk: https://www.webforum.nu/p/1633042

---

Tråden på webben: https://www.webforum.nu/amne/html-css/130368-underligt-fel-vid-css-validering
