/ 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
[CSS] Brug af div
Fra : J. Nielsen


Dato : 17-08-03 23:30

Hej!

Jeg troede, at jeg havde lavet noget smart. Men efter at have kørt min kode
igennem w3c's validering, så er jeg ikke længere så sikker

Jeg vil gerne have mulighed for at lave nogle infoboxe i højre side af min
hjemmeside (se evt. www.jbro.dk). Dem har jeg lavet ved at definere infobox
i CSS:

#infobox {
float: right;
margin-right: 5px;
margin-left: 5px;
margin-bottom: 5px;
text-align: justify;
background-color: #e6e9ed;
font-size: 12px;
font-style: italic;
font-family: verdana, tahoma, helvetica, arial, sans-serif;
width: 20%;
border-style: dashed;
border-bottom-width: 1px;
border-top-width: 1px;
border-left-width: 1px;
border-right-width: 1px;
padding-left: 5px;
padding-right: 5px;
padding-top: 5px;
padding-bottom: 5px;
clear: right;
}

Det fungerer uden problemer. Men hvis jeg så benytter to af disse infoboxes
på min side:

30: <div id="pagetext">
31:
32:    <div id="infobox">
33:    <h2>Foreign Users!</h2>
34:    <p>Please click Union Jack at the top right of the screen to get the
pages in english instead of danish!</p>
35:    </div>
36:
37:    <div id="infobox">
38:    <h2>Overskrift.</h2>
39:    <p>Tekst til info box nummer to. På et eller andet tidspunkt kommer
der til at stå noget fornuftigt her.</p>
40:    </div>
41: </div>

så får jeg følgende fejl fra valideringen
(http://validator.w3.org/check?uri=http%3A%2F%2Fwww.jbro.dk%2F):

"Line 37, column 10: ID "infobox" already defined"

Det tyder altså på, at jeg ikke må benytte den samme div to gange på en
side. Kan det passe - og i givet fald, hvordan kan jeg undgå det problem?

Jeg ser frem til at høre fra jer!

Med venlig hilsen

Jakob Bro Nielsen



 
 
Erik Ginnerskov (17-08-2003)
Kommentar
Fra : Erik Ginnerskov


Dato : 17-08-03 23:46


"J. Nielsen" <mail@jbro.NOSPAMdk> skrev
> Jeg troede, at jeg havde lavet noget smart. Men efter at have kørt min
kode
> igennem w3c's validering, så er jeg ikke længere så sikker
>
> Det fungerer uden problemer. Men hvis jeg så benytter to af disse
infoboxes
> på min side
> så får jeg følgende fejl fra valideringen
> (http://validator.w3.org/check?uri=http%3A%2F%2Fwww.jbro.dk%2F):
>
> "Line 37, column 10: ID "infobox" already defined"
>
> Det tyder altså på, at jeg ikke må benytte den samme div to gange på en
> side. Kan det passe - og i givet fald, hvordan kan jeg undgå det problem?

Det betyder i al sin enkelhed, at du ikke må bruge en id mere end én gang på
en side. Men hvis du i stedet laver det om til en class, er der ikke noget i
vejen:

..infobox {
float: right;
margin-right: 5px;
......
}

<div class="infobox">

En anden mulighed er, at du kan liste to infobokse i css:

#infobox1, #infobox2 {
float: right;
margin-right: 5px;
......
}

.... så kan du kalde dine infobokse sådan:

32: <div id="infobox1">
[klip]
37: <div id="infobox2">

Det er også lovligt, da de to id'er hedder noget forskelligt.

--
Med venlig hilsen
Erik Ginnerskov
http://www.hjemmesideskolen.dk - http://www.html-faq.dk
http://hjem.get2net.dk/egin



Knud Gert Ellentoft (17-08-2003)
Kommentar
Fra : Knud Gert Ellentoft


Dato : 17-08-03 23:57

"J. Nielsen" <mail@jbro.NOSPAMdk> skrev :

>Det tyder altså på, at jeg ikke må benytte den samme div to gange på en
>side. Kan det passe - og i givet fald, hvordan kan jeg undgå det problem?

Ja.
Brug class istedet for id.

..infobox {.....

<div class="infobox">
--
Knud

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408942
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste