Avatar billede Keld Nielsen Professor
11. september 2005 - 13:16 Der er 8 kommentarer og
1 løsning

Sideopbygning med DIV, med problemer

Jeg er ved at bygge en side op i DIV, men er løbet ind i et par problemer som jeg ikke rigtigt kan tackle.

1.    Jeg ønsker siden centret, med grafik på hver side, grafikken skal lægge sig ind mod midterste område. Det virker ikke helt efter hensigten.
2.    Jeg får noget ekstra forneden, hvis jeg fjerner topmargen i xxx på 175px, kan jeg ikke se teksten.

Du kan se det færdige resultat her:
http://www.prolight.dk/eksperten/div-index.html

og HTML-kodern her:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title> Test af div </title>
<link href="div.css" rel="stylesheet" type="text/css">
</head>

<body>
<div id="venstre"><img src="dotclear.gif" width="5%">
</div>

<div id="midt">
    <div id="top1">Her er menu toppen<br>
  med plads til menu og illustration</div>
    <div id="main">Her er hele teksten
    med masser af linier</div>   

<div id="bottom">
    <div id="bund1">her er der en linie</div>
    <div id="bund2">og her bunden</div>
</div>    </div>

<div id="hoejre"><img src="dotclear.gif" width="5%">
</div>
<div id="hoejre_bund"></div>

</body>
</html>


og CSS’en:

html,body {
    margin: 0px;
    padding: 0px;
    height: 100%;
}
#venstre {
    position:absolute;
    top:0px;
    left:0px;
    height:100%;
    background-color:#dadbdb;
    background-repeat: repeat-y;
    background-position: right;
    background-attachment: fixed;
    background-image: url(images/forslag2_04.jpg);
}
#midt {
    position:relative;
    margin:auto;
    height:100%;
    width:772px;
    z-index: 10;
    background-color:#993300;
}
#hoejre {
    position:absolute;
    top:0px;
    right:0px;
    height:100%;
    background-color:#dadbdb;
    background-attachment: fixed;
    background-image: url(images/forslag2_05.jpg);
    background-position: left;
}
#hoejre_bund {
    position:absolute;
    bottom:0px;
    height:459px;
    background-color:#66FFFF;
    background-attachment: fixed;
    background-image: url(images/forslag2_07.jpg);
    background-repeat: no-repeat;
    background-position: left bottom;
}
#top1 {
    position:absolute;
    height:175px;
    width:772px;
    z-index:20;
    background-color:#CCCCCC;
}
#main {
    position:absolute;
    height:100%;
    width:772px;
    overflow-y:auto
    z-index:20;
    background-color:#FF3300;
    margin-top: 175px;
}
#bottom {
    position:absolute;
    bottom:0px;
    height:52px;
    width:772px;
    z-index:20;
}
#bund1 {
    width:772px;
    height:26px;
    background-color:#00FFFF;
}
#bund2 {
    width:772px;
    height:26px;
    background-color:#CCCCCC;
}
Avatar billede udvikler Nybegynder
11. september 2005 - 13:34 #1
Uddyb dit problem lidt mere :)
Avatar billede roenving Novice
11. september 2005 - 13:44 #2
Jeg ville nok sætte den der dadbdb-baggrund på body og sætte venstre- og højre-billederne ind i en tabel sammen med midt-diven og placere den med margin: auto; !-)

-- dernæst ville jeg sætte midt-diven til højde 100%, men inde i den slette main-diven, og indsætte 'skygge'-elementer som var relativt positioneret, men var egnet til at lægge sig bagved top og bund !-)

-- gov forøvrigt også bunden et andet id, ligesom du har gjort med top, det er bare en god vane at undlade at bruge betegnelser, som bruges andre steder !o]
Avatar billede Keld Nielsen Professor
11. september 2005 - 13:46 #3
Hvis I kigger på eksemplet, så skal siderne være variable, men med det mørke af grafikken, lige op mod midten.

Og så er der nogen ekstra "luft" under midten, jeg har i "#main" sat en margin-top på 175px, for at kunne se teksten, det kan måske være her der er en fejl, men kan ikke få den fjernet.
Avatar billede jesper-moeller Nybegynder
11. september 2005 - 14:55 #4
En enkelt lille detalie:

"div.css" er et uheldigt filnavn...
Når det drejer sig om navnvgivning af feks filere, atributter, class & id selctore, og ligende. Er der nogle få men gode "huskeregler" der er gode at bruge.
1. Brug altid små bogstver. (også på extensionen)
2. Brug ikke specieltegn og mellemrum.
3. Start altidmed et bogstav, aldrig med et nummmer.
4. Brug altid unikke navne der ikke kan forveksles (Aldrig navne der kan forveksle med andet i koderne som feks: div, body ol)

Disse "regler" gælde ikke i alle situationer, men men hvis man holder sig til dem undgår man en del problemer.
Det er nemmere ALTID bruge disse 4 "regler", end at skulle huske i hvilken situationer og hvornår hvilke af de 4 "regler" ike gælder.

Ok....det er uskrevne regler (Også selvom jeg lige har skrevet det *G*) ..... men det er god kodeskik, og kan lette en for en del hovedpine at lære sig...

c",)

.
Avatar billede Keld Nielsen Professor
11. september 2005 - 16:50 #5
Jeg har forsøgt med det ’roenving’ anbefalede, men jeg må ha’ misforstået noget, prøv at se her:

http://www.prolight.dk/eksperten/div-index-2.html

1.    Jeg har problem med højden
2.    Jeg kan ikke få det midterste felt, hvor indhold skal være, frem
3.    Jeg kan ikke få de to nederste linier, til altid at være i bunden


HTML-koderne:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>...::: Test af div :::...</title>
<link href="div1.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#dadbdb">
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="33%" height="100%" align="right" valign="top" class="venstre_side_ill"></td>
    <td width="33%">
<div id="midt">
    <div id="top1">Her er menu toppen<br>
  med plads til menu og illustration</div>
    <div id="indhold">Her er hele teksten
    med masser af linier</div>

<div id="bottom-1">
    <div id="bund1">her er der en linie</div>
    <div id="bund2">og her bunden</div>
</div>   
</div>
</td>
    <td width="33%" align="left" valign="top" class="hoejre_side_ill">
</td>
  </tr>
</table>
</body>
</html>

CSS’en:
html,body {
    margin: 0px;
    padding: 0px;
    height: 100%;
}
#midt {
    position:relative;
    margin:auto;
    height:100%;
    width:772px;
    z-index: 10;
    background-color:#993300;
}
#top1 {
    position:absolute;
    height:175px;
    width:772px;
    z-index:20;
    background-color:#CCCCCC;
}
#indhold {
    position:relative;
    width:772px;
    background-color:#FFFFFF;
    margin-top: 175px;
}
#bottom-1 {
    position:relative;
    bottom:0px;
    height:52px;
    width:772px;
    z-index:20;
}
#bund1 {
    width:772px;
    height:26px;
    background-color:#00FFFF;
}
#bund2 {
    width:772px;
    height:26px;
    background-color:#CCCCCC;
}
.venstre_side_ill {
    background-attachment: fixed;
    background-image: url(images/forslag2_04.jpg);
    background-repeat: repeat-y;
    background-position: right;
}
.hoejre_side_ill {
    background-attachment: fixed;
    background-image: url(images/forslag2_05.jpg);
    background-repeat: repeat-y;
    background-position: left;
}
Avatar billede roenving Novice
11. september 2005 - 17:18 #6
Måske kan du fange ideen ved at kigge på disse forslag:

http://www.eksperten.dk/spm/520876 og http://www.eksperten.dk/spm/497362 !-)
Avatar billede Keld Nielsen Professor
11. september 2005 - 18:00 #7
Det var lige det der skulle til, nu ser det ud som jeg ønsker det, har lagt det op på sidste link!

Smid et svar ...og tak for hurtighed, jeg skulle jo nødigt miste hele manken, ved at sidde og rive i den!
Avatar billede roenving Novice
11. september 2005 - 18:01 #8
Velbekomme '-)
Avatar billede roenving Novice
11. september 2005 - 18:06 #9
-- og tak for point ;~}
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