Opbygning med <Div>

Her kan du stille og svare på spørgsmål omkring CSS
Besvar
Bech
Begynder
Indlæg:22
Tilmeldt:4. feb 2013, 10:14
Opbygning med <Div>

Indlæg af Bech » 12. apr 2013, 20:34

Hej

Jeg skal lave en relativt simpel hjemmeside og har opbygget skitsen med div tag. Det har dog været lidt bøvlet arbejde og ville derfor høre om der ikke findes en nemmer måde at opbygge det på, eller bare en nemmer måde at organisere div tags på. Se i bunden hvor eksempel på siden samt html koden, farverne jeg har brugt er bare random valgt..

Jeg har samlet det hele i en Div tag som har en fast defineret størrelse

De problemer jeg har haft er at:

Float: Hvis jeg bruger float left og right, skal den overordnet div været samme størrelse som den total mængde af de interne div.

Border: først fik jeg alle div tags stillet op der i ville jeg tilføje border på dem alle, men da borderen ligger sig på yder siden væltede de rundt i den overordnet div tag som lego klodser.

Border / Margin #1: Når to div tag står helt op af hinanden med border bliver stregen rigtig tyg, pga der er to border helt op af hinanden. Jeg har løst det ved og vælge specefike sider der skal være border-(side): none; men er der ikke en nemmer måde at styrre dette på?

Border / Margin #2: hvis man har en stor div tag med to små neden under skal man kompensere for margen og border størrelse op den store af dem, kan dette undgås?

helt general, er der en nem måde at designe layoutet på en side?

Billede

Kode: Vælg alt

    <body style="background-color: pink">
                <div style="height: 2400px; width: 1200px; margin: 10px auto;">
            <div style="height: 100px; width: 1004px; background-color: red; border: 1px  solid black; margin: 2px 2px;">
                <p>Her kommer en overskrift</p>
            </div>
            <div style="height: 50px; width: 750px; float: left; background-color: graytext; border: 1px solid black; border-bottom: none; margin: 0px 0px 0px 2px;">
                <p>Her kommer en under-overskrift</p>
            </div>
            <div style="height: 50px; width: 250px; float: left; background-color: gray; border: 1px  solid black; border-bottom: none; margin: 0px 2px 0px 2px;">
                <p>Her kommer en under-overskrift</p>
            </div>
            <div style="height: 250px; width: 750px; float: left; background-color: green; border: 1px  solid black; margin: 0px 0px 2px 2px;">
                <p>lHer kommer en masse super godt indhold</p>
            </div>
            <div style="height: 250px; width: 250px; float: left; background-color: yellow; border: 1px  solid black; margin: 0px 2px 0px 2px;">
                <p>lHer kommer en masse super godt indhold</p>
            </div>
            <div style="height: 50px; width: 1004px; float: left; background-color: graytext; border: 1px  solid black; border-bottom: none; margin: 0px 2px 0px 2px;">
                <p>Her kommer en under-overskrift</p>
            </div>
            <div style="height: 100px; width: 1004px; float: left; background-color: yellowgreen; border: 1px  solid black; margin: 0px 2px 2px 2px;">
                <p>lHer kommer en masse super godt indhold</p>
            </div>
            <div style="height: 50px; width: 500px; float: left; background-color: gray; border: 1px  solid black; border-bottom: none; margin: 0px 0px 0px 2px;">
                <p>Her kommer en under-overskrift</p>
            </div>
            <div style="height: 50px; width: 500px; float: left; background-color: graytext; border: 1px  solid black; border-bottom: none; margin: 0px 0px 0px 2px;">
                <p>Her kommer en under-overskrift</p>
            </div> 
            <div style="height: 250px; width: 500px; float: left; background-color: blue; border: 1px  solid black; margin: 0px 0px 2px 2px;">
                <p>lHer kommer en masse super godt indhold</p>
            </div> 
            <div style="height: 250px; width: 500px; float: left; background-color: blueviolet; border: 1px  solid black; margin: 0px 2px 2px 2px;;">
                <p>lHer kommer en masse super godt indhold</p>
            </div>
        </div>
    </body>
</html>

Brugeravatar
ThomasI
Grundlægger
Grundlægger
Indlæg:1528
Tilmeldt:28. dec 2010, 10:49

Re: Opbygning med <Div>

Indlæg af ThomasI » 17. apr 2013, 21:16

Hej med dig,

For det første så ville jeg lade være med at bruge divs til at indkrænse mine overskrifter. Lav hellere bare en div og brug så <h1> <h2> osv til overskrift...du kan så style den overskrift som du vil...

Og ja, hvis du bruger float vil dine divs ligge sig enten helt ude til højre eller venstre i din indholdsdiv og der vil så være mellemrum i midten hvis de indre divs ikke er store nok... Det kan ikke rigtig undgås andet end at give sætte with på de interne divs på en procentdel måske 20% på den ene og 80 % på den anden alt efter hvilken en der skal fylde mest...

Med hensyn til border så er der ikke andre måder at gøre det på (så vidt jeg ved). men SØRG FOR AT BRUGE ET STYLESHEET, istedet for inline...det bliver nok biks i længden hvis du skal ind på hver eneste side og rette i border...det kan gøre meget nemmere centralt via et stylesheet.

Helt generelt vil jeg anbefale dig at google "the box model css"... det er alfa omega at kende til den når du laver layout. :)

Bech
Begynder
Indlæg:22
Tilmeldt:4. feb 2013, 10:14

Re: Opbygning med <Div>

Indlæg af Bech » 17. apr 2013, 21:54

Tak for svar.

Den Div jeg har til den røde boks er min header, hvori jeg har en <p>. Ville du droppe Div'en og lave selve boksen med <h1> ?
Jeg har tideliger prøvet at lave den <p> i den røde boks som en <h1> i stedet, men det er som om den får en standard style jeg har svært ved at slippe af med.

Jeg laver også det hele i CSS, dette er mere som et eksempel for koden var nemmere at vise frem.

Jeg har endelig fået styr på alt mit layout og CSS til siden, syntes bare hurtig det kan blive lidt rodet og uoverskueligt derfor tænkte jeg om der var en nemmere måde.

Brugeravatar
ThomasI
Grundlægger
Grundlægger
Indlæg:1528
Tilmeldt:28. dec 2010, 10:49

Re: Opbygning med <Div>

Indlæg af ThomasI » 18. apr 2013, 18:01

Godt du har fået styr på det :) - divs kan være svære at arbejde med! ;)

Men ok, mente nu også mere de her grå divs du har hvor der også står "overskift" i...der ville jeg nok bare bruge <h1>... Men til din header skal du selvfølgelig bruge en div...

Besvar