/ Forside / Teknologi / Udvikling / HTML / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
Eks. med <div>
Fra : Ukendt


Dato : 12-10-04 12:37

Hej gruppe,

kan i hjælpe mig med, hvordan jeg med <div> får lavet nogle farvede bokse
med tekstindhold i stedet for brugen af tabeller.

Fx hvordan jeg nogenlunde kan få lavet noget, der minder om kasserne på
eniro.dk (det skal ikke være det samme, men blot for at illustrere, hvordan
kasserne evt. skal stå i forhold til hinanden og siden som helhed, samt
hvordan teksten i dem kunne være)

/vinter



 
 
Martin Hintzmann And~ (12-10-2004)
Kommentar
Fra : Martin Hintzmann And~


Dato : 12-10-04 13:12

Vint wrote:

> kan i hjælpe mig med, hvordan jeg med <div> får lavet nogle farvede bokse
> med tekstindhold i stedet for brugen af tabeller.
>
> Fx hvordan jeg nogenlunde kan få lavet noget, der minder om kasserne på
> eniro.dk (det skal ikke være det samme, men blot for at illustrere, hvordan
> kasserne evt. skal stå i forhold til hinanden og siden som helhed, samt
> hvordan teksten i dem kunne være)
>

Følgende virker i nyere browsere (Mozilla(FF), Opera, Safari, MSIE 6.0)

Punkt 1 - DOCTYPE som tricker standard-mode
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Punkt 2 - HTML
<div id="page">
<div id="head">Head</div>
<div id="main">
<div class="box" id="box1">B-1</div>
<div class="box" id="box2">B-2</div>
<div class="box" id="box3">B-3</div>
</div>
<div id="foot">Foot</div>
</div>

Punkt 3 - CSS
#page {
width:250px;
/*
box1+box2+box3
(5+10+50+10+5)+(5+5+10+50+10+5+5)+(5+10+50+10+5)
*/
}
#head {
background:lightblue;
}
#main {
padding-top:5px;
padding-bottom:5px;
width:100%;
float:left;
clear:left;
}
#foot {
background:lightblue;
clear:left;
}
..box {
padding:10px;
border:5px solid lightblue;
width:50px;
float:left;
}
#box1 { }
#box2 {
margin-right:5px;      
margin-left:5px;      
}
#box3 { }


--
Martin Hintzmann Andersen
http://www.hintzmann.dk/

Ukendt (13-10-2004)
Kommentar
Fra : Ukendt


Dato : 13-10-04 21:23

Hej Martin,

kan jeg ikke få dig til at give (bare en kort) bekrivende tekst, så en, der
ikke er html-ekspert kan gennemskue nedenstående. Ellers et fint stykke
arbejde. Tak for din tid.

"Martin Hintzmann Andersen" <no@spam.please> skrev i en meddelelse
news:416bc9f6$0$56886$14726298@news.sunsite.dk...
> Følgende virker i nyere browsere (Mozilla(FF), Opera, Safari, MSIE 6.0)
>
> Punkt 1 - DOCTYPE som tricker standard-mode
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
>
> Punkt 2 - HTML
> <div id="page">
> <div id="head">Head</div>
> <div id="main">
> <div class="box" id="box1">B-1</div>
> <div class="box" id="box2">B-2</div>
> <div class="box" id="box3">B-3</div>
> </div>
> <div id="foot">Foot</div>
> </div>
>
> Punkt 3 - CSS
> #page {
> width:250px;
> /*
> box1+box2+box3
> (5+10+50+10+5)+(5+5+10+50+10+5+5)+(5+10+50+10+5)
> */
> }
> #head {
> background:lightblue;
> }
> #main {
> padding-top:5px;
> padding-bottom:5px;
> width:100%;
> float:left;
> clear:left;
> }
> #foot {
> background:lightblue;
> clear:left;
> }
> .box {
> padding:10px;
> border:5px solid lightblue;
> width:50px;
> float:left;
> }
> #box1 { }
> #box2 {
> margin-right:5px; margin-left:5px; }
> #box3 { }
>
>
> --
> Martin Hintzmann Andersen
> http://www.hintzmann.dk/



Ukendt (14-10-2004)
Kommentar
Fra : Ukendt


Dato : 14-10-04 20:20

Hej (Martin),

hvordan skal det forstås? (så jeg selv kan modificere og lave fremover)

> Punkt 1 - DOCTYPE som tricker standard-mode
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Den sætter jeg helt i toppen - yes. Det var da en start.

> Punkt 2 - HTML
> <div id="page">
> <div id="head">Head</div>
> <div id="main">
> <div class="box" id="box1">B-1</div>
> <div class="box" id="box2">B-2</div>
> <div class="box" id="box3">B-3</div>
> </div>
> <div id="foot">Foot</div>
> </div>

Ovenstående kode sættes i body'en. Jeg har tolket det sådan, at "head",
"foot" og "box 1-3" er tekstindholdet samt henvisninger til kassernes
layout.

Hvad skal "page" og "main" gøre?

> Punkt 3 - CSS

Efterfølgende kode har jeg lidt problemer med at greje (set i lys af, at jeg
gerne selv vil kunne rette og kreere fremover)

> #page {
> width:250px;
> /*
> box1+box2+box3
> (5+10+50+10+5)+(5+5+10+50+10+5+5)+(5+10+50+10+5)
> */
> }

?

> #head {
> background:lightblue;
> }

?

> #main {
> padding-top:5px;
> padding-bottom:5px;
> width:100%;
> float:left;
> clear:left;
> }

?

> #foot {
> background:lightblue;
> clear:left;
> }

?

> .box {
> padding:10px;
> border:5px solid lightblue;
> width:50px;
> float:left;
> }

?

> #box1 { }
> #box2 {
> margin-right:5px; margin-left:5px; }
> #box3 { }

?

/Vinther



Jens Peter Karlsen (15-10-2004)
Kommentar
Fra : Jens Peter Karlsen


Dato : 15-10-04 00:40

Se inline.

On Thu, 14 Oct 2004 21:19:53 +0200, "Vint" <ingen> wrote:


>Ovenstående kode sættes i body'en. Jeg har tolket det sådan, at "head",
>"foot" og "box 1-3" er tekstindholdet samt henvisninger til kassernes
>layout.

Det er også korrekt.

>
>Hvad skal "page" og "main" gøre?

"page" er en container for alle andre divs.
"main" er en container for box1-3.

>Efterfølgende kode har jeg lidt problemer med at greje (set i lys af, at jeg
>gerne selv vil kunne rette og kreere fremover)
>
>> #page {
>> width:250px;

Dette fastsætter bredden på "page".

>> /*
>> box1+box2+box3
>> (5+10+50+10+5)+(5+5+10+50+10+5+5)+(5+10+50+10+5)
>> */

Dette er en kommentar der forklarer hvordan bredden er regnet ud.

Regards Jens Peter Karlsen. Microsoft MVP - Frontpage.


Martin Hintzmann And~ (15-10-2004)
Kommentar
Fra : Martin Hintzmann And~


Dato : 15-10-04 08:04

Martin Hintzmann Andersen wrote:

Hej Vint (og Jens)

Du må undskylde at jeg ikke har fået svaret tilbage, men jeg har
simpelthen overset tråden... sorry. Jens har svaret på nogle af de
spørgsmål du havde, men her kommer de igen og lidt ekstra.


>
> Følgende virker i nyere browsere (Mozilla(FF), Opera, Safari, MSIE 6.0)
>
> Punkt 1 - DOCTYPE som tricker standard-mode
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
>

Dette er en doctype som forklare i hvilken version af HTML-siden er
skrevet i. Personligt benytter jeg mig altid af XHTML 1.0 strict, men
det står dig frit at vælge en anden doctype. F.eks. HTML 4.01. Strict
eller Transitional. Dog bør du altid bruge en fuld korrekt doctype som
tricker standard mode i diverse browsere, da det gør det lettere at få
tingene til at se ens ud i de forskellige browsere.

Her kan du se en liste over de mest gængse DOCTYPEr
http://www.hintzmann.dk/articles/doctype/#gaengse



> Punkt 2 - HTML
> <div id="page">
> <div id="head">Head</div>
> <div id="main">
> <div class="box" id="box1">B-1</div>
> <div class="box" id="box2">B-2</div>
> <div class="box" id="box3">B-3</div>
> </div>
> <div id="foot">Foot</div>
> </div>
>

Jeg benytter mig for det meste af en opbygning a lá ovenstående.

#page omklamre hele siden og giver den en fast bredde og kan benyttes
til bl.a. at centre siden, background-image o.lign.

En alternativ måde er at give #head #main og #foot samme faste bredde,
men jeg fortrækker at gøre det et sted, altså på #page.

#main er blot en wrapper som indeholder de 3 bokse.


> Punkt 3 - CSS
> #page {
> width:250px;
> /*
> box1+box2+box3
> (5+10+50+10+5)+(5+5+10+50+10+5+5)+(5+10+50+10+5)
> */
> }


Den totale bredde er beregnet ud fra de 3 bokse.
Generelt for boksene har de en width, padding og border. Den midterste
har også margin for at give lidt mellemrum imellem boksene.

Bredden for en boks udregnes ved at sammenlægge margin, border, padding
og width, altså sålede:

width =
margin-left + border-left + padding-left + width + padding-right +
border-right + margin-right

Den midterste boks er således (5+5+10+50+10+5+5) 90px i bredden.
De to yderste bokse er så (5+10+50+10+5) 80px i bredden, da de ingen
margin har.

De 3 bokse er således 80px + 90px + 80px = 250px.

Og det er den width jeg har givet #page. Dette er en minimums værdi,
hvis du vil have boksene til at stå ved siden af hinanden. Du kan godt
lave #page større, der vil så bare komme lidt luft i højre side. Altså
at #head og #foot er længere end bredden på de 3 bokse.


> #head {
> background:lightblue;
> }

Her giver jeg blot en baggrundsfarve på #head, så man kan se den.

> #main {
> padding-top:5px;
> padding-bottom:5px;
> width:100%;
> float:left;
> clear:left;
> }

#main indholder som sagt de 3 bokse. For at give lidt afstand imellem
#head og #foot indtil de 3 bokse har jeg givet den lidt padding i toppen
og bunden.
Jeg float #main, hvilket gør at indholdet får automatisk width sat til
auto. Det vil sige at den er kun så stor som nødvendigt er, altså
bredden på den bredeste boks (den midterste 90px).
Jeg giver den derfoe width 100% så de 3 bokse står på linie med hinanden.

Jeg clear left for ikke at #foot står ud til højre. Det er en generelt
god ide at clear efter man er færdig med at float'e.


> #foot {
> background:lightblue;
> clear:left;
> }

Lidt baggrundsfarve og en endnu en clear left, hvilket nok er lidt
overkanten da der også er en på #main. Men den skader ikke.

> .box {
> padding:10px;
> border:5px solid lightblue;
> width:50px;
> float:left;
> }

Her er det generelle layout af en boks.

> #box1 { }

En tom regel for bokse 1, blot for at vise at man kan style den
forskelligt, bla. ved at give den en anden border farve.

> #box2 {
> margin-right:5px;
> margin-left:5px;
> }

Her er der lidt luft imellem de 3 bokse. Dette kunne også sættes på
#box1 og #box3, altså som en margin-right på #box1 og margin-left på
#box3. Jeg har ingen specifik grund til at sætte den på den midterste.
Det var bare tilfældigt.

> #box3 { }
>

Samme princip som #box1


--
Martin Hintzmann Andersen
http://www.hintzmann.dk/

Dan Storm (12-10-2004)
Kommentar
Fra : Dan Storm


Dato : 12-10-04 13:15

Det er ret simpelt

#box {
   height: 100px;
   width: 100px;
   background-color: #C0C0C0;
}



<div id="box">
Hej hej
</div>
--
Dan Storm

http://err0r.dk
storm@err0r.dk

PGP Public key på http://err0r.dk/pubring.pkr

>>> husk på; en ekspert er en person der har begået alle fejl mulige
inden for et bestemt område

Ukendt (13-10-2004)
Kommentar
Fra : Ukendt


Dato : 13-10-04 21:21

Hej Dan,

> Det er ret simpelt

men hvordan skal det forstås?

> #box {
> height: 100px;
> width: 100px;
> background-color: #C0C0C0;
> }

Er det korrekt, at ovennævnte kode skal sættes i et style sheet?

> <div id="box">
> Hej hej
> </div>

Og at denne kode skal sættes i selve html-filen?

Vil det sige, at alle kasserne (størrelse, farve, placering mv.) skal laves
i stylesheetet?

Hvis det er tilfældet, så...:
....synes jeg ikke, at det virker logisk. Stylesheetet kan derved kun bruges
på denne ene side, da kasserne jo evt. skal se anderledes ud på øvrige
sider.

Men hvad ved jeg

vinther



Ukendt (13-10-2004)
Kommentar
Fra : Ukendt


Dato : 13-10-04 21:31


"Vint" <ingen> skrev i en meddelelse
> > #box {
> > height: 100px;
> > width: 100px;
> > background-color: #C0C0C0;
> > }
> Er det korrekt, at ovennævnte kode skal sættes i et style sheet?

Ja, eller i <head> som internt stylesheet.

> > <div id="box">
> > Hej hej
> > </div>
> Og at denne kode skal sættes i selve html-filen?

Ja.

> Vil det sige, at alle kasserne (størrelse, farve, placering mv.) skal
laves
> i stylesheetet?

Ja. (ikke nødvendigvis placering, det kan også klares i Html)

> Hvis det er tilfældet, så...:
> ...synes jeg ikke, at det virker logisk. Stylesheetet kan derved kun
bruges
> på denne ene side, da kasserne jo evt. skal se anderledes ud på øvrige
> sider.

Så laver du bare alle de klasser du vil, eks:

#box1 {
height: 100px;
width: 100px;
background-color: #C0C0C0;
}

#box2 {
height: 100px;
width: 100px;
background-color: #C0C0C0;
}

#box3 {
height: 100px;
width: 100px;
background-color: #C0C0C0;
}

Eller hvad du nu vil kalde dem - og så ændrer du blot farver mv. i hver
klasse så de passer dig.

--
Jesper Frandsen
http://www.9am.dk/





Ukendt (13-10-2004)
Kommentar
Fra : Ukendt


Dato : 13-10-04 21:57

> Ja, eller i <head> som internt stylesheet.

Når jeg placerer det i head'en (eller andre steder i html-filen) så kommer
denne kode også med, når hjemmesiden vises.

Altså ingen boks, men uforståelig kode...

> Så laver du bare alle de klasser du vil, eks:
>
> #box1 {
> height: 100px;
> width: 100px;
> background-color: #C0C0C0;
> }
> Eller hvad du nu vil kalde dem - og så ændrer du blot farver mv. i hver
> klasse så de passer dig.

Tja, men der var min pointe, at jeg synes, at ens stylesheet bliver
uoverskuelig, og at det vil være en del mere overskueligt og logisk bygget
op, hvis ovennævnte kode blev indsat i hvert html-fil, hvor de hørte til.
Men det er sikkert bare noget, man skal vænne sig til

Vinther



Ukendt (13-10-2004)
Kommentar
Fra : Ukendt


Dato : 13-10-04 22:00


"Vint" <ingen> skrev i en meddelelse

> Når jeg placerer det i head'en (eller andre steder i html-filen) så kommer
> denne kode også med, når hjemmesiden vises.
>
> Altså ingen boks, men uforståelig kode...

Prøv lige at smide et link til din side så jeg kan se hvordan du indsætter
CSSèn

--
Jesper Frandsen
http://www.9am.dk/



Ukendt (13-10-2004)
Kommentar
Fra : Ukendt


Dato : 13-10-04 22:08

> Prøv lige at smide et link til din side så jeg kan se hvordan du indsætter
> CSSèn

Jeg tror, at vi her talte forbi hinanden.

Den vises rigtigt nok, når jeg henviser til et CSS.

Der hvor det går galt er, når jeg indsætter den ene kode i head'en i selve
html-filen og den anden kode i body



Ukendt (13-10-2004)
Kommentar
Fra : Ukendt


Dato : 13-10-04 22:14


"Vint" <ingen> skrev i en meddelelse

> Jeg tror, at vi her talte forbi hinanden.

Det tror jeg ikke

> Der hvor det går galt er, når jeg indsætter den ene kode i head'en i selve
> html-filen og den anden kode i body

Det er derfor jeg gerne vil se din kildekode Så er det meget nemmere at
hjælpe hvis man kan se den - Hvis din side ikke er på nettet endnu så kopier
kildekoden ind her.

--
Jesper Frandsen
http://www.9am.dk/



Knud Gert Ellentoft (13-10-2004)
Kommentar
Fra : Knud Gert Ellentoft


Dato : 13-10-04 22:24

Vint skrev:

>Der hvor det går galt er, når jeg indsætter den ene kode i head'en i selve
>html-filen og den anden kode i body

I head:
<style type="text/css">
#page {
width:250px;
/*
box1+box2+box3
(5+10+50+10+5)+(5+5+10+50+10+5+5)+(5+10+50+10+5)
*/
}
#head {
background:lightblue;
}
#main {
padding-top:5px;
padding-bottom:5px;
width:100%;
float:left;
clear:left;
}
#foot {
background:lightblue;
clear:left;
}
..box {
padding:10px;
border:5px solid lightblue;
width:50px;
float:left;
}
#box1 { }
#box2 {
margin-right:5px;      
margin-left:5px;      
}
#box3 { }
</style>
--
Knud
Topposter du svar, så ryger du på min ignoreringsliste.
http://usenet.dk/netikette/citatteknik.html

Ukendt (15-10-2004)
Kommentar
Fra : Ukendt


Dato : 15-10-04 05:11

> Det er ret simpelt
>
> #box {
> height: 100px;
> width: 100px;
> background-color: #C0C0C0;
> }
>
> <div id="box">
> Hej hej
> </div>

Jeg har hidtil arbejdet med tabeller til at sætte min hjemmeside op med. Nu
har jeg bl.a. efter at have læst dette indlæg besluttet mig for at prøve med
<div> i stedet for.

Men et eller andet går galt, når jeg forsøger at integrere ovenstående
eksempel.

Se her.
http://www.skindbeni.dk/artikler.shtml

Mit (ikke færdige) projekt burde se sådan ud.
http://www.skindbeni.dk/test.shtml

Den eneste forskel på de to sider er, at der i den ene er inkluderet en menu
og en bundtekst.

Har nogle en nøddeknækker til denne nød?

mvh
Michael Sørensen



Knud Gert Ellentoft (15-10-2004)
Kommentar
Fra : Knud Gert Ellentoft


Dato : 15-10-04 05:45

"Michael Sørensen" <webmaster_m-s SNABEL-A stofanet.dk> skrev:

>Den eneste forskel på de to sider er, at der i den ene er inkluderet en menu
>og en bundtekst.

Først og fremmest, brug en doctype, som sætter IE i standard mode
og ikke i quirks mode som nu.

Siden ser også meget forskellig ud i IE og i Mozilla.

Tjek siderne i flere browsere.

Jeg vil foreslå at du bruger
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
til at starte med.

Der er flere headers på siden, der må kun være en, tilmed bruger
angiver du forskellige doctyper på siden - klart at browseren må
blive forvirret.

Når du inkluderer, så skal du kun inkludere selve indeholdet,
nu inkluderer du f.eks.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
   
<HTML>

<HEAD>

<title>Menu</title>

</HEAD>

<BODY>
   <ul class="ListMenu horizontal" id="menu1">
      <li><a href="#">Skindbeni Support</a>
         <ul>
fraklippet
   }
   //--></script>
   
   </BODY>
</HTNL>

Du skal kun inkludere

   <ul class="ListMenu horizontal" id="menu1">
      <li><a href="#">Skindbeni Support</a>
         <ul>
fraklippet
   }
   //--></script>

Du har ovenikøbet angivet, at siden er skrevet i xhtml, hvilket
den overhovedet ikke er, men som sagt du skal ikke have alt det
med, det skal kun være på siden, hvor du sætter det inkluderede
ind (hovedsiden kan man sige).

Når du har rettet fejlene, valider så siden på
http://validator.w3.org/
--
Knud
Topposter du svar, så ryger du på min ignoreringsliste.
http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177519
Tips : 31968
Nyheder : 719565
Indlæg : 6408651
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste