Comunidad de diseño web y desarrollo en internet online

DIV con scroll interactivo

Citar            
MensajeEscrito el 11 Jun 2011 03:23 pm
Hola a Tod@s. Este es mi primer post en el foro y pido disculpas si alguien ya planteó antes algo parecido, pero es que me urge encontrar la solución y no doy con ella, así que gracias a tod@s por adelantado.
Mi problema consiste en la necesidad de montar un DIV con scoll vertical, pero en el cual solo debe mostrarse la barra de desplazamiento cuando el cursos esté encima del mismo.
El código que os adjunto hace eso en parte, pero el problema es que no consiguo que al aparecer por primera vez en el navegador la barra no aparezca. Una vez cargado, si pasamos por encima o salimos la barra de desplazamiento si aparece/desaparece. Per no logor que la dichos barra no aparezca al principio.
Alguna sugerencia? Mil gracias.

--- Codigo ---

<html><head><title>Scroll interactivo</title>

<style type="text/css">
body {
margin:6px;
padding:0px;
}
div {
width:250px;
height:100px;
overflow:hidden;
background-color:#9FF;
}
.activo
{
overflow:auto;
overflow-y:visible;
}
.inactivo
{
overflow:hidden;
overflow-y:hidden;
}
</style></head><body>

<div class="activo" onMouseOver="this.className='activo'" onMouseOut="this.className='inactivo'">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum malesuada, dolor a molestie porttitor, nulla sapien ultricies lacus, at faucibus odio elit sit amet nunc. In sed risus ac eros molestie luctus sed vel est. Mauris consequat enim sit amet turpis pharetra scelerisque. Quisque varius molestie eros, vel varius nisi mollis eget. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Phasellus interdum, lorem at semper consectetur, tellus lorem ultricies turpis, et rhoncus sapien nunc in diam. Vivamus a auctor orci. Praesent tortor magna, laoreet eu aliquet vel, placerat vel ipsum. Nullam cursus, ligula vel blandit egestas, tortor nisl vulputate elit, ut viverra libero velit viverra lacus. Donec scelerisque sodales volutpat. Nunc consectetur, mauris at ultricies sodales, orci leo bibendum ipsum, at aliquet tellus lacus vitae erat. Vivamus arcu risus, rhoncus eget tempor vel, viverra eget nibh. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin tristique ligula a sem condimentum eleifend.<br>LOREM IPSUM<br></div>

</body></html>

--- Fin código ---

Por Fsc.Xavier

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Jun 2011 03:49 pm
Te has ahogado en un vaso de agua :D.

Código HTML :

<html><head><title>Scroll interactivo</title>

<style type="text/css">
body {
 margin:6px;
 padding:0px;
}
div.magic {
 width:250px;
 height:100px;
 overflow:hidden;
 background-color:#9FF;
}
div.magic:hover {
 overflow:auto;
 overflow-y:visible;
}

</style></head><body>

<div class="magic">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum malesuada, dolor a molestie porttitor, nulla sapien ultricies lacus, at faucibus odio elit sit amet nunc. In sed risus ac eros molestie luctus sed vel est. Mauris consequat enim sit amet turpis pharetra scelerisque. Quisque varius molestie eros, vel varius nisi mollis eget. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Phasellus interdum, lorem at semper consectetur, tellus lorem ultricies turpis, et rhoncus sapien nunc in diam. Vivamus a auctor orci. Praesent tortor magna, laoreet eu aliquet vel, placerat vel ipsum. Nullam cursus, ligula vel blandit egestas, tortor nisl vulputate elit, ut viverra libero velit viverra lacus. Donec scelerisque sodales volutpat. Nunc consectetur, mauris at ultricies sodales, orci leo bibendum ipsum, at aliquet tellus lacus vitae erat. Vivamus arcu risus, rhoncus eget tempor vel, viverra eget nibh. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin tristique ligula a sem condimentum eleifend.<br>LOREM IPSUM<br></div>

</body></html>

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 12 Jun 2011 05:53 am
Como dice DriverOp, el truco esta en usar overflow:hidden como el estilo predeterminado y luego cambiarlo a overflow:auto cuando estes en el estado :hover.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

chrome
Citar            
MensajeEscrito el 12 Jun 2011 07:47 am
Gracias antetodo por la rapidez de vuestra ayuda. Ya dice el dicho que "cuatro ojos ven mas que dos" y mas si uno se agobia...
Ahora si que funciona... pero... siempre hay un pero verdad? Lo veo bien en Firefox, Chrome y Opera, pero como no iba a ser menos... no veo el scroll en Explorer.
¿Porque?

Por Fsc.Xavier

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Jun 2011 04:37 pm
Pon el codigo en internet y podremos ver que pasa.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

chrome
Citar            
MensajeEscrito el 12 Jun 2011 05:50 pm
El codigo es el mismo que me ha ofrecido DriverOp. Pero para que no haya dudas aqui lo pongo de nuevo:

--- codigo ---

<html><head><title>Scroll interactivo</title>

<style type="text/css">
body {
margin:6px;
padding:0px;
}
div.magic {
width:250px;
height:100px;
overflow:hidden;
background-color:#9FF;
}
div.magic:hover {
overflow:auto;
overflow-y:visible;
}

</style></head><body>

<div class="magic">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum malesuada, dolor a molestie porttitor, nulla sapien ultricies lacus, at faucibus odio elit sit amet nunc. In sed risus ac eros molestie luctus sed vel est. Mauris consequat enim sit amet turpis pharetra scelerisque. Quisque varius molestie eros, vel varius nisi mollis eget. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Phasellus interdum, lorem at semper consectetur, tellus lorem ultricies turpis, et rhoncus sapien nunc in diam. Vivamus a auctor orci. Praesent tortor magna, laoreet eu aliquet vel, placerat vel ipsum. Nullam cursus, ligula vel blandit egestas, tortor nisl vulputate elit, ut viverra libero velit viverra lacus. Donec scelerisque sodales volutpat. Nunc consectetur, mauris at ultricies sodales, orci leo bibendum ipsum, at aliquet tellus lacus vitae erat. Vivamus arcu risus, rhoncus eget tempor vel, viverra eget nibh. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin tristique ligula a sem condimentum eleifend.<br>LOREM IPSUM<br></div>

</body></html>

--- fin codigo ---

Como digo en Firefox, Opera y Chrome va de fábula, pero en Explorer ni aparece la barra ni se mueve ni nada de nada... gracias por vuestra paciencia con este torpe...

Por Fsc.Xavier

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Jun 2011 07:11 pm
Vas a pensar que IE está loco...

Antes del tag <html> pon esto:

Código :

<!doctype html>

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 12 Jun 2011 08:34 pm
lol, estaba en quirksmode.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

chrome
Citar            
MensajeEscrito el 13 Jun 2011 11:07 pm
Un millón de gracias... ahora si funciona...

Ha sido una torpeza mia, o es una más de las miles de "rarezas" del iE?

Un abrazo.

Por Fsc.Xavier

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jun 2011 11:21 pm
Torpeza, para hacer que todos los navegadores funcionen correctamente tienes que usar un "doctype", que es la linea de codigo que tiene que estar al inicio de la pagina, no puede haber ni un solo espacio o enters adelante.

http://www.w3schools.com/tags/tag_doctype.asp

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

chrome
Citar            
MensajeEscrito el 14 Jun 2011 09:10 am
Gracias por la lección, que creo quedará bien aprendida.
Un saludo.

Por Fsc.Xavier

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Jun 2011 12:46 pm
Rareza del IE. Como mencionaron antes. En IE si no especificas el doctype se pone en "quirkmode", o sea en modo "trato de entender lo que hiciste pero no lo consigo!".

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 14 Jun 2011 02:19 pm
De hecho, no es rareza especifica de IE, todos los navegadores funcionan diferente cuando estan en quirksmode. Es por eso que se requiere un doctype para que entren en standard mode y todo funcione "como deberia ser".

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

chrome
Citar            
MensajeEscrito el 14 Jun 2011 04:06 pm
En los otros navegadores, cuando no pones el doctype hay diferencias, es cierto. Pero en el IE son tan evidentes que es imposible ignorarlas, como en el caso que nos ocupa.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 14 Jun 2011 04:08 pm
Claro, pero tecnicamente hablando, esto no es algo especifico de IE y el doctype es mandatorio.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

chrome
Citar            
MensajeEscrito el 14 Jun 2011 04:11 pm
¿El doctype mandatorio?, depende... Depende de qué versión del estandar HTML pretendas usar (o adherir). En HTML 1.0 no existe <!doctype ..> por ejemplo.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 14 Jun 2011 04:22 pm
El doctype se volvio mandatorio desde el momento en el que se agrego en HTML.

Existen doctypes desde la version 2.0 hasta 5, pasando por XHTML 1, 1.1 y 2.0
HTML 2.0

Código :

HTML 2.0
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.