Necesito algunas cosas como esta: cuando hago clic en algún enlace, toda la página debe ponerse sombreada, y quiero mostrar un nuevo div (como 200px X 200px) en el centro de la página, sobre otro div (así que no "float").CSS & HTML & JQuery - Cómo mostrar un div OVER otros divs y configurar para ellos un fondo sombreado
Como poner este nuevo div en relieve y hacer que el otro div (fondo) no se pueda cliquear.
¿Cómo puedo hacerlo? Creo CSS debe hacerlo, y espero que mi solicitud está claro :)
Gracias
ACTUALIZACIÓN (Añadido mi propio código)
// HTML + Jquery
<body>
<div class="contenitore">
<div id="myBox" class="boxHidden">
Box I Want To Display
</div>
<div class="contenitoreSite">
<script type="text/javascript">
$(document).ready(function() {
$(".articles").click(function() {
$('.contenitoreSite').fadeTo('fast', 0.5);
$('#myBox').removeClass().addClass('box');
$('#myBox').fadeTo('fast', 1);
});
});
</script>
<a class="articles" href="#" onclick="return false;">Example</a>
</div>
</div>
</body>
// CSS
.boxHidden{display:none;}
.box{width:500px; height:500px; position:absolute; top:80px; left:240px; border:#000000 2px solid; background-color:#FF0000;}
.contenitore{width:980px; margin:0 auto; position:relative;}
.contenitoreSite{width:980px; margin:0 auto;}
Mis problemas reales:
1 - Quiero poner toda la página (excepto la caja) con opacidad. Pero con esta función, cada niño obtiene el valor de opacidad 0.5. ¿Cómo puedo arreglar esto? This es cómo se muestra en este momento.
2 - ¿Este atributo es opacidad cross-browser? Porque leí que IE7 no lo soporta, pero con JQuery debería solucionar este tipo de problemas.
3 - Me gustaría poner el fondo (el sombrío) sin hacer clic. Creo que es posible hacer esto ...
RESUELTO
// HTML + Jquery
<body>
<div class="contenitore">
<script type="text/javascript">
$(document).ready(function() {
$(".articles").click(function() {
var maskHeight = $(document).height();
var maskWidth = $(window).width();
$('.mask').css({'width':maskWidth,'height':maskHeight});
$('.mask').fadeIn(100);
$('.mask').fadeTo("fast",0.8);
var winH = $(window).height();
var winW = $(window).width();
$("#myBox").removeClass().addClass('box');
$("#myBox").css('top', winH/2-$("#myBox").height()/2);
$("#myBox").css('left', winW/2-$("#myBox").width()/2);
$("#myBox").fadeIn(1000);
});
});
</script>
<div id="myBox" class="boxHidden">
Box I Want To Display
</div>
<a class="articles" href="#" onclick="return false;">Example</a>
</div>
<div class="mask"></div>
</body>
// CSS
.contenitore{width:980px; margin:0 auto; font-size:14px; color:#000000;}
.boxHidden{display:none;}
.box{width:500px; height:500px; position:absolute; z-index:9999; top:0px; left:0px; border:#000000 2px solid; background-color:#FF0000; display:none;}
.mask {position:absolute; z-index:9000; top:0px; left:0px; background-color:#FFFFFF; display:none; }
Esta versión debe ser multi-navegador. Déjame saber lo que piensas;)
opacidad no es transversal navegador. Non IE = 'opacidad: 0.5 'IE =' filtro: alpha (opacity = 50) ' – lnrbob
Sí, pero JQuery solucionará ese problema, creo :) – markzzz
Prefiero usar fondos de buen carácter y una fuerte fibra moral. He tenido que robarme las sombras en el pasado. – Ben