webForumDet fria alternativet
Logga in / Bli medlem

XHTML 1.0 Frameset

HTML & CSS

6 svar · 237 visningar · startad av LeonL

Medlem sedan dec. 20025 871 inlägg
Trådstart#1

Jag använder en kod som ser ut som den här:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>En sida</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <frameset cols="130,*">
      <frame name="menu" src="menu.asp" noresize="noresize" frameborder="0" />
      <frameset rows="120,*">
        <frame name="top" src="top.asp" scrolling="no" noresize="noresize" frameborder="0" />
        <frame name="main" src="main.asp" noresize="noresize" frameborder="0" />
      </frameset>
    </frameset>
  </head>
</html>

Jag har hittills lyckats med att få bort de irriterande frame-kanterna som brukar finnas med, genom att använda frameborder="0". Nackdelen är dock att det ändå dyker upp mellanrum mellan ramarna (framespacing, som inte stöds). Kan man få bort detta på något sätt?

När jag kör igenom koden på validatorn säger den att den första frameset-taggen (<frameset cols="130,*">) inte får vara där. Varför? Alla frameset-koder finns inuti head-taggarna.

Och till slut så undrar jag varför jag får ett fel på raden där det står "</html>" med meddelandet "end tag for "html" which is not finished".

Felen jag får är alltså:

Line 7, column 26: document type does not allow element "frameset" here (explain...). 
      <frameset cols="130,*">
                            ^
Line 15, column 6: end tag for "html" which is not finished (explain...). 
  </html>
        ^

:o

Medlem sedan feb. 2003202 inlägg
#2

Om du placerar om head-taggen lite, så fungerar det bättre... Nedanstående kod validerar fint:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>En sida</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  </head>
    <frameset cols="130,*">
      <frame name="menu" src="menu.asp" noresize="noresize" frameborder="0" />
      <frameset rows="120,*">
        <frame name="top" src="top.asp" scrolling="no" noresize="noresize" frameborder="0" />
        <frame name="main" src="main.asp" noresize="noresize" frameborder="0" />
      </frameset>
    </frameset>
</html>
Medlem sedan dec. 20025 871 inlägg
#3

Nämen LOL :e.
Jag får väl skylla på att jag inte har använt frames på ca ett år. :P

Tack, andreascarlsson!

Ett problem kvar... ;)

Medlem sedan juli 20022 537 inlägg
#4

Kan du inte sätta id på framesen och sen fixa till det i en css-mall?

Medlem sedan dec. 20025 871 inlägg
#5

Jag har försökt med olika CSS-attribut, men ingen vill ta bort linjerna :l

Medlem sedan feb. 2003202 inlägg
#6

Jag har försökt förut och mig veterligen går det inte att ta bort "kanterna", utan att ta ett litet avsteg från standardiserad XHTML.

Jag kan dock ha fel, men jag kommer ihåg att jag letade som f-n, efter en lösning utan att hitta någon. Jag fick helt enkelt leva med att sidan inte validerade till 100%

(Detta kunde jag dock inte leva med särskilt länge, utan slopade alla frames totalt efter en tid!) ;)

Medlem sedan dec. 20025 871 inlägg
#7

Jag får väl leva med det då ;)

Jag ska göra ett förslag på en kataloglösning åt ett företag, och till det behöver jag frames. ;)

262 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)