Avatar billede rotco Juniormester
27. januar 2011 - 20:57 Der er 11 kommentarer og
2 løsninger

CSS problem..

Hejsa,

Jeg er forholdsvis ny til CSS - og sidder og roder med et design jeg har lavet i photoshop - førhen satte jeg hele lortet op i tables, men jeg vil lære at bruge divs...

Problemet er at jeg jo har lavet det design der, og sliced det i 4 stykker.. top, bund og midte. Jeg har så et 4. slice, som er "middle_bg", således at jeg kan scrolle ned uden at billedet gentager sig. I min css-film virker dette KUN hvis jeg sætter min wrap til float: left;

men gør jeg det, ja så kommer hele siden logisk nok til at sidde helt ude i venstre side, selvom den skal være i midten.. Sletter jeg float: left; fra wrappen, ja så vises siden da godt nok i midten, men "middle_bg" gentages ikke..

Her er html:

<!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>Design</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>

<body>

<!-- Herunder starter wrappen -->
<div id="wrap">

    <!-- Herunder starter toppen -->
    <div id="top"></div>
    <!-- Herover slutter toppen -->
   
    <!-- Herunder starter midten -->
    <div id="middle">TEKST!</div>
    <!-- Herover slutter midten -->
   
    <!-- Herunder starter bunden -->
    <div id="bund"></div>
    <!-- Herover slutter bunden -->
   
</div>
<!-- Herover slutter wrappen -->

</body>

</html>


HER ER CSS:

body {
        margin: 0px 0px 0px 0px;
        background-image: url("bg.jpg");
        background-repeat: repeat-x;
        background-color: #550000;
}

#wrap {
        background-image: url("images/middle_bg.jpg");
        width: 1200px;
        margin-left: auto;
        margin-right: auto;
        float:left;
}

#top {
        background-image: url("images/top.jpg");
        width: 1200px;
        height: 136px;
        float: left;
}

#middle {
        background-image: url("images/middle.jpg");
        background-repeat: repeat-x;
        width: 1200px;
        float: left;
}

#bund {
        background-image: url("images/bund.jpg");
        width: 1200px;
        height: 45px;
        float: left;
}




Jeg sidder og roder med det LIGE NU, og vil gerne videre - så 200 point til den der kan hjælpe mig med en løsning, og andre råd :)
Avatar billede webweaver Praktikant
27. januar 2011 - 21:15 #1
Har du et link?

Hvad mener du med når du skriver at billedet skal gentages eller ikke gentages?

Ønsker du at kunne scrolle inde i midten, men hvor baggrunden står stille eller skal hele siden scrolle?
Avatar billede rotco Juniormester
27. januar 2011 - 21:24 #2
Hejsa,

Jeg har ikke noget link desværre...

Hele siden skal scrolle..

Jeg mener at baggrunden skal følge med ned.. Jeg har jo en div middle, og den div middle har en baggrund med noget design på, men når jeg skriver tekst i den div, og teksten bliver lang nok, så gentager baggrunden sig jo, og derfor har jeg så lavet repeat: repeat-x; for at løse det problem..

Det jeg så dernæst vil have den til er så at bruge baggrunden middle_bg, da den så skal udfylde resten af diven ud, og det løser jeg så ved at smide en baggrund på selve wrappen..

Problemet er så at det kun virker når jeg smider float: left; på wrappen. Men så bliver HELE siden jo venstrestillet, hvilket ikke er muligt. Men piller jeg float: left; væk igen, så bliver siden atter centreret, men middle_bg fylder ikke resterende af middle div ud.

Jeg håber jeg forklarer det okay :)
Avatar billede rotco Juniormester
27. januar 2011 - 21:29 #3
meningen* skulle der stå
Avatar billede pernille_t Nybegynder
28. januar 2011 - 07:00 #4
Rotco, prøv at skrive denne kode i din css for at centrere layoutet - jeg er ikke sikker på, at det er det svar, du leder efter. Jeg forstår heller ikke helt, hvad du mener. Vil du have, at baggrunden skal være dynamisk i højden, så designet bliver længere / mindre afhængig af indholdet?


#wrap {
        background-image: url("images/middle_bg.jpg");
        width: 1200px;
        margin: 0 auto;
        position:relative;
}
Avatar billede rotco Juniormester
28. januar 2011 - 15:49 #5
Det er netop det jeg vil have at sidens baggrund bliver længere og mindre alt efter indholdet.

Men jeg kan ikke forstå hvorfor i ikke forstår det hehe, jeg forsøger ellers ihærdigt.

Midten har baggrunden middle.jpg fordi der er en del grafisk derpå, som IKKE skal gentages lodret ned flere gange - derfor smider jeg så middle_bg.jpg på Wrappen, for den må GERNE følge med lodret ned, så alt det grafiske stadig sidder lige i skabet.

Det virker også fint nok hvis jeg smider float: left; på wrappen.

Tager jeg derimod float: left; væk fra wrappen, ja så virker det ikke.

Så lige nu er siden med overstående css venstrestillet, selvom det ikke er det jeg vil have den til.

Normalt ville margin-left: auto; og margin-right: auto; jo sørge for at designet sidder lige nøjagtig centreret.
Avatar billede webweaver Praktikant
28. januar 2011 - 16:25 #6
Okay, det lyder underligt.

Du benytter dig af repeat-y på din wrap for at gentage baggrunden vertikalt/lodret?

Når du centrerer det, og det ikke virker, hvor meget baggrund er der så/hvor går den til?

Det ville stadig være meget lettere at visualisere sig, hvis man kunne tilgå det et sted og se på det :-)
Avatar billede rotco Juniormester
28. januar 2011 - 16:27 #7
Ja, det er ret underligt :)

Jeg ved godt det ville være meget nemmere hvis jeg kunne vise det, men projektet er "lettere" hemmeligt - ja undskyld hvis det lyder lidt spion-agtigt..

Men jeg kan da måske lige lave en kopi af det, og vise det..

10 min. så skriver jeg lige en webadresse :)
Avatar billede rotco Juniormester
28. januar 2011 - 16:37 #8
Webadresse: http://onlinespil.eu/eksempel/

Selve domænet onlinespil.eu har intet med designet at gøre eller noget, og designet har jeg virkelig smidt rundt - pga. projektet..

Men koderne er nøjagtigt de samme.. :-)
Avatar billede zips Juniormester
28. januar 2011 - 16:47 #9
Sæt en <div style="clear: both;"></div> lige efter din slut div for din middle
Avatar billede rotco Juniormester
28. januar 2011 - 16:54 #10
Zips! Det virker!

Du kan komme med et svar, og hvis du vil være så venlig.. Kan du så fortælle mig hvorfor det virker, og hvad det gør?
Avatar billede zips Juniormester
28. januar 2011 - 17:18 #11
Her er et svar :-)

Jeg deler gerne med andre som har forsøgt at hjælpe her.

Når man floater et element skal man cleare det, for uden clear vil det ikke fylde noget, eller det ved ikke hvor langt det skal gå ned.

Her er et link til nogle gode guide omkring det http://css.maxdesign.com.au/floatutorial/
Avatar billede webweaver Praktikant
28. januar 2011 - 17:37 #12
Giv du bare point til zips :)
Avatar billede rotco Juniormester
28. januar 2011 - 18:25 #13
Men tak for din hjælp alligevel Lasse :)

Zips: Vil det sige at jeg rent faktisk burde cleare efter HVER div som har en float?

Men det giver meget god mening det med at det ikke ved hvor langt det skal gå ned - og tak for link, så skal der læses ;o)
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