Publicidade
|
|
Page 1 of 1
Centralizar div na tela dinamicamente Tem como?
#1
Posted 05 June 2006 - 11:33 AM
Eu quero que quando o usuário clique no link o div vá para o centro da janela, e tem que funcionar tanto com a janela maximizada como não maximizada.
Esse exemplo não tá funcionando mas dá pra entender o que eu quero: EXEMPLO
Tem como fazer isso? Tem que ser dinâmico porque as coordenadas do centro da página podem variar dependendo de onde o cliente "está" dentro da página (por conta da barra de rolagem).
Valew galera!!
Esse exemplo não tá funcionando mas dá pra entender o que eu quero: EXEMPLO
Tem como fazer isso? Tem que ser dinâmico porque as coordenadas do centro da página podem variar dependendo de onde o cliente "está" dentro da página (por conta da barra de rolagem).
Valew galera!!
#2
Posted 05 June 2006 - 12:26 PM
Bart,
Caso seu div tenha um tamanho exato, você pode usar esse CSS:
<style type="text/css">
.imgpos {
position:absolute;
left:50%;
top:50%;
margin-left:-200px;
margin-top:-150px;
}
</style>
Nesse exemplo minha div tem o tamanho width: 400px e heigth: 300px, para que fique centralizado divida o tamanho da div por 2, no meu caso, 400/2 e 300/2 o resultado eu coloco em margin-left e margin-top porem com os valores negativos!
Qualquer duvida pergunte.
Caso seu div tenha um tamanho exato, você pode usar esse CSS:
<style type="text/css">
.imgpos {
position:absolute;
left:50%;
top:50%;
margin-left:-200px;
margin-top:-150px;
}
</style>
Nesse exemplo minha div tem o tamanho width: 400px e heigth: 300px, para que fique centralizado divida o tamanho da div por 2, no meu caso, 400/2 e 300/2 o resultado eu coloco em margin-left e margin-top porem com os valores negativos!
Qualquer duvida pergunte.
#3
Posted 05 June 2006 - 12:38 PM
O meu div até tem o tamanho fixo, mas do jeito que você falow se a página tiver 5000 pixels de altura o div vai ficar posicionado a 2500pixels do topo e não é isso que eu quero. Eu quero que o JS calcule o tamanho da área visível do browser e com base nesses dados descubra quais são as coordenadas X e Y do documento que coincidem com o centro desta área visível do browser.
Fiz o que você falow e ainda assim ñ funcionou.
Se você quiser dar uma olhada é só clicar no Linklink
Fiz o que você falow e ainda assim ñ funcionou.
CODE
(...)
<style type="text/css">
.MeuDiv {
position:absolute;
left:50%;
top:50%;
margin-left:-125px;
margin-top:-75px;
}
</style>
</head>
<body bgcolor="#CCCCCC">
<div id="MeuDiv" class="MeuDiv" style="position:absolute; width:250px; height:150px; background-color:#FFFFFF; border:#000000; text-align:center;">
<p>Quero que ao clicar o div se posicione exatamente no meio da tela (valendo tanto para o IE como para o FF) </p>
<p>Também tem que funcionar quando o usuário estiver lá no canto inferior direito desta página.</p>
</div>
(...)
<style type="text/css">
.MeuDiv {
position:absolute;
left:50%;
top:50%;
margin-left:-125px;
margin-top:-75px;
}
</style>
</head>
<body bgcolor="#CCCCCC">
<div id="MeuDiv" class="MeuDiv" style="position:absolute; width:250px; height:150px; background-color:#FFFFFF; border:#000000; text-align:center;">
<p>Quero que ao clicar o div se posicione exatamente no meio da tela (valendo tanto para o IE como para o FF) </p>
<p>Também tem que funcionar quando o usuário estiver lá no canto inferior direito desta página.</p>
</div>
(...)
Se você quiser dar uma olhada é só clicar no Linklink
#4
Posted 05 June 2006 - 03:53 PM
Bom... achei vários que acompanham a barra de rolagem.. mas que fique centralizado certinho no meio da tela.. ainda não... dê uma olhada nesse:
De repente dava pra ajudar esse junto com um CSS.... vê se ajuda
Se achar algo mais completo.. coloco aqui pra vc...
CODE
<!-- ONE STEP TO INSTALL FLOATING EMAIL-THIS-LINK:
1. Copy the coding into the BODY of your HTML document -->
<!-- STEP ONE: Paste this code into the BODY of your HTML document -->
<BODY>
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- Original: CodeLifter -->
<!-- Web Site: http://www.codelifter.com/ -->
<!-- Begin FloatMail Code //-->
<script>
/* Floating Mail-This-Link Script C.2004 by CodeLifter.com */
// Insert the entire script just before the </body> tag.
// Set the following two position parameters
// Negative numbers are relative to right (hX) or bottom (vY)
// Positive numbers are relative to left (hX) or (vY) top
// Experiment with values to get positioning exact, and allow
// for the dimensions of the image & form in the positioning
var hX = 340;
var vY = -140;
</script>
<!-- Edit the HTML between the div tags to suit your design //-->
<div id="FloatMail" style="position: absolute;
background-color: #000000;
background-image:url('float_dots.gif');
width: 180px;
border-width: 2;
border-style:outset;
border-color:#444444;
padding:5px">
<center>
<form name="eMailer">
<font size="2" face="Verdana,Arial" color="#ff0056">
E-Mail This Link
<br>
Enter recipient's e-mail:
</font>
<br>
<input type="text" name="address" size="20"
style="background-color:#000000;
color:#05fa9e;
border-color:#ff0000;
border-width:1;
border-style:dashed;
margin-top:7px;"><br>
<input type="button" value="Send this URL" onClick="mailThisUrl();"
style="color:#ff0057;
font-family:Arial;
font-size:10pt;
background-color:#000000;
border-width:1;
border-style:solid;
border-color:#242424;
margin-top:7px;">
</form>
</center>
</div>
<!-- End of editable HTML //-->
<script>
/* Floating Mail-This-Link Script C.2004 by CodeLifter.com */
/* Caution! Do not allow linebreaks other than where shown */
var good;function checkEmailAddress(field){
var goodEmail=field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);
if (goodEmail){good = true}else{alert('Please enter a valid e-mail address.');
field.focus();field.select();good=false;}}
u=window.location;m="I thought this might interest you...";
function mailThisUrl(){good=false;
checkEmailAddress(document.eMailer.address);
if (good){window.location="mailto:"+document.eMailer.address.value+"?subject="+m+"&body="+document.title+" "+u;}}
var nn=(navigator.appName.indexOf("Netscape")!=-1);
var dD=document,dH=dD.html,dB=dD.body,px=dD.layers?'':'px';
function floatMail(iX,iY,id){
var L=dD.getElementById?dD.getElementById(id):dD.all?dD.all[id]:dD.layers[id];
this[id+'O']=L;if(dD.layers)L.style=L;L.nX=L.iX=iX;L.nY=L.iY=iY;
L.P=function(x,y){this.style.left=x+px;this.style.top=y+px;};L.Fm=function(){var pX, pY;
pX=(this.iX >=0)?0:nn?innerWidth:nn&&dH.clientWidth?dH.clientWidth:dB.clientWidth;
pY=nn?pageYOffset:nn&&dH.scrollTop?dH.scrollTop:dB.scrollTop;
if(this.iY<0)pY+=nn?innerHeight:nn&&dH.clientHeight?dH.clientHeight:dB.clientHeight;
this.nX+=.1*(pX+this.iX-this.nX);this.nY+=.1*(pY+this.iY-this.nY);this.P(this.nX,this.nY);
setTimeout(this.id+'O.Fm()',33);};
return L;}
floatMail(hX,vY,'FloatMail').Fm();
</script>
<!-- End FloatMail Code //-->
<p><center>
<font face="arial, helvetica" size"-2">Free JavaScripts provided<br>
by <a href="http://javascriptsource.com">The JavaScript Source</a></font>
</center><p>
<!-- Script Size: 3.76 KB -->
1. Copy the coding into the BODY of your HTML document -->
<!-- STEP ONE: Paste this code into the BODY of your HTML document -->
<BODY>
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- Original: CodeLifter -->
<!-- Web Site: http://www.codelifter.com/ -->
<!-- Begin FloatMail Code //-->
<script>
/* Floating Mail-This-Link Script C.2004 by CodeLifter.com */
// Insert the entire script just before the </body> tag.
// Set the following two position parameters
// Negative numbers are relative to right (hX) or bottom (vY)
// Positive numbers are relative to left (hX) or (vY) top
// Experiment with values to get positioning exact, and allow
// for the dimensions of the image & form in the positioning
var hX = 340;
var vY = -140;
</script>
<!-- Edit the HTML between the div tags to suit your design //-->
<div id="FloatMail" style="position: absolute;
background-color: #000000;
background-image:url('float_dots.gif');
width: 180px;
border-width: 2;
border-style:outset;
border-color:#444444;
padding:5px">
<center>
<form name="eMailer">
<font size="2" face="Verdana,Arial" color="#ff0056">
E-Mail This Link
<br>
Enter recipient's e-mail:
</font>
<br>
<input type="text" name="address" size="20"
style="background-color:#000000;
color:#05fa9e;
border-color:#ff0000;
border-width:1;
border-style:dashed;
margin-top:7px;"><br>
<input type="button" value="Send this URL" onClick="mailThisUrl();"
style="color:#ff0057;
font-family:Arial;
font-size:10pt;
background-color:#000000;
border-width:1;
border-style:solid;
border-color:#242424;
margin-top:7px;">
</form>
</center>
</div>
<!-- End of editable HTML //-->
<script>
/* Floating Mail-This-Link Script C.2004 by CodeLifter.com */
/* Caution! Do not allow linebreaks other than where shown */
var good;function checkEmailAddress(field){
var goodEmail=field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);
if (goodEmail){good = true}else{alert('Please enter a valid e-mail address.');
field.focus();field.select();good=false;}}
u=window.location;m="I thought this might interest you...";
function mailThisUrl(){good=false;
checkEmailAddress(document.eMailer.address);
if (good){window.location="mailto:"+document.eMailer.address.value+"?subject="+m+"&body="+document.title+" "+u;}}
var nn=(navigator.appName.indexOf("Netscape")!=-1);
var dD=document,dH=dD.html,dB=dD.body,px=dD.layers?'':'px';
function floatMail(iX,iY,id){
var L=dD.getElementById?dD.getElementById(id):dD.all?dD.all[id]:dD.layers[id];
this[id+'O']=L;if(dD.layers)L.style=L;L.nX=L.iX=iX;L.nY=L.iY=iY;
L.P=function(x,y){this.style.left=x+px;this.style.top=y+px;};L.Fm=function(){var pX, pY;
pX=(this.iX >=0)?0:nn?innerWidth:nn&&dH.clientWidth?dH.clientWidth:dB.clientWidth;
pY=nn?pageYOffset:nn&&dH.scrollTop?dH.scrollTop:dB.scrollTop;
if(this.iY<0)pY+=nn?innerHeight:nn&&dH.clientHeight?dH.clientHeight:dB.clientHeight;
this.nX+=.1*(pX+this.iX-this.nX);this.nY+=.1*(pY+this.iY-this.nY);this.P(this.nX,this.nY);
setTimeout(this.id+'O.Fm()',33);};
return L;}
floatMail(hX,vY,'FloatMail').Fm();
</script>
<!-- End FloatMail Code //-->
<p><center>
<font face="arial, helvetica" size"-2">Free JavaScripts provided<br>
by <a href="http://javascriptsource.com">The JavaScript Source</a></font>
</center><p>
<!-- Script Size: 3.76 KB -->
De repente dava pra ajudar esse junto com um CSS.... vê se ajuda
Se achar algo mais completo.. coloco aqui pra vc...
#5
Posted 05 June 2006 - 07:15 PM
Pôxa... não funcionou.
Mesmo assim valew.
Tô quase desistindo dessa solução... mas o que me indigna mais é que eu tenho certeza de que dá pra fazer. SÓ NÃO SEI COMO (rs)
Mesmo assim valew.
Tô quase desistindo dessa solução... mas o que me indigna mais é que eu tenho certeza de que dá pra fazer. SÓ NÃO SEI COMO (rs)
#6
Posted 05 June 2006 - 10:59 PM
cara, vou dar uma olhada em casa depois pra vc.
entendi agora oq vc ker fazer, sorry
com css apenas nao da! quer dizer, da pra usar position fixed mas só rola no FF e o IE nao suporta -.-
entao vai ter que usar uma funciton em js
amanha posto pra vc se encontrar ou mando por mp.
entendi agora oq vc ker fazer, sorry
com css apenas nao da! quer dizer, da pra usar position fixed mas só rola no FF e o IE nao suporta -.-
entao vai ter que usar uma funciton em js
amanha posto pra vc se encontrar ou mando por mp.
#8
Posted 07 June 2006 - 12:57 PM
Teste ai.
| JavaScript |
<style type="text/css"> |
#9
Posted 07 June 2006 - 02:00 PM
Opa!
Salve pcsilva, meu mega professor de cfml!
Bem, a questão do Bart é refletir no IE o que o atributo FIXED proporciona no FF.
Apenas com CSS é simples fazer no FF, mas no IE é necessario o auxilio do JavaScript.
Bart, sobre isso encontrei algo muito bom aqui para nós. Da uma olhada
http://web.tampabay.rr.com/bmerkey/example...tion-fixed.html
Agora creio que seu problema será solucionado com isso.
Ah, muitos links sobre isso, da uma olhada também em:
http://www.google.com.br/search?q=position+fixed+IE&hl=pt-BR
Abraços.
Salve pcsilva, meu mega professor de cfml!
Bem, a questão do Bart é refletir no IE o que o atributo FIXED proporciona no FF.
Apenas com CSS é simples fazer no FF, mas no IE é necessario o auxilio do JavaScript.
Bart, sobre isso encontrei algo muito bom aqui para nós. Da uma olhada
http://web.tampabay.rr.com/bmerkey/example...tion-fixed.html
Agora creio que seu problema será solucionado com isso.
Ah, muitos links sobre isso, da uma olhada também em:
http://www.google.com.br/search?q=position+fixed+IE&hl=pt-BR
Abraços.
#10
Posted 07 June 2006 - 02:12 PM
E ai blz!?
acho que assim fica legal.
acho que assim fica legal.
| ActionScript |
|
#11
Posted 07 June 2006 - 02:14 PM
Opa.
Enfim, creio que mais que solucionado.
Agora basta implementar Bart.
Enfim, creio que mais que solucionado.
Agora basta implementar Bart.
Share this topic:
Page 1 of 1
Similar Topics
| Topic | Forum | Started By | Stats | Last Post Info | |
|---|---|---|---|---|---|
|
Galaxy S 4 agrada com tela mais nítida e novas capacidades
|
Notícias |
Notícias
|
|
|
|
Centralizar animação(.exe)..
como eu faço? |
Flash & ActionScript |
djcontel
|
|
|
|
4 Videos numa unica Tela
|
Flash & ActionScript |
WilsonJF
|
|
|
|
Brasil tem opções de DVDs de alta definição, mas preço ainda é alto
|
Notícias |
Notícias
|
|
|
|
Google e Sun Microsystem juntas
IDG Now! - Mercado |
Notícias |
TiTi Celestino
|
|
|
|
Transparencia
nao sei se tem mas |
Fireworks |
HoMeR
|
|
|
|
Vídeo ironiza Apple e faz com que Steve Jobs e Bill Gates lutem com espadas de sabre de luz
|
Notícias |
Notícias
|
|
|
|
Tuiteiros famosos transmitem Carnaval pelo microblog
|
Notícias |
Notícias
|
|
Publicidade
|
|

Help













