Avatar billede totalpc Seniormester
30. april 2013 - 14:59 Der er 10 kommentarer

Problem med højde via CSS

Hej
Forholdsvis ny til CSS. Har overordnet lidt svært ved at finde ud af hvornår jeg skal bruge tabeller og hvornår jeg skal bruge div tag?

Mit konkrete problem er at jeg har lavet et design til et site. Jeg har lavet nogle div elementer som pt har fast størrelse, men umiddelbart kan der være x antal elementer i hoved div'en. Problemet er så at min floating elementer ikke rigtigt kommer til at passe i min hoved div...enten kommer der en scroll eller også kan man ikke se dem alle.

koden:
  <body background="graabg.gif">

    <div id="hoved">

    <!--Top div:-->
    <div id="top"><img src="logo.jpg"></div>

        <!--Mellem div:-->
    <div id="mellem"><img src="ulogo.jpg"></div>
       
        <!--Indledning:-->
    <div id="indledning"><h1>Velkommen ombord!</h1><br><h2>På denne side kan du læse om oplevelserne med.</h2><br></div>
           
    <!--Blog div:-->
    <div id="blog">
            <%
                strSQL = "SELECT * FROM Blog"
                    Set rs = Conn.Execute(strSQL)
                    Do While Not rs.EOF
              %>   
              <div id="blogitem">       
              <h3><%=rs("overskrift")%></h3>
              </div>   
              <br>   
              <%
                  RS.MoveNext
                  Loop
                %>
        </div>

      <!--Menu div:-->
        <div id="menu">
            <div id="menuitem">
                Quick links:<br>
                    Speedbådskørekort<br>
                    Farvandsudsigt<br>
                        AIS Storebælt<br>
                            Beregn tid<br>
            </div>
            <br>
            <div id="menuitem">
                Rekorder:<br>
                    Laks: PR 11kg BR 11kg<br>
                    Torsk: PR 7kg BR 7kg
            </div>
            <br>
                   
            <div id="menuitem">
                Andre teams:<br>
                    SR Fishing<br>
                    Gadusn<br>
                    Team Terkel
            </div><br>
        <div >
Her kommer noget andet            </div>
        </div>
           
    </div>
    </body>



CSS

#hoved {
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
    border-style: solid;
    border-width: 0;
    background-color:    White;
    box-shadow: 5px 5px 5px #888888;
    overflow: hidden;
}
#top {
    width: 1000px;
    height: 103px;
    margin-left: auto;
    margin-right: auto;
    border-style: solid;
    border-width: 0;
    text-align: center;
}

#mellem {
    width: 1000px;
    height: 25px;
    margin-left: auto;
    margin-right: auto;
    border-style: solid;
    border-width: 0;
    text-align: center;
}

#indledning {
    width: 1000px; 
    margin-left: auto;
    margin-right: auto;
    border-style: solid;
    border-width: 0;
    text-align: center;
}

#blog {
    width: 650px;
    height: 600px;
    border-style: solid;
    border-width: 0;
    float: left;
}

#menu {
    width: 320px;
    height: 600px;
    border-style: solid;
    border-width: 0;
    float: right;
    margin-right: 25px;
}

#blogitem {
    width: 600px;
    height: 100px;
    margin-left: auto;
    margin-right: auto;
    border-style: solid;
    border-width: thin;
    border-color: #E0EFFF;
    text-align: center;
    background-color:    White;
        box-shadow: 5px 5px 5px #888888;
}

#menuitem {
    width: 280px;
    height: 100px;
    margin-left: auto;
    margin-right: auto;
    border-style: solid;
    border-width: thin;
    border-color: #E0EFFF;
    text-align: center;
    background-color:    White;
        box-shadow: 5px 5px 5px #888888;
}

h1 {
    font-family: Trebuchet, Verdana, Geneva, Arial, Helvetica, sans-serif;
    font-size: 10pt;
    color: navy;
    padding-top: 12px;
    padding-bottom: 3px;
    padding-left: 10px;
    text-align: left;
}
h2 {
    font-family: Trebuchet, Verdana, Geneva, Arial, Helvetica, sans-serif;
    font-style:    italic;
    font-size: 10pt;
    color: navy;
    padding-top: 12px;
    padding-bottom: 3px;
    padding-left: 10px;
    text-align: left;
}
h3 {
    font-family: Georgia, Verdana, Geneva, Arial, Helvetica, sans-serif;
    font-style:    italic;
    font-size: 10pt;
    color: #0033FF;
    padding-top: 12px;
    padding-bottom: 3px;
    padding-left: 10px;
    text-align: left;
}
Avatar billede olebole Juniormester
30. april 2013 - 16:44 #1
<ole>

Prøv at lægge et link til siden

/mvh
</bole>
Avatar billede totalpc Seniormester
30. april 2013 - 16:55 #2
Avatar billede olebole Juniormester
30. april 2013 - 17:07 #3
Prøv at validere koden og ret alle dine HTML-fejl først
Avatar billede totalpc Seniormester
30. april 2013 - 19:57 #4
Javel ja... :)
Så er der ingen html fejl.
I CSS står der således:
#hoved {
    width: 1000px;
    height: 1000px;
..
..
..


Men jeg ville jo gerne have en form for autohøjde på hoved div'en således at den bliver udvidet efter indholdet. Jeg har lige lavet nogle ekstra felter som det kan ses på linket. De går jo ud over siden. Hvordan gør jeg det?
Avatar billede olebole Juniormester
30. april 2013 - 20:57 #5
Prøv min-height
Avatar billede olebole Juniormester
30. april 2013 - 21:01 #6
PS: Så er det i øvrigt en misforståelse at bruge BR-elementer mellem andre elementer. De er beregnet til at skabe linjeskift i tekst og kun dét  =)
Avatar billede totalpc Seniormester
01. maj 2013 - 08:19 #7
#hoved {
    width: 1000px;
    min-height:500px;
    margin-left: auto;
    margin-right: auto;
    border-style: solid;
    border-width: 0;
    background-color:    White;
    box-shadow: 5px 5px 5px #888888;
   
}

Det gør ingen forskel.

Måske du så vil løfte sløret for hvordan jeg så får mellemrum mellem elementerne?
Avatar billede olebole Juniormester
01. maj 2013 - 12:33 #8
Jeg må anbefale dig at læse CSS-standarden grundigt og lære de mest basale dele af den. Mellemrum mellem elementer etableres med margin.

Du floater jo #blog. Det hiver elementet ud af sidens naturlige flow og gør, at det ikke har nogen fysisk udstrækning. Det fylder ikke noget i sidens flow og skubber således ikke de andre elementer på plads
Avatar billede totalpc Seniormester
01. maj 2013 - 14:18 #9
Okay. Har du et forslag til hvordan jeg skal opbygge det uden float eller hvordan jeg får løst mit problem nu jeg bruger float? Det er fint nok at henvise til en standard/manual, men nu spørger jeg i et forum for at få hjælp til at løse mit problem :)
Avatar billede olebole Juniormester
01. maj 2013 - 14:45 #10
Float er beregnet til at lave tekstomløb - f.eks. omkring et billede eller en fakta-/infoboks. Den er uegnet til at lægge block elementer ved siden af hinanden som i et søjlelayout.

Block elementer, som skal ligge ved siden af hinanden giver men display:inline-block. Så opfører de sig som inline elementer udadtil - og som block elementer indadtil:

<style type="text/css">
#leftBox {
    display: inline-block;
    width: 200px;
    min-height: 150px;
    vertical-align: top;
    background: red;
}
#rightBox {
    display: inline-block;
    width: 700px;
    min-height: 150px;
    vertical-align: top;
    background: blue;
}
#bottomBox {
    height: 100px;
    background: green;
}
</style>

<div id="leftBox">Noget tekst<br>
    noget tekst</div>
   
<div id="rightBox">Bla bla bla bla<br>
    bla bla bla bla<br>
    bla bla bla bla<br>
    bla bla bla bla<br>
    bla bla bla bla
</div>

<div id="bottomBox"></div>
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