vraagje layhout css

Status
Niet open voor verdere reacties.

webdev

Gebruiker
Lid geworden
29 jul 2011
Berichten
67
Hallo forumleden
ik heb dit nu:

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

<head>

<title>title</title>
<link rel="stylesheet" href="./css/algemeen.css" type="text/css">

</head>

<body>
<div id=maincontainer">

<div id="footer">

</div>

<div id="navigatie">
<ul>
<li><a href="#">home</a></li>
<li><a href="#">menu1</a></li>
<li><a href="#">menu2</a></li>
<li><a href="#">menu3</a></li>
<li><a href="#">menu4</a></li>
<li><a href="#">menu5</a></li>
</ul>
</div>

<div id="content">

</div>

</div>
</body>
</html>

en css:
body {
background : rgb(0,0,0); /*de gehele achter grond van de webpagina is zwart */
padding : 0px;
margin : 0px;
line-height : 120%; /* lijn afstand tussen regels */
}

#maincontainer {
width : 1024px; /* hele pagina met een breedte van 1024 px */
margin : 0 auto;
}

#footer {
width : 80%;
height : 100px;
margin : 30px 10% 0 10%;
padding : 0;
background : rgb(64,219,55);
}


#navigatie {
list-style-type : none; /* bullets weg */
font-family : verdana, Helvetica, Arial, sans-serif; /* lettertypen van het menu */
font-size : 14px; /* lettergrootte van het menu */
font-weight : bold; /* dik gedrukte tekst */
width : 80%; /* het menu met een lengte van 600px */
list-style : none; /* bullets weg */
margin : 0px 0px 0px 10%;
padding : 0;

}
#navigatie ul li {
list-style-type : none; /* bullets weg */
float : left; /* elk deeltje naast elkaar */
width : 16%; /* elk deeltje met een breedte van 100px */
background : rgb(197,202,211); /*achtergrond kleur van het menu*/
text-align : center;
border : 1px solid rgb(255,255,255); /* streepjes tussen elk deeltje
van het menu */
margin : 0px;
}

#navigatie ul li a {
color : rgb(0,0,0); /*letter kleur menu*/
text-decoration : none; /*onderstreping weg*/
display : block;
padding : 5px 0px 5px 0px; /*padding*/
}

#navigatie ul li a:hover {
background : rgb(109,121,143); /* het iets donker der worden als muis er over heen gaat */
}

#content {
background : rgb(255,255,255); /*content achter grond wit*/
width : 80%;
height : 1000px;
color : black;
margin : 400px 10% 0px 10%;
}

en ik wil het graag zo als het in de bijlage er uit ziet. Volgensmij heb ik dat gedaan maar het resultaat is niet wat ik wil.

grtz
 

Bijlagen

  • layout.png
    layout.png
    23,3 KB · Weergaven: 47
Zou je een voorbeeld willen geven zoals hij nu is?

Offtopic: Het is lay-out, geen layhout :p
 
zo ziet het er nu uit:
 

Bijlagen

  • v oorforum2.png
    v oorforum2.png
    28,8 KB · Weergaven: 27
Hoi webdev,
Dit was de bedoeling:
webdev-opzet.gif

Dit was 'm tot dusverre: www.developerscorner.nl/csshunter/tests/webdev-ori.htm
En zo zou het kunnen worden: www.developerscorner.nl/csshunter/tests/webdev-nw.htm
Zie de broncode voor toelichting.
Nog wat tips:
  • In de <head> altijd een <meta> element met de "charset" opgeven; het beste is "utf-8". Hiermee weten de browsers hoe de erna volgende code als tekens geïnterpreteerd moet worden.
  • Als je een vaste breedte in px hebt, kan je alle "binnen-breedtes" op het beste ook opgeven in px, en niet in %; dan kan je nooit afrondingsverschillen krijgen (met soms 1px verschil in breedte).
  • Alle block-elementen zoals <div>'s en <p>'s vullen altijd automatisch de hele beschikbare breedte van het omringende element op, en hoeven dus geen opgegeven breedte te krijgen.
  • De <ul>'s en de <li>'s moeten altijd een {margin:0; padding:0;} krijgen voor een rijtje zonder bullets (of een andere opgegeven waarde), want zonder opgegeven waarden doen browsers hun eigen zin.
  • Hetzelfde geldt voor de <h1>, <h2>, ... enz. en de <p>: ook altijd alle margins en paddings opgeven.
  • Elementen met een "float" ontsnappen aan de hoogte die ze innemen; om eronder te beginnen moet er een "clear" worden toegevoegd.
Succes!

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
broncode is heel duidelijk!
nog maals bedankt @csshunter !!
 
ik snp alleen dit gedeelte niet:
#header {
height : 100px;
background : rgb(64,219,55);
padding: 0 20px;

alleen de header zit net als alle andere in het midden en de hele pagina is meer dan 800 px groot??
 
Hoi webdev,
Ja, de groene #header is 877px breed, evenals de <body> (die ook de de breedte van het witte #content-gedeelte bepaalt).
Dan past de pagina nog ruimschoots op een beeldscherm van 1024*768px. Links en rechts zitten dan zwarte kolommen van ongeveer 65px breed.

In feite maak je van de <body> een "middelste kolom", waar alles wat in de <body> zit dan in gedwongen wordt.

Maar je kan de pagina ook smaller of breder maken, dan moet de berekening even opnieuw (omdat dan de menu-items ook smaller/breder moeten worden om er op te passen).

Bij breder: maximaal 990px om nog op 1024*768px te passen, want de ruimte voor de rechterscrollbar is ongeveer 20px à 25px breed (hangt van de browser af), en dan heb je nog een klein beetje speling.
 
Laatst bewerkt:
HUH
ik heb letterlijk de broncode gekopierd maar toch krijg ik iets anders
ik zal even plaatje maken
 
zo krijg ik het dan:
 

Bijlagen

  • Knipselhelpmij.PNG
    Knipselhelpmij.PNG
    49,3 KB · Weergaven: 18
ziet het er zo uit
 

Bijlagen

  • Knipsel12343.PNG
    Knipsel12343.PNG
    14,9 KB · Weergaven: 13
en nog een vraagje; als ik over de hele achter grond wat nu zwart is een afbeelding wil (gemaakt met photoshop) welke afmetingen moet ik dan doen?
 
Ha, dat zijn er een heleboel! :)
Over Chrome: die snap ik niet. Bij mij ziet ie er gewoon volgens plan uit: screenshot Chrome.

Foto's/afbeeldingen op de achtergrond zijn altijd een moeilijke zaak, dat hangt van heel veel factoren af. De breedte moet in elk geval veel breder zijn dan de 877px, want dat is de breedte van het middendeel, en de zwarte zijkanten zitten daar juist naast!

Maar erg veel van een foto/afbeelding kan je ook weer niet te zien krijgen; dat hangt van de schermgrootte (resolutie) van de bezoeker af.
Neem deze op zich mooie foto van 1410x1000px: costa1410x1000.jpg

costa300x213.jpg
  • Ingemonteerd op de pagina wordt dat: webdev-bg-foto.htm
  • Bij een resolutie van 1024x768px ziet een bezoeker daar maar een paar hele kleine strookjes van:

    webdev-1024x768screen.png

  • En bij een resolutie van 1280x1024px ziet een bezoeker daar er maar iets meer van:

    webdev-1280x1024screen.png

  • Verder is ook de hoogte van belang. Als de pagina bijvoorbeeld nogal hoog is, dan stopt de foto terwijl de pagina nog doorgaat: webdev-bg-foto2.htm.
  • Daar moet je dan ook iets op verzinnen, bijvoorbeeld de foto zich verticaal laten herhalen (maar vaak sluit de bovenkant niet mooi op de onderkant aan), of de onderkant van de foto een verlooptint geven naar de vaste achtergrondkleur.
Vaak is het veel makkelijker een neutrale achtergrondkleur aan de zijkanten te zetten, of een achtergrond-figuur die zichzelf kan herhalen, zoals deze:

webdev-bg-fig.png

Daarmee komt de pagina er dan zo uit te zien: webdev-bg-fig.htm.

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
Ja ik was ook al niet echt een Plaatje van plan maar gewoon een kleuren afbeelding gemaakt met photoshop. Bedankt voor het duidelijke antwoord, maar met zo'n kleuren achtergrond maakt het opzich toch niet uit of er een klein strookje te zien is of een grote? En stel dat ik een hele lange pagina maak, moet ik dan gewoon dezelfde kleuren afbeelding opnieuw maken in Photoshop met de juiste hoogte?
 
met zo'n kleuren achtergrond maakt het op zich toch niet uit of er een klein strookje te zien is of een grote?
Nee hoor, dat geeft niet. Het zou alleen zonde van de moeite zijn, als je veel tijd zou steken in een prachtige afbeelding, waarvan uiteindelijk maar minimaal iets te zien valt.

=====
stel dat ik een hele lange pagina maak, moet ik dan gewoon dezelfde kleuren afbeelding opnieuw maken in Photoshop met de juiste hoogte?
Zou kunnen (en dan kan je de grote afbeelding ook als background-img voor de minder hoge pagina's gebruiken), maar meestal weet je niet tevoren hoe hoog een pagina later zal worden. Ook: als je een loeigrote afbeelding maakt voor de hoogte, zal het aantal kB's ook loeigroot worden.
Het handigste is vaak om een afbeelding te maken waarvan de onderkant aansluit op de bovenkant. Dan kunnen ze met een "repeat-y" automatisch onder elkaar gezet worden. Dan sluiten ze naadloos aan, net zoveel als nodig is voor de hoogte van de pagina. En ze hoeven niet geweldig hoog te zijn: prettig voor de download-snelheid van je pagina!
Voorbeeld:
  • Op deze pagina is de achtergrond-afbeelding maar 300px hoog (en maar 2px breed): kijk. Dit plaatje wordt zowel horizontaal als verticaal automatisch herhaald, en is nog niet eens 1kB groot.
Ook een mogelijkheid is, om de achtergrond vast te zetten, zodat deze niet mee-scrollt met de pagina. Dat wordt geregeld met de css-opdracht "fixed" (en is ook op bovenstaande voorbeeld-pagina toegepast). Dan hoeft de achtergrond maar zo hoog te worden als het hoogste beeldscherm-formaat waar je rekening mee wilt houden.
  • Maar de beeldschermen voor desktops worden wel steeds groter! Dus met een herhaling, of met onderop een overvloeier naar een vaste achtergrondkleur loop je nooit risico.
Met vriendelijke groet,
CSShunter
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan