Feb
11
2009
0

¿Dejar de diseñar para IE6?

En el último de los comentarios de Cameron Moll en 456BereaSt, nos recomienda no volvernos locos retocando webs para que se vean perfectamente en Internet Explorer 6 (IE6), o al menos no en aquello que "afecte seriamente la funcionalidad o la accesibilidad", pues en su opinión este navegador está tan cargado de bugs que lo mejor será "obligar" a las empresas a darse cuenta de que deben hacer un upgrade a IE7. Según él, hay cosas mejores que hacer con el tiempo que preparar hacks y hojas de estilo alternativas para un navegador desastroso (pero ampliamente utilizado).

Estos gurús son increíbles. Por un lado estoy plenamente de acuerdo con lo que dice; de hecho me parece sensato y (a fin de cuentas) me vendría bien librarme de los problemas que da IE6. Pero, por otro lado, ¿quién le dice ésto a un cliente? Sobre todo cuando la empresa tiene IE6 instalado en sus ordenadores. "No, mire, yo sólo me responsabilizo de que se vea bien en IE7. Y, por cierto, en IE8 ni lo compruebo, que aún no ha salido la versión definitiva. Pero oiga, ¡en Firefox se ve genial!"

Hice un post acerca de las frases de los clientes, pero la autocrítica me terminará llevando a escribir uno sobre las frases de los diseñadores... que son increíbles también. Excelsior!

Via | 456BereaSt

No me interesaNo está malBienÚtilMuy bien, muy útil (No Ratings Yet)
Loading ... Loading ...
Feb
11
2009
7

Visor de medios (overlay) sobre una capa (layer) semitransparente

Este código que he creado y utilizo ya para diversos proyectos en distintas variantes sirve para hacer aparecer "visores" de contenido (cajas) que aparecen sobre un velo semitransparente sobre el contenido de la página actual.

Por ejemplo, pinchamos sobre un enlace, la pantalla se oscurece (sin dejarse de ver el contenido de la web) y aparece en primer plano un cuadro donde podemos ver, por ejemplo, un texto, una imagen ampliada, un video, o una película flash.

Esto es muy útil para evitar recurrir siempre a las pop-up windows, o nuevas ventanas, debido a los blockers que mucha gente tiene activados (bloqueadores de pop-up)

El script integra el CSS cross-browser (útil en diversos navegadores) para las propiedades de opacidad y transparencia opacity, filter, y alpha vistas en un post anterior.

Incluir height:100% en el estilo del body sirve para que el "velo" semitransparente ocupe toda la pantalla en páginas que no ocupan la totalidad del visor del navegador.

Es importante la propiedad z-index de las capas (layers, div's) que contienen al visor y al "velo"... Recordemos, por cierto, que esta propiedad depende de haber declarado la position del objeto (Referencia, fijarse en la frase "For a positioned box, the 'z-index' property specifies...", muy importante el stacking).

Si os fijáis, el enlace <a href="#" onclick="open_overlay();return false;"> incluye, tras la llamada a la función, el javascript return false; para que el # indicado en el href no haga que la página suba hasta su top al hacer click (ya que es el evento onclick el que dispara la función javascript). Quitadlo para ver a lo que me refiero.

Más adelante intentaré hacer que el visor se ajuste (resize) según el tamaño del contenido que va a albergar, así como un efecto de fundido o fade-in al surgir el "velo" semitransparente (el cual, por cierto, no tiene por qué ser negro).

EDITO: El código está arreglado. Puedes verlo funcionando aquí.

Espero que os sea útil.

<html>
<head>
<style type="text/css">
#overlay {
visibility:hidden;
display:none;
position:absolute;
top:0px;
left: 0px;
z-index: 9;
width: 100%;
height: 100%;
background-color: #000000;
opacity:0.65;
}
#media {
visibility:hidden;
position:absolute;
display:none;
left: 30%;
top:65px;
z-index: 10;
width: 450px;
height: 300px;
background-color: #fff;
border:1px solid #454545;
}
*:first-child+html body #overlay {
filter: alpha(opacity=65);
} * html #overlay {
filter: alpha(opacity=65);
}
</style>
<script language="javascript">
function open_overlay(mediatype, url) {
document.getElementById("overlay").style.display="block";
document.getElementById("media").style.display="block";
document.getElementById("overlay").style.visibility="visible";
document.getElementById("media").style.visibility="visible";
var _docHeight = document.body.offsetHeight;
document.getElementById("overlay").style.height=_docHeight;
var cadena="Sustituir por texto, img , video, swf...";
document.getElementById("media").innerHTML=cadena;
}
function close_overlay() {
document.getElementById("overlay").style.visibility="hidden";
document.getElementById("media").style.visibility="hidden";
}
</script>
</head>
<body style="height:100%;margin:0;padding:0">
<a href="#" onClick="open_overlay();return false;">Imagen o texto sobre la que hacer click para abrir la capa.</a>
<div id="overlay" onClick="close_overlay()">
</div>
<div id="media">
</div>
</body>
</html>

No me interesaNo está malBienÚtilMuy bien, muy útil (7 votes, average: 4.71 out of 5)
Loading ... Loading ...
Jan
25
2009
0

Recordando ‘hacks’ para IE en CSS

W3C CSS Validated

Nunca está de más recordar los hacks que nos van a permitir introducir propiedades CSS en nuestras hojas de estilo y que sean leídas e interpretadas exclusivamente por IE y/o otros navegadores. La ventaja que tiene esta "chuleta" que indico abajo es que queda bien clarito qué selectores debemos usar dependiendo de la versión de Internet Explorer a la que queremos aludir.

IE 6 and below
* html {}
IE 7 and below
*:first-child+html {} * html {}
IE 7 only
*:first-child+html {}
IE 7 and modern browsers only
html>body {}
Modern browsers only (not IE 7)
html>/**/body {}
Recent Opera versions 9 and below
html:first-child {}

Via | Javascriptkit.com

No me interesaNo está malBienÚtilMuy bien, muy útil (No Ratings Yet)
Loading ... Loading ...
Post de cabezaBomba en la(s) categoría(s): CSS,Cross-Browser,Web Standards | Tags: , , , , , , , , , ,

Creative Commons License
Webcidentes by Alejandro Garcia is licensed under a Creative Commons Reconocimiento-Compartir bajo la misma licencia 3.0 España License.
Based on a work at www.cabezabomba.com.