Volledige versie bekijken : div centreren
marinostrus
%Europe/Berlin %457 %2007, 11:58
Hoe kan ik een div met vaste breedte van 500px centreren op een pagina?
alvast bedankt!
Lorrens
%Europe/Berlin %544 %2007, 14:04
html, body {
width: 100%:
}
#div {
width: 500px;
margin: 0 auto;
}
of kan ook zo:
html, body {
width: 100%:
}
#div {
width: 500px;
position: absolute;
left: 50%;
margin-left: -250px;
}
Ik zou voor de eerste optie gaan, maar met die andere kan je hem ook nog horizontaal centreren als je ook een vaste hoogte hebt, dus voor de compleetheid zet ik die er ook even bij ;)
marinostrus
%Europe/Berlin %638 %2007, 16:19
veel dank! :)
PHaNt
%Europe/Berlin %374 %2007, 09:59
Hallo Lorrens,
De eerste optie gebruikt ik momenteel ook, maar er zit een groot nadeel aan. Jouw voorbeeld gaat uit van een div van 500px breed. Nu zal het niet (snel) voorkomen dat iemand een resolutie hanteerd van minder dan 500 breed. Echter het aantal internetters met een reolutie van 800x600 neemt zo hard af dat het nu interessant is om 1024x768 als standaard te hanteren.
Stel dat de div 1000px breed is maar de bezoeker heeft een resolutie van 800x600 dan valt met methode 2 een deel van de site weg en hier kan niet naartoe gescrolled worden. Dit is gewoon echt weg.
Is er misschien ook een manier om dit op te vangen?
gtox
%Europe/Berlin %497 %2007, 12:55
hey, om iets te centreren is het enige wat je moet aanpassen, de breedte en hoogte van je flashfile/plaatje, want de rest heb ik al voor je gedaan.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Horizontaal en Verticaal gecentreerd</title>
<style type="text/css">
body {
background-image: url(gfx/menu/achtergrond-orangje.gif);
background-color: #000000;
}
div#container {
background-color: #fff;
width: 800px;
height: 500px;
margin:-250px 0 0 -400px;
position:absolute;
top:50%;
left:50%;
}
</style>
</head>
<body>
<body bgcolor="#ffffff" marginheight="0" marginwidth="0" leftmargin="0" topmargin="0">
<div id="container">
</div>
</body>
</html>
Voorbeeld 1
Hierboven zie je de code die je moet gebruiken, het enigste wat je moet aanpassen is:
width: 800px; // vul hier de breedte in
height: 500px; // vul hier de hoogte in
margin:-250px 0 0 -400px;
// margin = de 250 moet vervangen worden door de hoogte van je flashfilm : 2
// margin = de 400 moet vervangen worden door de breedte van je flashfilm : 2
Dus stel dat de hoogte 500 is dan doe je 500:2= 250 en dan vul je 250 in bij margin met een - ervoor zoals hieboven staat aangegeven.
Voorbeeld 2
Stel je filmpje is 800x600 dan wijzig je de cijfers in de html code naar:
width: 800px;
height: 600px;
margin:-300px 0 0 -400px;
--------------
Hopelijk heb je er wat aan ;)
PHaNt
%Europe/Berlin %505 %2007, 13:07
Wat jij zegt klopt, maar doordat je de hoogte en de breedte door 2 deelt, pakt de browser het absolute middelpunt van de website als midden van het browservernster. Dus als de afmetingen van het browservenster kleiner zijn dan de afmetingen van de flashpagina/website, dan vallen links en rechts en boven en onder delen van de website weg die niet meer zichtbaar kunnen worden gemaakt d.m.v. de scrollbalk.
Het is dus geen ideale oplossing. Wat die wel is weet ik ook niet, dus als iemand hier een oplossing voor weet hoor ik m graag!
josko
%Europe/Berlin %545 %2007, 14:06
Wat jij zegt klopt, maar doordat je de hoogte en de breedte door 2 deelt, pakt de browser het absolute middelpunt van de website als midden van het browservernster. Dus als de afmetingen van het browservenster kleiner zijn dan de afmetingen van de flashpagina/website, dan vallen links en rechts en boven en onder delen van de website weg die niet meer zichtbaar kunnen worden gemaakt d.m.v. de scrollbalk.
Het is dus geen ideale oplossing. Wat die wel is weet ik ook niet, dus als iemand hier een oplossing voor weet hoor ik m graag!
<script type="text/javascript">
var minWidth = 800;
var minHeight = 600;
var centerDiv = "container";
function removeCenter () {
if (screen.width < minWidth || screen.height < minHeight) {
centerDiv = document.getElementById (centerDiv);
centerDiv.style.position = "relative";
centerDiv.style.marginLeft = "0px";
centerDiv.style.marginTop = "0px";
centerDiv.style.top = "0px";
centerDiv.style.left = "0px";
}
}
window.onload = removeCenter;
</script>
Zoiets zou een manier zijn ? :)
--edit
(josko, doe niet zo moeilijk man, je had aan het werk gemoeten.. ik mag niet meer op flashfocus onder werktijd )
ik dus wel ;)
Lorrens
%Europe/Berlin %983 %2007, 00:36
Phant, hier heb je inderdaad gelijk. (josko, doe niet zo moeilijk man, je had aan het werk gemoeten.. ik mag niet meer op flashfocus onder werktijd ;))
Waarom zou je hiervoor geen min-width aan de body/html meegeven? of een width die iets groter is dan je breedte van je pagina. (dus bijvoorbeeld 1000px als je verwacht dat iedereen op 1024 of hoger zit).
Zo zou je dat heel goed op kunnen vangen.
Op het moment dat je trouwens zo te werk gaat, en zegt dat het nu zo snel gaat. 800x600 neemt inderdaad af, 1024 en hoger gaat omhoog, maar inmiddels is zo'n 5% van de schermen kleiner dan 400px breed: Handheld computers!!
Daar kan je een aparte css style voor meegeven (media="handheld" , google knows :)) Dan kan je bovenaan de pagina de optie kunnen geven om je site op handheld grootte (of iets anders) te zetten. www.nu.nl doet dat bijvoorbeeld :)
PHaNt
%Europe/Berlin %453 %2007, 11:52
Bedankt Josko en Lorrens! Ik begin met de optie van Lorrens omdat ik het liefst alles via css doe en zo min mogelijk javascript (kleine kennis issue...). En je hebt inderdaad gelijk dat het PDA gebruik ook rap aan het toenemen is. Bedankt ook voor je tip over media="handheld"!
Ik ga het uitproberen! Tnx!
art-graphic
%Europe/Berlin %823 %2007, 20:46
[?] Kan iemand mij helpen?
w3c geeft aan:
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.shcvermeuleedu.cursiste nnet.nl%2Findex.html&charset=%28detect+automatically%29&doctype=Inline&group=0
Mijn site:
http://www.shcvermeuleedu.cursistennet.nl/
De code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<link href="include/basic.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="container_02">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="900" height="550">
<param name="movie" value="fla/intro.swf" />
<param name="quality" value="high" />
<embed src="fla/intro.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="900" height="550"></embed>
</object>
<script type="text/javascript">
theObjects = document.getElementsByTagName("object");
for (var i = 0; i "<" theObjects.length; i++) {
theObjects[i].outerHTML = theObjects[i].outerHTML;
}</script>
</div>
</body>
</html>
art-graphic
%Europe/Berlin %826 %2007, 20:49
Mijn document is opzich wel correct, maar in verschillende browsers verspringt mijn container?
W3c geeft aan:
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.shcvermeuleedu.cursiste nnet.nl%2Findex.html&charset=%28detect+automatically%29&doctype=Inline&group=0
Mijn document:
http://www.shcvermeuleedu.cursistennet.nl/
De code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<link href="include/basic.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="container_02">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="900" height="550">
<param name="movie" value="fla/intro.swf" />
<param name="quality" value="high" />
<embed src="fla/intro.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="900" height="550"></embed>
</object>
<script type="text/javascript">
theObjects = document.getElementsByTagName("object");
for (var i = 0; i "<" theObjects.length; i++) {
theObjects[i].outerHTML = theObjects[i].outerHTML;
}</script>
</div>
</body>
</html>
Wie helpt mij uit de brand??
Gr's
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.