Avatar billede blach Nybegynder
23. september 2005 - 13:06 Der er 19 kommentarer og
2 løsninger

Problemer med footer i css

Mit problem er, når opløsningen på skærmen er lille (eller jeg gør vinduet i højden meget lille).. Så springer footeren op over teksten, i stedet for at blive nede på sin plads.. Hvad kan det skyldes?
Det skal være sådan at content + footer = 100% i height

Det ser ud til at det er denne er problemet:
    <UL class=teaserBar>
      <SPAN><a href"">Nyheder</a></SPAN>
    </UL>

--html--
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML>
<HEAD>
  <LINK media="screen, projection" href="Default.css" type=text/css rel=stylesheet>
</HEAD>
<BODY class="home">
  <DIV class=page>
  <DIV class=content>
    <DIV class=innerContent>
    <DIV class=homeNavigation>
      MENU
    </DIV>
    <UL class=teaserBar>
      <SPAN><a href"">Nyheder</a></SPAN>
    </UL>
    <UL class=placeholder>
      <UL class=tekst>
      TEKST
      </UL>
    </UL>
    <DIV class=footer>
      FOOTER
    </DIV>
    </DIV>
  </DIV>
  </DIV>
</BODY>
</HTML>

--css--
HTML {
    OVERFLOW-Y: scroll
}
BODY {
    COLOR: #333; FONT-FAMILY: arial, helvetica, sans-serif; BACKGROUND-COLOR: rgb(233,233,233)
}
HTML {
    PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; HEIGHT: 100%
}
BODY {
    PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; HEIGHT: 100%
}
.page {
    BACKGROUND-POSITION: 0px 0px; MIN-HEIGHT: 100%; MARGIN: 0px auto; WIDTH: 837px; BACKGROUND-REPEAT: repeat-y; POSITION: relative; HEIGHT: 100%; BACKGROUND-COLOR: gray; TEXT-ALIGN: left
}
.content {
    CLEAR: both; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 837px; BACKGROUND-COLOR: white
}
.innerContent {
    MARGIN-TOP: 0px; WIDTH: 221px; BACKGROUND-COLOR: white; border-right: rgb(204,204,204) 1px solid; HEIGHT: 100%; POSITION: relative;
}

.placeholder {
    LEFT: 200px; WIDTH: 560px; POSITION: absolute; TOP: 315px;
}

.teaserBar
{
    font-family: Verdana;
    PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 10px; LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px; PADDING-TOP: 0px; POSITION: relative; TOP: 0px; HEIGHT: 100%; TOP: 300px;
}
.teaserBar SPAN
{
    MARGIN-TOP: 10px; DISPLAY: block; PADDING-LEFT: 8px; FONT-SIZE: 10px; BACKGROUND: url(arrow-red.gif) rgb(210,210,210) no-repeat left 3px;
}
#footer {
    BACKGROUND-POSITION: 0px 0px; BORDER-TOP: rgb(204,204,204) 1px solid; FONT-SIZE: 10px; OVERFLOW: hidden; WIDTH: 100%; COLOR: rgb(102,102,102); BOTTOM: 0px; BACKGROUND-REPEAT: repeat-y; POSITION: absolute; HEIGHT: 15px! important; BACKGROUND-COLOR: #fff
}
Avatar billede blach Nybegynder
23. september 2005 - 13:42 #1
Har egentlig også denne kode, ser ud til der er noget med den også

.home DIV.content {
    MIN-HEIGHT: 590px; HEIGHT: 100%
}
.home .related {
    DISPLAY: none
}
Avatar billede olebole Juniormester
23. september 2005 - 14:00 #2
<ole>

De eneste 'børn' et ul-element kan have er li-elementer ... ikke spans. Det virker da også lidt sært, du forsøger at efterligne et li-element med et span-element. Hvorfor dog det?  :)

/mvh
</bole>
Avatar billede blach Nybegynder
23. september 2005 - 14:07 #3
Jeg har ændret dette nu: (men det ændrer ikke på, at footeren springer op)

--html--
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML>
<HEAD>
  <LINK media="screen, projection" href="Default.css" type=text/css rel=stylesheet>
</HEAD>
<BODY class="home">
  <DIV class=page>
  <DIV class=content>
    <DIV class=innerContent>
    <DIV class=homeNavigation>
      MENU
    </DIV>
    <UL class=teaserBar>
      <LI><a href"">Nyheder1</a></LI>
      <LI><a href"">Nyheder2</a></LI>
    </UL>
    <UL class=placeholder>
      <UL class=tekst>
      TEKST
      </UL>
    </UL>
    <DIV class=footer>
      FOOTER
    </DIV>
    </DIV>
  </DIV>
  </DIV>
</BODY>
</HTML>


--css--
HTML {
    OVERFLOW-Y: scroll
}
BODY {
    COLOR: #333; FONT-FAMILY: arial, helvetica, sans-serif; BACKGROUND-COLOR: rgb(233,233,233)
}
HTML {
    PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; HEIGHT: 100%
}
BODY {
    PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; HEIGHT: 100%
}
.home DIV.content {
    MIN-HEIGHT: 590px; HEIGHT: 100%
}
.home .related {
    DISPLAY: none
}
.page {
    BACKGROUND-POSITION: 0px 0px; MIN-HEIGHT: 100%; MARGIN: 0px auto; WIDTH: 837px; BACKGROUND-REPEAT: repeat-y; POSITION: relative; HEIGHT: 100%; BACKGROUND-COLOR: gray; TEXT-ALIGN: left
}
.content {
    CLEAR: both; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 837px; BACKGROUND-COLOR: white
}
.innerContent {
    MARGIN-TOP: 0px; WIDTH: 221px; BACKGROUND-COLOR: white; border-right: rgb(204,204,204) 1px solid; HEIGHT: 100%; POSITION: relative;
}

.placeholder {
    LEFT: 200px; WIDTH: 560px; POSITION: absolute; TOP: 315px;
}
.teaserBar
{
    font-family: Verdana;
    PADDING:0 0 0 10px;
    DISPLAY: block;
    TOP: 0px;
    LEFT: 0px;
    MARGIN: 0px 0px 0px;
    POSITION: relative;
    HEIGHT: 100%;
    TOP: 300px;
}
.teaserBar li
{
    MARGIN-TOP: 10px;
    DISPLAY: block;
    PADDING-LEFT: 8px;
    FONT-SIZE: 10px;
    BACKGROUND: rgb(210,210,210) url(arrow-red.gif) no-repeat left 3px;
}

#footer {
    BACKGROUND-POSITION: 0px 0px; BORDER-TOP: rgb(204,204,204) 1px solid; FONT-SIZE: 10px; OVERFLOW: hidden; WIDTH: 100%; COLOR: rgb(102,102,102); BOTTOM: 0px; BACKGROUND-REPEAT: repeat-y; POSITION: absolute; HEIGHT: 15px! important; BACKGROUND-COLOR: #fff
}
.tekst {
    font-family: Verdana;
    FONT-SIZE: 11px; COLOR: #434343; text-align: justify;
}
Avatar billede olebole Juniormester
23. september 2005 - 14:31 #4
Læg lige et link, så man kan se det i funktion
Avatar billede blach Nybegynder
23. september 2005 - 14:37 #5
Jeg kan sende dig filerne hvis det er?
Avatar billede olebole Juniormester
23. september 2005 - 14:44 #6
Jamen, det er det ikke
Avatar billede blach Nybegynder
23. september 2005 - 15:04 #7
Men hvis du ser løsningen må du gerne smide et post...prøver at arbejde videre med det
Avatar billede softspot Forsker
23. september 2005 - 15:15 #8
Mon ikke du skal lade være med at placere footeren absolut...?
Avatar billede blach Nybegynder
23. september 2005 - 15:36 #9
Det er rettet, hjælper ikke...

Hvad med "HEIGHT: 15px! important;" ?
Avatar billede blach Nybegynder
23. september 2005 - 16:11 #10
Softspot: Kunne du være interesseret i at kigge på filerne hvis jeg mailede dem til dig?
Det har garanteret noget med det absolut at gøre, så de ligger og skubber til hinanden..
Avatar billede softspot Forsker
23. september 2005 - 16:35 #11
Umiddelbart er mit bedste råd til dig at forsøge at isolere problemerne ved at skære alt overflød kode væk, så du kun arbejder med en problemstilling ad gangen. Det er væsentlig lettere at overskue konsekvenserne af rettelser hvis man ikke spekulere på hvad der er årsag til et problem. Du kan så efterhånden (stille og roligt) bygge flere elementer på indtil du når det mål du har sat dig...

i dit tilfælde ville jeg starte med at sørge for at HTML-koden overholder den standard du via din DTD lover browseren, dvs. at UL-elementer indeholder LI-elementer og ikke andet end det (heller ikke andre UL-elementer).

Dernæst vil jeg anbefale at du undlader at bruge position:absolute til at placere dine elementer med, men i stedet benytter float (hvis du altså bare ikke vil bruge tabeller :)). Float giver dig flowcontrol og elementerne tilpasser sig andet indhold alt efter elementets placering i HTML-dokumentet. Når du benytter float, skal du dog være meget specifik med angivlser af (specielt) bredder på dine elementer, da browseren forsøger at få tingene til at passe ind i evt. huller mellem de forskellige elementer. Jeg opererer typisk med layouts som har fast bredde og jeg angiver derfor bredderne i nogle konkrete pixels (px).

Teknikken jeg benytter til at opbygge sider som denne er top-down. Dvs. jeg starter udefra og arbejder mig ind mod detaljen, m.a.o. får rammerne på plads først (hvad angår placering og størrelse) og venter detaljerne, f.eks. scrollebars og farver, indtil senere...

En anden ting jeg har ladet mig fortælle, er at du skal teste dine layouts i FireFox mens du udvikler dem og så rette ifht. de fejl/særheder som IE nu engang har...
Avatar billede roenving Novice
24. september 2005 - 22:37 #12
Måske du skal kigge på http://www.eksperten.dk/spm/520876 ?-)
Avatar billede blach Nybegynder
25. september 2005 - 12:08 #13
Softspot:

Du har nok ret mht. at undlade position:absolute. Kan du ikke forklare hvordan det float fungerer?
Avatar billede blach Nybegynder
25. september 2005 - 12:22 #14
olebole og andre -->

http://rasmusblach.dk/footer/index.htm

Håber I kan hjælpe, for jeg kan ikke rigtig se hvad jeg skal gøre..
Avatar billede blach Nybegynder
25. september 2005 - 15:23 #15
Hmm, har valgt at starte med en ny kode jeg fandt herinde på det link reonving gav - tak!

Men har stadig et problem: vil gerne indføre main1 og main 2 som også skal fylde 100% (da der skal være en grå linje ned)

Spørgsmålet er oprettet her:
http://www.eksperten.dk/spm/650796
Avatar billede blach Nybegynder
27. september 2005 - 21:26 #16
Jeg lukker herinde..
softspot, lig et svar :)
Avatar billede softspot Forsker
27. september 2005 - 21:44 #17
Blach, det er ikke fordi jeg ikke vil have dine point ;), men jeg ville have det lidt skidt med at indkassere point på min noget skrabede deltagelse, så med mindre du vil opfordre andre til at lægge svar, så synes jeg du skal tage dem med til et andet spørgsmål. Ellers tak for buddet :)
Avatar billede blach Nybegynder
27. september 2005 - 22:06 #18
Lig et svar, så får du lidt point - du har trods alt deltaget!
Avatar billede softspot Forsker
27. september 2005 - 22:48 #19
Ok, men ikke 150, for det var det ikke værd (det var jo bare en lille smule teori)...
Avatar billede blach Nybegynder
29. september 2005 - 23:16 #20
OKi :)
Avatar billede softspot Forsker
29. september 2005 - 23:45 #21
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