Har sökt en del i forumet och förstått att det är svårt att göra det? Är det bara svårt eller går det inte på ett vettigt sätt?
centrera div verticalt
11 svar · 422 visningar · startad av maqe
Testa med valign="middle"
Jag är inte säker, men det funkar i tabeller. Jag vet inte om det funkar i div, men du kan väl testa.
icaaq skrev:
http://www.456bereastreet.com/lab/centered/both/
mv icaaq
Detta fungerar ju skapligt men inte optimalt. Mitt mål är att skapa en centrerad sida med enbart divvar enligt standard. Sidan skall självklart växa i höjd om innehåll fylls på men fortfarande vara centrerad.
Kanske detta passar då?
Diven ändrar höjd efter innehållets storlek.
<HTML>
<HEAD>
<style type=text/css>
body {margin-left:18%; }
</style>
<script type="text/javascript">
//Input the IDs of the IFRAMES you wish to dynamically resize to match its content height:
//Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none:
var iframeids=["myframe"]
//Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended):
var iframehide="yes"
var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
var FFextraHeight=getFFVersion>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers
function resizeCaller() {
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++){
if (document.getElementById)
resizeIframe(iframeids[i])
//reveal iframe for lower end browsers? (see var above):
if ((document.all || document.getElementById) && iframehide=="no"){
var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
tempobj.style.display="block"
}
}
}
function resizeIframe(frameid){
var currentfr=document.getElementById(frameid)
if (currentfr && !window.opera){
currentfr.style.display="block"
if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight;
else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
currentfr.height = currentfr.Document.body.scrollHeight;
if (currentfr.addEventListener)
currentfr.addEventListener("load", readjustIframe, false)
else if (currentfr.attachEvent){
currentfr.detachEvent("onload", readjustIframe) // Bug fix line
currentfr.attachEvent("onload", readjustIframe)
}
}
}
function readjustIframe(loadevt) {
var crossevt=(window.event)? event : loadevt
var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
if (iframeroot)
resizeIframe(iframeroot.id);
}
function loadintoIframe(iframeid, url){
if (document.getElementById)
document.getElementById(iframeid).src=url
}
if (window.addEventListener)
window.addEventListener("load", resizeCaller, false)
else if (window.attachEvent)
window.attachEvent("onload", resizeCaller)
else
window.onload=resizeCaller
</script>
</HEAD>
<BODY>
<iframe id="myframe" src="div_som_ska_visas.htm" scrolling="no" marginwidth="0" marginheight="0" frameborder="1" vspace="0" hspace="0" style="overflow:visible; width:80%; display:none"></iframe>
</BODY>
</HTML>
maqe skrev:
Mitt mål är att skapa en centrerad sida med enbart divvar enligt standard. Sidan skall självklart växa i höjd om innehåll fylls på men fortfarande vara centrerad.
Det låter väldigt konstigt... Då skulle ju sidan hoppa upp och ner beroende på hur mycket innehåll det är när man bläddrar mellan olika sidor...
Att ha en sida på mitten vertikalt borde väl bygga på en fast höjd... Annars är det väl liksom ingen vits? Förklara!
I alla fall startade jag en tråd för ett tag sen om detta...
http://www.webforum.nu/showthread.php?s=&forumid=12&threadid=121953
Kanske inte någon optimal lösning för IEmac. Har inte kollat vidare - men ändå...
Tinwëlint skrev:
http://www.wpdfd.com/editorial/wpd0103.htm#toptip
ett tips enligt:
Detta känns som den bästa lösning tycker jag?
Nipon skrev:
maqe skrev:
Mitt mål är att skapa en centrerad sida med enbart divvar enligt standard. Sidan skall självklart växa i höjd om innehåll fylls på men fortfarande vara centrerad.
Det låter väldigt konstigt... Då skulle ju sidan hoppa upp och ner beroende på hur mycket innehåll det är när man bläddrar mellan olika sidor...
Att ha en sida på mitten vertikalt borde väl bygga på en fast höjd... Annars är det väl liksom ingen vits? Förklara!
I alla fall startade jag en tråd för ett tag sen om detta...
http://www.webforum.nu/showthread.php?s=&forumid=12&threadid=121953
Kanske inte någon optimal lösning för IEmac. Har inte kollat vidare - men ändå...
Jag vill inte ha siten enligt en fast höjd, jag vill ha den centrerade och att den ska växa med innehållet. Alltså ska avståndet uppåt, nedåt, höger och vänster vara lika stort hela tiden. Är väl inget konstigt med det?
Om du inte bryr dig om IE kan du göra såhär:
html { display:table; height:100%; margin:0 auto; }
body { display:table-cell; vertical-align:middle; }
:)
maqe skrev:
Jag vill inte ha siten enligt en fast höjd, jag vill ha den centrerade och att den ska växa med innehållet. Alltså ska avståndet uppåt, nedåt, höger och vänster vara lika stort hela tiden. Är väl inget konstigt med det?
Hmm! Är väl lite trögfattad... Tycker fortfarande att det verkar konstigt! Men bry dig inte om det. Det verkar ju som om du hittat lösningar på problemet! :)
Jag struntade i att ha siten centrerad. men jag tror att jag skulle uppnåt det jag ville genom att ha siten 100% hög men att sätta margin top och bottom till något vettigt värde. På så sätt blir ju sitens mittpunkt alltid i mitten av browsern tror jag :) ... aja denna tråd skulle kunna tas bort av admin igentligen