Avatar billede compac Seniormester
20. august 2006 - 15:14 Der er 24 kommentarer og
2 løsninger

Menu der bruges i flere sider

Jeg har en forside, hvor der er nogle menupunkter, og de skal også stå på alle de følgende sider.

Det må kunne lægges ud i en extern fil.
(Jeg ved ikke om dette er den rette kategori, men det stammer jo fra css.)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<HEAD>
<TITLE> frame document with CSS2</TITLE>
<STYLE type="text/css">
body {
background-color: #FFFFFF;
color: #000000;
margin: 0px;
padding: 0px;
}

#top {
position: absolute;
left: 0px;
top: 0px;
width: 100%;
height: 65px;
background-color: #990000;
color: #FFFFFF;
}

#menublok {
position: absolute;
left: 0px;
top: 65px;
width: 180px;
background-color: #F2F2F2;
}

#indhold {
padding-top: 80px;
margin-left: 190px;
margin-right: 10px;
}

</style>
</head>
<body>
<div id="indhold">
<h1>Indhold</h1>
</div>
<div id="top">
<h1>Overskrift</h1>
</div>
<div id="menublok">
<p>Menusektion</p>
<ul>
<li><a href="forside">Forside</a></li>
<li><a href="indhold">Indhold</a></li>
<li><a href="links">Links</a></li>
</ul>
</div>
</body>
</html>
Avatar billede nielle Nybegynder
20. august 2006 - 15:25 #1
CSS-delen kan du placere i en ekstern fil som der så kan linkes til.

Selve menuen skal ligeledes være i en eketern fil, men den kan ikke inkluderes på samme måde som din CSS-fil. Der afhænger løsningen af hvilket script-sprog du har adgang til.
Avatar billede nielle Nybegynder
20. august 2006 - 15:30 #2
Flyt CSS-delen id i en fil som di f.eks. kan kalde compac.css:

===== compac.css =====

body {
background-color: #FFFFFF;
color: #000000;
margin: 0px;
padding: 0px;
}

#top {
position: absolute;
left: 0px;
top: 0px;
width: 100%;
height: 65px;
background-color: #990000;
color: #FFFFFF;
}

#menublok {
position: absolute;
left: 0px;
top: 65px;
width: 180px;
background-color: #F2F2F2;
}

#indhold {
padding-top: 80px;
margin-left: 190px;
margin-right: 10px;
}

===== compac.css =====

Hvis du lægger denne i samme bibliotek som dine HTML-filer, så ska de bare tilrettes til at bruge compac.css. Sådan:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<TITLE> frame document with CSS2</TITLE>

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

</head>
<body>
<div id="indhold">
<h1>Indhold</h1>
</div>
<div id="top">
<h1>Overskrift</h1>
</div>
<div id="menublok">
<p>Menusektion</p>
<ul>
<li><a href="forside">Forside</a></li>
<li><a href="indhold">Indhold</a></li>
<li><a href="links">Links</a></li>
</ul>
</div>
</body>
</html>
Avatar billede compac Seniormester
20. august 2006 - 19:45 #3
Dvs. hvis jeg også skal lægge disse linier for sig selv:

<ul>
<li><a href="forside">Forside</a></li>
<li><a href="indhold">Indhold</a></li>
<li><a href="links">Links</a></li>
</ul>


-skal jeg bruge javascript?
Avatar billede nielle Nybegynder
20. august 2006 - 20:04 #4
Det kan vel gøres i JavaScript, men jeg vil nu hellere anbefale PHP eller ASP eller Server Side Include hvis du har en af de muligheder.
Avatar billede mclemens Nybegynder
20. august 2006 - 20:05 #5
Du kan forkorte css'en ved at lægge det ind i en seperat fil som Nielle
viser i 20/08-2006 15:30:12. Det anbefales så du sparer markup :o)

M.h.t. ikke at skulle skrive menuen på hver side kan det ikke undgåes via. css
- der skal en seperat javascript fil til (som du selv hentyder til) eller også
skal der bruges en iframe ... Jeg foretrækker selv at have markup'en på hver side,
men indrømmer dog at det er hårdt når man kører almindelig html ... hvis du koder
i et script sprog som asp eller php kan du include menuen på alle dine sider eks. med php (kan ikke asp):



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<TITLE> frame document with CSS2</TITLE>

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

</head>
<body>
<div id="indhold">
<h1>Indhold</h1>
</div>
<div id="top">
<h1>Overskrift</h1>
</div>
<div id="menublok">
<p>Menusektion</p>
<?php include"menu.php" ?>
</div>
</body>
</html>



og så en fil der hedder menu.php:

<ul>
<li><a href="forside">Forside</a></li>
<li><a href="indhold">Indhold</a></li>
<li><a href="links">Links</a></li>
</ul>
Avatar billede mclemens Nybegynder
20. august 2006 - 20:06 #6
Hov, undskyld Nielle ;)
Avatar billede compac Seniormester
20. august 2006 - 20:06 #7
Ja, jeg har mulighed for at gøre det i php. Kan du anvise mig hvordan jeg skal bære mig ad?
Avatar billede compac Seniormester
20. august 2006 - 20:09 #8
Nå, du har allerede svaret på mit spørgsmål. Jeg ser lige på dit svar.
Avatar billede nielle Nybegynder
20. august 2006 - 20:11 #9
mclemens> Der er da ingen grund til at udnskylde? :^)
Avatar billede mclemens Nybegynder
20. august 2006 - 20:22 #10
Hehe, ok :o)
Avatar billede compac Seniormester
20. august 2006 - 20:24 #11
Der må vel nogle "print" eller "echo" sætninger til for at gøre dem synlige?
Avatar billede nielle Nybegynder
20. august 2006 - 20:29 #12
Næ, det burde ikke være nødvendigt. Men de skal sevfølgeligt ikke inden for i <?...?> tags heller.
Avatar billede nielle Nybegynder
20. august 2006 - 20:30 #13
... med mindre at du ønsker at gøre menuen mere dynamisk.
Avatar billede compac Seniormester
20. august 2006 - 20:45 #14
Jeg havde sat <?--?> tags - men kan alligevel ikke se indholdet fra menu.php på hovedsiden.
Avatar billede compac Seniormester
20. august 2006 - 20:46 #15
-selvom jeg fjerner dem.
Avatar billede mclemens Nybegynder
20. august 2006 - 20:46 #16
Du skal ikke sætte <? og ?>
Avatar billede mclemens Nybegynder
20. august 2006 - 20:46 #17
Hov ok ... checker lige ...
Avatar billede mclemens Nybegynder
20. august 2006 - 20:47 #18
<?php include"menu.php" ?>
rettes til: <?php include"menu.php"; ?>
... ved ikke om det hjælper lidt ...
Avatar billede mclemens Nybegynder
20. august 2006 - 20:48 #19
menu.php lægger i dette tilfælde i samme mappe som din anden fil ... men den anden fil skal så hedde .php til sidst istedet for .html - den del glemte jeg at sige :/
Avatar billede mclemens Nybegynder
20. august 2006 - 20:49 #20
Arg, jeg formulerer mig så skidt :D


test.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<TITLE> frame document with CSS2</TITLE>

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

</head>
<body>
<div id="indhold">
<h1>Indhold</h1>
</div>
<div id="top">
<h1>Overskrift</h1>
</div>
<div id="menublok">
<p>Menusektion</p>
<?php include"menu.php"; ?>
</div>
</body>
</html>



og så en fil der hedder menu.php:
<ul>
<li><a href="forside">Forside</a></li>
<li><a href="indhold">Indhold</a></li>
<li><a href="links">Links</a></li>
</ul>
Avatar billede nielle Nybegynder
20. august 2006 - 20:57 #21
Forskellen er et lille vigitgt ';'-tegn. :^)
Avatar billede compac Seniormester
20. august 2006 - 21:08 #22
Ja, det gjorde underværker.
I bør begge have points, men jeg ved ikke hvordan man fordeler dem.
Avatar billede nielle Nybegynder
20. august 2006 - 21:11 #23
Du venter til at vi begge har lagt et svar.

Derefter markere du begge nick's ude i venstre side og trykker derefter på accepter-knappen. :^)
Avatar billede mclemens Nybegynder
20. august 2006 - 21:15 #24
Ok, her er lige et lille svar også :o)
Avatar billede mclemens Nybegynder
20. august 2006 - 22:17 #25
Tak for point :o)
Avatar billede nielle Nybegynder
20. august 2006 - 22:41 #26
Ditto :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester