Avatar billede dta Nybegynder
12. oktober 2006 - 09:46 Der er 2 kommentarer og
1 løsning

Perfect stylesheet

Jeg har problemer med at få følgende stylesheet til at virke i alle browser. Jeg har et content felt hvori jeg ønsker at kunne lave 1 kollone eller 2 kolonner, men når jeg gør dette respektere den ikke bredden af content feltet i nogle browser, men bliver skærmbredden is tedet for.

Hvad gør jeg galt, hvordan ser det perfekte stylesheet ud?

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<head>
<style type="text/css">
    body {   
    font-family: Arial, Helvetica, sans-serif;
    color: #000000;
    font-size: 10pt;
    margin: 0px;
    padding:0px;
    background-color: #357386;
    }
   

#level0 {
    background: #0c0c0c; */#357386;*/
    padding:5px;
    widtth: 100%;
    }
#level2 {
      margin-left:150px;
    padding:0px;
    background:#FFF3AC;}
   
.oneColumn {
    float: left;
    padding: 5px;
    width: 82%;
    Margin: 5px;
    margin-right: 18%;
    background:#FFF;
    * Again, the ugly brilliant hack. */
    voice-family: "\"}\"";
    voice-family:inherit;
    wirdth: 98%;
    Mdargin-top: - 2px;
    }
    /* Again, "be nice to Opera 5". */
body>.oneColumn{
    width: 98%;
    Madrgin-top:1px;
    }
   
    .twoColumn {
    padding: 5px;
    float: left;
    width: 48%;
    Margin: 5px;
    background:#FFF;
    /* Again, the ugly brilliant hack. */
    voice-family: "\"}\"";
    voice-family:inherit;
    width: 48%;
    Mdargin-top: - 2px;
    }
    /* Again, "be nice to Opera 5". */
body>.twoColumn {
    width: 48%;
    Madrgin-top:1px;
    }
#pageleft {
    position:absolute;
    left: 5px;
    width: 140px;
    top: 5px;
    Margin-left: 2px;
    /* Again, the ugly brilliant hack. */
    voice-family: "\"}\"";
    voice-family:inherit;
    weidth:135px;
    Mdargin-top: - 2px;
    }
    /* Again, "be nice to Opera 5". */
body>#pageleft {
    wideth:135px;
    Madrgin-top:1px;
    }
   
.leftbox, .logo {
    position:relative;
    border-left-color: #215064;
    border-right-color: #7AA8BC;
    border-top-color: #215064;
    border-bottom-color: #7AA8BC;
    border-style: solid;
    border-width: 1px;
    padding: 1px 4px;
    width: 100%;
    background-color: #F6F6F6;
    Margin-top: 0px;
    font-size: 8pt;
    color: #000000;
    }
   
.logo {
        padding: 0px;
            width: 100%;
            background-color: #FFFFFF;
   
    }
</style>
<title><ThisTitle></title>
</head>
<body>

<div id="level0">
<div id="pageleft">
<div class="Logo">
    logo<br/>
</div>
<div class="leftbox">
Hello
</div>
<div class="leftbox">
Hello 2
</div>
</div>
        <div id="level2">
        <div class="oneColumn">
        One Column
        </div>
        <div style="clear:both;"></div>
        <div class="twoColumn">
        1/2 Column
        </div>
                <div class="twoColumn">
        2/2 Column
        </div>
        <div style="clear:both;"></div>
        </div>

</div>

<span class="copyright"><a href="DK_talktous.asp">Kommentar</a>&nbsp;
|&nbsp;&nbsp;<a href="DK_talktous.asp">Anmeld snyd</a>&nbsp;
|&nbsp;&nbsp;<a href="DK_rules.asp#regler">Regler</a>
</span><br/>
<span class="copyright">© Copyright 2006</span>
<br/><br/>
</body>
Avatar billede notes2c Nybegynder
12. oktober 2006 - 12:03 #1
For det første skal du fjerne <?xml version="1.0" encoding="iso-8859-1"?> for den gør at IE går i quirkmode...

Og så skal du nok lige rette på bredden på dine elementer, for den vil ændre sig (boxmodel problematik)

Men herefter skulle der være muligheder.
Avatar billede dta Nybegynder
13. oktober 2006 - 09:56 #2
Det største problem er kollonerne ikke får deres breede fra content feltet men fra skærmbredden/body, nogen workaround?
Avatar billede notes2c Nybegynder
13. oktober 2006 - 14:48 #3
Lyder mærkeligt i mine øre. Elementer får deres bredde fra det omkrændsende element "body" og denne skal have en bredde sansynligvis 100%. Og så er du nødt til at vælge om du benytter % eller px angivelser. For hvis du blander dem får du problemer. Kan heller lige ikke se om du har flere rækker. Så faktum er, for at få det til at virke skal det omkrændsende elements bredde være kendt. Ellers er du ude i at skulle i at justere bredden via javascript. Jeg ville nok løse det på følgende måde...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<title>Untitled</title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
html, body {
    width: 100%;
    height: 98% !important;
    height: 97%;
}
body {
    margin: 0;
    padding: 0;
}
#left {
    width: 20%;
    background: lightblue;
    float: left;
    height: 100%;
}
#content {
    float: left;
    width: 80%;
    background: lightgreen;
    height: 100%;
}
#footer {
    clear: both;
    width: 100%;
    background: red;
}
.row {
    clear: both;
    padding: 5px;
}
.onecol {
    float: left;
    background: white;
    width: 100%;
}
.twocol {
    float: left;
    background: white;
    width: 49.5%;
}
.colspace {
    float: left;
    width: 1%;
}
-->
</style>
<script type="text/javascript">
</script>
</head>

<body>
<div id="left">left<br>
<div class="row"><div class="onecol">One column</div></div>
<div class="row"><div class="onecol">One column</div></div>
</div>
<div id="content">content<br>
<div class="row"><div class="onecol">One column</div></div>
<div class="row"><div class="twocol">One of two column</div><div class="colspace">&nbsp;</div><div class="twocol">One of two column</div></div>
<div class="row"><div class="onecol">One column</div></div>
</div>
<div id="footer">footer</div>


</body>
</html>
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