Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  29 2242
JEg driver og prøver meg frem med en hjemmeside, også lurer jeg på hvordan jeg kan få en meny som er til venstre hele tiden.

Bruker Dreamweaver for å lage siden.

Har søkt litt rundt men har ikke blitt noe klokere.
Les om HTML->DIV og CSS. Og evt PHP når du har kommet så langt.

http://www.w3schools.com/ er et fint sted å begynne.. Har lært mye der selv.
Hovudprinsippet blir vel å bruke ein DIV-tag rundt menyen din, for så å bruke CSS og Float-funksjonen til å få den til å plassere seg til venstre.

http://www.devarticles.com/c/a/Web-S...yout-with-CSS/
http://www.w3schools.com/css/pr_class_float.asp
Takker for svar, skal prøve litt nå.

Får jeg det ikke til kommer jeg til å spørre mer^^
Sist endret av Anders2205; 5. oktober 2007 kl. 19:05.
Jepp. Det skal nok litt til å få det prikkfritt til med ein gong, men du må rett og slett berre lese om emnet og prøve litt ut.

Lykke til!
Bestemte meg for å prøve dette istedet: http://www.w3schools.com/css/tryit.a...=trycss_float5

Men hvordan kan jeg få de 4 boksene til å bli sentrert på siden?
Når jeg skriver inn den koden i siden min nå blir alt helt til venstre.


GLem det, fikk til noe annet.
Sist endret av Anders2205; 5. oktober 2007 kl. 19:46.
Noen som kan hjelpe meg litt med det jeg spurte om først istedet?

Prøvde og lese på de guidene over her men ble ikke så mye klokere.
z0p
uʍop ǝpısdn
z0p's Avatar
SkiM: hvorfor i alle dager drar du php inn i dette?

En enkel meny lages ofte ved en list i markup, deretter plasserer du ved hjelp av stylesheet (les på f.eks http://www.w3schools.com/). Man trenger heller ikke pakke alt inn i div-tagger. Dette skaper veldig rotete og dårlig markup og bør kun gjøres i de tilfeller det faktisk er nødvendig.
Lagre denne som F.eks index.html:

<HTML>
<HEAD>
<TITLE>- FRAMES SIDEN -</TITLE>
</HEAD>
<FRAMESET ROWS="150,*" onload="match=/^(.*)\?(http:\/\/.*$)/.exec(parent.document.location.toString()); if (match) self.hoved.document.location=match[2];">
<FRAME NAME="header" SRC="topp.html" MARGINWIDTH="10" MARGINHEIGHT="10" SCROLLING="no" FRAMEBORDER="0"><FRAMESET COLS="250,*">
<FRAME NAME="meny" SRC="meny.html" MARGINWIDTH="10" MARGINHEIGHT="10" SCROLLING="no" FRAMEBORDER="0"><FRAME NAME="hoved" SRC="hoved.html" MARGINWIDTH="10" MARGINHEIGHT="10" SCROLLING="auto" FRAMEBORDER="0"></FRAMESET>
<NOFRAMES>Nettleseren din støtter ikke frames!<br>Siden kan derfor ikke vises, NEttleser som støtter frames kan skaffes gratis på Opera.no.</NOFRAMES>
</HTML>

så lager du en "meny.html", "hoved.html" og en "topp.html"

I linkene i f.eks Meny må du sette inn TARGET="hoved" i linken for at den skal åpnes i hoved siden.
TARGET="_new" åpner ny side


mvh Evelen
Sist endret av Evelen2; 5. oktober 2007 kl. 23:26.
z0p
uʍop ǝpısdn
z0p's Avatar
Wow, har du en tidsportal til 1996? Det der er så absolutt ikke aktuelt å bruke lengre. Ustandarisert markup, frames, og en klype unødvendig javascript oppi det hele..?

For guds skyld, når du faktisk ikke har peiling på noe, så er det best å lige unna tråden Evelen2!
Sitat av z0p
SkiM: hvorfor i alle dager drar du php inn i dette?
Vis hele sitatet...
Fordi utifra det jeg leste så ønsket han å ha menyen der hele tiden, uansett hvilken (under)side han er på.
Sitat av z0p
Wow, har du en tidsportal til 1996? Det der er så absolutt ikke aktuelt å bruke lengre. Ustandarisert markup, frames, og en klype unødvendig javascript oppi det hele..?

For guds skyld, når du faktisk ikke har peiling på noe, så er det best å lige unna tråden Evelen2!
Vis hele sitatet...
det funker, så hva er problemet?
Very Important Lurker
Keanu's Avatar
En måte å gjøre det på uten å måtte bruke programmeringsspråk som PHP og samtidig kun lage menyen en gang er å bruke SSI. Det er fortsatt litt 1990s, så om du har mulighet til å bruke PHP, ASP eller lignende er det langt mer elegant.

SSI-approach (trenger en slik side for hver side):
<html>
<head> <title>Siden min</title> </head>
<body>
<!--#include virtual="meny.html" -->
Dette er siden min!
</body>
</html>
For hver side inkluderer du menyen, og bygger opp siden f.eks. med en table.

PHP-approach (trenger i tillegg en html-fil for hver underside):
<html>
<head> <title>Siden min</title> </head>
<body>
<?php
include("meny.html");
?>
<?php
$side = $_GET["side"];
switch($side) {
case 'side1':
include("side1.html");
break;
case 'side2':
include("side2.html");
break;
default:
include("hovedside.html");
break;
}
?>
</body>
</html>
Sitat av Evelen2
det funker, så hva er problemet?
Vis hele sitatet...
Problemet er brukervennligheten. Bokmerker osv blir håpløse til en side bestående av frames. Dessuten er det totalt unødvendig, og gjør ting bare mer komplisert. Et par enkle grep i CSS og HTML løser dette problemet mye lettere enn frames. Dessuten vil leseren få en bedre opplevelse av å surfe der.
z0p
uʍop ǝpısdn
z0p's Avatar
Sitat av Evelen2
det funker, så hva er problemet?
Vis hele sitatet...
Nøyaktig det jeg nevnte i innlegget mitt.
Sitat av Evelen2
Lagre denne som F.eks index.html:
<Snip>
mvh Evelen
Vis hele sitatet...
Ikke kom med så mye unødvendig kode om du ikke i det minste forklarer hvorfor du vil gjøre det sånn. Å bruke ferdig kode helt tankeløst lærer du ikke så mye av...

Å lære et minimum av PHP-kode hadde faktisk vært fordelaktig om du skal ha en meny som går igjen på flere sider her. Da kan du lage en statisk meny som du kun inkluderer på hver side gjennom én linje kode. Ikke noe must, men kan spare deg en del arbeid om du skal gjøre plutselige endringer i menyen din (slipper å skifte ut i hver eneste fil du har laget).

Trikset med menyer, er som sagt å wrappe den inn i en <div class='meny'></div> og så definere at meny skal bety float: left (se linker lengre opp). Anbefaler deg å IKKE høre på de som mener du bør bruke frames. Det er lite brukervennlig, utrolig vanskelig å tilpasse for flere nettlesere, og hører fortiden til.
Sikkerhetsklarert
Frames og tables for å dele opp sider validerer ikke lenger i W3C. Det betyr at du som designer ikke har noen garanti for at siden din blir seendes ut slik den var ment i de forskjellige browserene. Følger du en standard så er du i teorien sikret at siden din blir slik du laget den.
Forstår at det er den php varianten som er den beste her, men da kommer jeg til et nytt problem, den menyen jeg lager i en annen side, den som skal inkluderes. Er ikke helt sikker på hvordan jeg skal lage den, er det bare og lage nytt html dokument og lage en liste med de linkene jeg vil ha i menyen?

Også forsåtr jeg ikke helt disse div tag. Hadde satt pris på om noen kunne komme med en liten forklaring.

Lager hjemmeside for å prøve å lære meg mer om html, css og php.
z0p
uʍop ǝpısdn
z0p's Avatar
Du skal ikke lage et nytt html dokument, men en fil som kun inneholder markup for den aktuelle menyen.

En div-tag brukes for å dele opp koden i "containere" eller divisjoner. Om du bruker list i markupen for å lage menyen formaterer du denne ved hjelp av css, og trenger ikke tenke på dette.
noen som har et ferdig "fremes" script i PHP da?
siden jeg ikke kan PHP kan jeg ikke lage det selv
Sitat av Evelen2
noen som har et ferdig "fremes" script i PHP da?
siden jeg ikke kan PHP kan jeg ikke lage det selv
Vis hele sitatet...
Hva faen er fremes? Og hvorfor skal du blande det med PHP? Jeg foreslår at du setter deg inn i litt basic PHP. Det tar ikke lang tid, og du får ofte bruk for det.

Lær PHP her.
z0p
uʍop ǝpısdn
z0p's Avatar
Man bruker ikke php som noen erstatning for frames, men i dette tilfellet for å inkludere markup fra en ekstern fil for å slippe å oppdatere ett utalls dokumenter ved endringer.

Kort fortalt kan dette gjøre med

<?php include("whatever.htm"); ?>

plasser i dokumentet der du ønsker markupen. Dette kan være statisk tekst (kun html) eller en ekstern phpfil.

Dette emnet er diskutert mange ganger her tidliger, så et lite søk på forumet vil gi deg svar på det meste.
ok, får prøve og lære litt php da.
finnes det programmer som kan lese php uten og være på en webserver`?
stress og uppe det til server hele tiden for og teset ing
Sist endret av Evelen2; 8. oktober 2007 kl. 20:52.
Okei, forstår litt mere, men er det ikke noen som hadde giddet en gang og forklart meg litt over msn eller mirc mens jeg holder på.

Jeg må si jeg ikke kan så forferdelig mye, men lærer bedre av at noen forklarer enn å lese de tutorialene.
z0p
uʍop ǝpısdn
z0p's Avatar
Evelen, så kjør en webserver lokalt da. Evt xampp http://www.apachefriends.org/en/xampp.html
Very Important Lurker
Keanu's Avatar
Dere sier du/dere vil lære html, css og php, og da vil jeg anbefale dere å gå gjennom tutorialene på W3Schools istedet for å be om ferdige snutter her.
For å gi en liten innføring så kan jeg si dette:

HTML
HTML er ikke et programmeringsspråk, men et markupspråk. Strict HTML eller XHTML krever at alle tags skal være flettet, det betyr at du skal kunne bygge opp hele markupen i en trestruktur, der hvert element er innenfor et annet element. Rot-elementet i HTML er <html>.
Eksempel på ugyldig XHTML: <i><b>dette</i> er viktig</b>
Her ser vi at i ikke er inni b, og heller ikke motsatt.
Riktig bruk vil være <b><i>dette</i> er viktig</b>
Her ser vi at i-elementet er innenfor b-elementet og er derfor riktig.

Dessuten skal alle tags lukkes altså f.eks. med </html>. En del elementer bruker bare et tag, og er tomme elementer. Eksempel på dette er img-elementet og break line-elementet. Disse lukker vi ved å skrive <br /> og <img src="bilde.png" />.
Merk også at HTML-elementer, er case-sensitive, så bruk små bokstaver.

Et element kalles div, og brukes slik: <div>Dette er en div</div> . Div fungerer for enkelhets skyld som p, altså en paragraf/avsnitt. I tilleg har vi et element som heter span, som ikke er et blokk-element, det vil si at det ikke lager et eget avsnitt.
For å teste forskjellen se på følgende to snutter:
Dette er et <div>div element</div>.
Dette er et <span>span element</span>.

CSS
Dette fører oss over i CSS, som er cascading style sheets. For å inkludere en ekstern CSS-fil til et HTML-dokument, bruk følgende linje i Body-elementet på HTML-dokumentet:
<link rel="stylesheet" type="text/css" href="mittdesign.css" />
der mittdesign.css er din CSS-fil.
Alle elementer i HTML kan ha attributter, altså en måte å identifisere de på. De to typene jeg velger å trekke frem her er id og class. En id-attributt skal kun forekomme en gang på en side, mens class kan forekomme så mange ganger man vil. Jeg velger å bruke id og class sammen med kun div og span her, men de kan også brukes på andre elementer som h1, p, img, tables etc.
Eksempel:

Kode

<html>
<head>
<title>Tester css</title>
</head>
<body>
<div id="overskrift">Velkommen til min side</div>
<div class="tekst">Dette er min side. Denne inneholder mye <span class="viktig">viktig informasjon</span>. Derfor håper jeg du vil trives her. </div>
</body>
</html>
Slik den er nå vil den ikke ha noen formatering, men fordelen med CSS er at vi skiller designet fra selve innholdet. Derfor bruker vi ikke noen i/b-elementer f.eks.
Vi bygger så en CSS-fil som tar seg av hvordan dokumentet skal se ut:

Kode

#overskrift {
	font-size:18px
}
.tekst {
	font-size:10px;
}
.viktig {
	font-size:12px;
	font-weight:bold;
}
body {
	background-color: #DDDDDD;
        font: 12px Verdana, Arial, Helvetica, sans-serif;
}
Som vi ser har vi her tre forskjellige typer definisjoner, en med # først, en med punktum først og en uten noe.
De med # først betyr elementer med denne id'en, altså alle elementer med id'en overskrift (det skal kun være et element av denne typen) får font-størrelse på 18. De med punktum er klasser, altså alle elementer av klasse "tekst" får font-størrelse på 10, og alle med klasse "viktig" får størrelse 12 og i tillegg fet tekst.
Til slutt har vi "body", som betyr at elementet body får bakgrunnsfargen #DDDDDD, og teksten skal ha font-størrelse 12 og ha fonten Verdana.
Som vi ser får vi en motsigelsen her. All teksten vår er inne i body-elemenentet, og skal altså ha størrelse 12, men overskriften skal også ha størrelse 18. Poenget her er at den mest "spesialiserte" regelen får bestemme, f.eks. er elementer med id "overskrift" mer spesifikk enn elementer i "body". Dette er ganske intuitivt å forstå når man begynner å jobbe litt med det.

Om man begynner å tenke seg om, er det mange muligheter med CSS, og veldig mange forskjellige måte man kan formatere på. Selv har jeg begynt å formatere alle mine sider med kun div og span med klasser og id, og bestemme alt annet i CSSen. Fordelen er at man kan gjøre store forandringer veldig enkelt, og man får full oversikt over designet uten å måtte tråle gjennom en masse HTML. Alt du tenker deg av layout og design kan gjøres i CSS om det kan gjøres i HTML, og mer til. Du kan også bruke det samme på mange forskjellige sider (Don't repeat yourself).

PHP
PHP er et helt annet kapittel. Det er et serverside programmeringsspråk, og det betyr at du må ha en server (anbefaler XAMPP for utvikling) for å kjøre det (tolke det). PHP-koden vil aldri komme frem til browseren. PHP kan gjøre det meste et moderne programmeringsspråk skal kunne, blant annet er det objektorientert, men man kan også gjøre mye uten å ha noen anelse hva dette betyr.
For å ta et eksempel, så kan vi si at du har en enkel webside med to undersider. Du vil ha en meny som lenker til de andre sidene og hver av disse sidene.
Du lager da en liten meny:

Kode

<div id="nav">
Navigasjon:
<ul>
<li><a href="hovedside.html></li>
<li><a href="underside.html></li>
</ul>
</div>
Merk at du ikke skal ha med body, html og lignende tags, da dette er en html-snutt og ikke et komplett html-dokument.
Du lager da f.eks. hovedside.html slik:

Kode

<html>
<head>
<title>Hovedside</title>
</head>
<body>
<?php include("meny.html"); ?>
Velkommen til min hovedside, se også mine undersider!
</body>
</html>
På samme måte lager du underside.html, bare at du forandrer tekst og tittel. Det PHP vil gjøre er å inkludere innholdet i meny.html på denne siden, slik at den for en besøkende ser slik ut:

Kode

<html>
<head> <title>Hovedside</title> </head>
<body>
<div id="nav">
Navigasjon:
<ul>
<li><a href="hovedside.html></li>
<li><a href="underside.html></li>
</ul>
</div>
Velkommen til min hovedside, se også mine undersider!
</body>
</html>
Som vi ser skal all PHP-kode inkluderes i <?php ?>-elementer (evn <? ?>). Om man vil legge til en ny side legger du bare til en lenke i meny.html, så vil alle sidene lenke til denne nye siden, uten at du trenger å endre hver side.
Sist endret av Keanu; 9. oktober 2007 kl. 15:09.
takktakk Keanu, nå skjønner jeg endelig skjønt litt hvordan CSS Fungerer.
Men noen ting jeg lurer på.
- Hvorfor blir det linjeskift mellom <div id="overskrift">Velkommen til min side</div> og <div class="tekst">Dette er min side. Denne inneholder mye

- hvorfor avsluttes ikke taggen <div class="tekst">Dette er min side. Denne inneholder mye

- hva er forskjellen på span og div?

- hva er forskjellen på id og class

- Er <br> og <br /> det samme, hvilken bør jeg bruke?
Sist endret av Evelen2; 9. oktober 2007 kl. 15:20.
Very Important Lurker
Keanu's Avatar
Sitat av Evelen2
- Hvorfor blir det linjeskift mellom <div id="overskrift">Velkommen til min side</div> og <div class="tekst">Dette er min side. Denne inneholder mye

- hva er forskjellen på span og div?
Vis hele sitatet...
Dette er egentlig samme spørsmål. Forskjellen på div og span er at div er et såkalt blokk-element. Det vil si at det som er innenfor en div blir en egen blokk, avsnitt eller paragraf, og får linjeskift mellom seg og andre elementer foran og bak. Det kan sammenlignes med elementet <p>Dette er en paragraf.</p>
Span på den andre siden oppfører seg ikke slik, og danner et såkalt inline element, det vil si at det det ikke danner et eget avsnitt, så samme måte som

HTML-kode

<b>Dette er fet tekst</b>, men det får ikke et eget avsnitt.
Div brukes som oftest derfor på egne avsnitt og blokker av kode, f.eks. en meny og en overskrift. Span brukes for å formatere tekst uten eget avsnitt, f.eks. en setning, et par ord eller en lenke.

Sitat av Evelen2
- hvorfor avsluttes ikke taggen <div class="tekst">Dette er min side. Denne inneholder mye
Vis hele sitatet...
Den avsluttes, hvis du ser på:

Kode

<div class="tekst">Dette er min side. Denne inneholder mye <span class="viktig">viktig informasjon</span>. Derfor håper jeg du vil trives her. </div>
Den siste </div> avslutter <div class="tekst">, men den har i tillegg et span-element inne i seg, og er derfor korrekt nøstet.

Sitat av Evelen2
- hva er forskjellen på id og class
Vis hele sitatet...
Forskjellen er at du har kun lov til å ha et element med en spesiell id på hver side, mens class kan du ha så mye du vil av.
Dette er derfor ikke lov:

Kode

<h1 id="overskrift">Velkommen</h1>
<p>Her er en side</p>
<h2 id="overskrift">Info</h2>
<p>Litt info om siden</p>
Du har derimot lov til å gjøre dette:

Kode

<h1 class="overskrift">Velkommen</h1>
<p>Her er en side</p>
<h2 class="overskrift">Info</h2>
<p>Litt info om siden</p>
En spesifikk id skal kun forekomme en gang. Normalt vil du kun trenge å bruke class, men id er nyttig om du f.eks. begynner å se på JavaScript og Ajax.

Sitat av Evelen2
- Er <br> og <br /> det samme, hvilken bør jeg bruke?
Vis hele sitatet...
<br> er ikke lov å bruke i XHTML. Nettlesere i dag vil fortsatt tolke dette riktig, men det er anbefalt å kun bruke <br /> eller <br></br> om du vil. Grunnen til dette er at alle elementer skal lukkes, også br-elementet.
Sist endret av Keanu; 9. oktober 2007 kl. 15:36.
Holdt nesten på og få til noe nå! Men siden ble helt rar! Her er siden www.zendurl.com/andeers/Test/index.php

Her er koden til index fila:
<html>
<head>
<link rel="stylesheet" type="text/css"
href="style.css" />
<title>Hovedside</title>
</head>
<body>
<NOADS>
<div class="left">
<?php
include("meny.html");
?>
<div class="content"><p>
Velkommen til min hovedside, se også mine undersider!</p>
</body>
</html>

og her er css fila:
div.container
{
width:100%;
margin:0px;
border:1px solid gray;
line-height:150%;
}
div.left
{
float:left;
width:160px;
margin:0;
padding:1em;
}
div.content
{
margin-left:190px;
border-left:1px solid gray;
padding:1em;
}

Det må nevnes at dette er mitt første forsøk, så vær snill med meg

Hva gjør jeg galt!
Very Important Lurker
Keanu's Avatar

Kode

<html>
<head>
<link rel="stylesheet" type="text/css"
href="style.css" />
<title>Hovedside</title>
</head>
<body>
<NOADS>
<div class="left">
<?php
include("meny.html");
?>
<div class="content"><p>
Velkommen til min hovedside, se også mine undersider!</p>
</body>
</html>
Du må avslutte div-elementene. Dessuten kan du bare droppe p-elementene siden div'en vil gjøre den jobben selv. Prøv med noe sånt:

Kode

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<title>Hovedside</title>
</head>
<body>
<div class="left">
<?php
include("meny.html");
?>
</div>
<div class="content">
Velkommen til min hovedside, se også mine undersider!</div>
</body>
</html>