Archive for Marzo, 2008

17MarEl teclado de flah se vuelve loco

Estás escribiendo código en flash, pones un paréntesis y de pronto aparece un interrogante….¿porqué? flash ha cambiado el idioma del teclado sin avisarte.

Para cambiarlo puedes irte a Panel de Control->Configuración regional y de idioma->Idioma->detalles->configuración y pones el idioma en español. O lo puedes hacer con el método abreviado de teclado: ALT+MAYÚSCULAS_IZQUIERDA tantas veces como haga falta para que se posicione en idioma castalleno de nuevo.

 

 

17MarDiseño flotante de 2 columnas en explorer 7

El otro día me enfrenté a un diseño en photoshop que debía convertir a css. El diseño tenía el siguiente aspecto.

En el se puede apreciar un degradado de fondo fácil de implementar con una fina tira repetida en el eje x. El diseño tiene dos columnas que se deben poder llenar de contenido y alargarse verticalmente prolongando el fondo que tienen debajo. Hasta ahí todo perfecto. Genero un esquema como este:

 

 <div id=”cuerpo”>
<div id=”izquierda”></div>
<div id=”derecha”></div>
<div id=”pie”></div>
</div>
 

Con esta hoja de estilo:

  1.  
  2.  
  3. #cuerpo {
  4.         background-image: url(../imagenes/fondoCuerpo.jpg);
  5.         background-repeat:  repeat-y;
  6.         width: 938px;
  7.         margin-right: auto;
  8.         margin-left: auto;
  9.  
  10. }
  11. #derecha {
  12.         width: 754px;
  13.         float: right;   
  14. }
  15. body {
  16.         background-image: url(../imagenes/fondo.jpg);
  17.         background-color: #333333;
  18.         background-repeat:   repeat-x;
  19. }
  20. #izquierda {
  21.         float: left;
  22.         width: 100px;
  23.         padding-left: 47px;
  24. }
  25. #pie {
  26.         background-image: url(../imagenes/pie.jpg);
  27.         background-repeat: no-repeat;
  28.         height: 34px;
  29.         width: 938px;
  30.         margin-top: 0px;
  31.         margin-right: auto;
  32.         margin-bottom: 0px;
  33.         margin-left: auto;
  34.         clear: both;
  35. }
  36.  

El problema es una imagen que proyecta una sombra sobre el fondo. No puedo simular la sombra con un png transparente porque Explorer 6.0 no acepta los pngs con transparencias. Tampoco puedo usar un gif porque no tiene la suficiente calidad. Finalmente opto por situar un elemento sin contenido exclusivamente para que contenga el fondo. Recorto la imagen de forma que los bordes queden bien situados con respecto al degradado y coloco una div del tamaño de la imagen generada de forma que el nuevo esquema tiene el siguiente aspecto:

 

<div id=”cuerpo”> 

<div id=”fondo Superior”>

<div id=”izquierda”></div>

<div id=”derecha”></div>

            </div><div id=”pie”></div></div>

Y el código CSS del nuevo elemento:

 

  1.  
  2. #fondoSuperior {
  3. background-image: url(../imagenes/cuerpoNuevo.jpg);
  4. height: 744px;
  5. background-repeat: no-repeat;
  6. background-position: center top;
  7. }
  8.  

Se visualiza perfectamente en Firefox y en Explorer 6.0, pero al visualizarlo en Explorer 7.0 cuando los divs “izquierda” o “derecha” se llenan de contenido el fondo del div “cuerpo” no se prolonga hacia abajo es más, pasa por debajo del div “pie”. Como se puede ver aquí, en un boceto del montaje:

 

Después de mucho comerme la cabeza, la solución la encuentro flotando el elemento:

  1.  
  2.  
  3. #fondoSuperior {
  4.         background-image: url(../imagenes/cuerpoNuevo.jpg);
  5.         background-repeat: no-repeat;
  6. height: 744px;
  7. float: left;
  8. }
  9.  

Lo que soluciona el problema. No me había encontrado aún con diseños que se visualizaran correctamente en Firefox y Explorer 6.0 pero no en Explorer 7.0.

11MarCombinar márgenes

Podríamos resumir la idea de combinación de márgenes de la siguiente forma:

“En caso de que dos o más vértices verticales se encuentren la altura del margen será igual a la altura del mayor de los márgenes combinados”.

Sobre esta idea, los márgenes son un detalle del diseño que nos pueden volver locos si no tenemos en cuenta esta premisa. Veamos algunos ejemplos.

 bordes css

Por ejemplo aquí, tenemos dos elementos situados uno encima del otro. Podemos observar como se combinan sus márgenes. De modo que en la parte de “antes” tenemos como se dispondría el diseño de no combinarse los márgenes, y en la sección “después” podemos ver cuál es la disposición real de los márgenes.

Y otro caso aún más habitual, el caso en el que un elemento se encuentra dentro de otro.

bordes css

Si no hay relleno o borde que separe los márgenes, éstos se combinarán. Es decir uno de los márgenes (el mayor) permanecerá, mientras que el otro desaparecerá.

También puede combinarse los márgenes superior e inferior de un elemento vacío. Si no hay bordes ni rellenos ni contenido el margen inferior toca el superior y se combinan.

11MarEl modelo de caja estándar y el modelo de caja en Internet Explorer

El modelo de caja estándar y el modelo de caja IE

Existen diferencias entre el modelo de caja estándar y el modelo de caja de Internet Explorer.

Conviene conocerlas porque son fuente de muchos quebraderos y de problemas importantes en los diseños: Vamos a verlo con un ejemplo, la explicación está inspirada en un libro de la editorial Anaya Multimedia. El libro se llama CSS y los autores son Andy Budd, Cameron Bull y Simon Collison. Voy a utilizar ese mismo ejemplo para explicarlo, pero os recomiendo que si queréis aprender css entendiendo los conceptos desde el principio lo busquéis. Bien, partamos del siguiente código:

  1.  
  2. #divCaja{
  3.         margin:10px;
  4.         padding: 5px;
  5.         width: 70px;
  6.     }
  7.  

Si implementamos este código CSS y visualizamos el resultado con un Navegador que use el modelo de caja estándar, el resultado será el siguiente:

 

El parámetro width que hemos definido lo respeta, y afecta al área de contenido. A este valor se le suman los bordes y márgenes y da lugar a un ancho total de 100px; Pero veamos lo que ocurre con el modelo de caja de Internet Explorer: Explorer nos daría el siguiente resultado para el mismo código:

La diferencia la encontramos en el ancho total (pasa a ser 90 px) y en el ancho del área de contenido (pasa a ser de 60px). A diferencia del modelo anterior aquí no respeta el valor del parámetro width. ¿Porqué? Porque considera los 5px de relleno de cada lado como parte del ancho de 70 píxels del área de contenido. Aunque existen diferentes soluciones, para evitar las diferencias de visualización, yo recomendaría (y así lo expone el libro) no añadir nunca relleno a un elemento con un ancho definido. En su lugar hay que añadir relleno o márgenes al padre o al hijo del elemento.

11MarEliminar los rellenos y márgenes de todos los elementos del documento

 

De partida puede ser bueno eliminar todos los márgenes y rellenos de un documento. La mejor forma de hacerlo es emplear una regla genérica que conocemos como selector universal y que da un giro al planteamiento general. De esta forma sólo pondremos margen y relleno a los elementos que queramos que lo tengan. Personalmente creo que es la mejor forma de trabajar, porque te da más control sobre los elementos al no tener que estar pendiente de los margenes y rellenos predefinidos para los objetos.

  1.  
  2. *{
  3. margin: 0px;
  4. padding: 0px;
  5. }
  6.  
  7.  

06MarSala Naranja (Experimental Projectspace)

Colectivo artístico con sede en Valencia pero que gracias a su propia web, mueve a muchísima gente del sector artístico por todo el mundo. Con colaborades practicamente de todas las nacionalidades, apuesta por un arte sin intermediarios ni "personajes" como los "comisarios" de exposiciones. Aire fresco…

06Marlatomatera

Blog con un contenido muy interesante dedicado principalmente al diseño y a la creatividad entre otras cosas

06Marburodestruct

Del pais donde se creo la diosa de las tipografías "la Helvetica" , nos encontramos a burodestruct , un estudio de diseño que tocan todos los soportes gráficos, serigrafía, ilustración, imagen corporativa, video etc…

A resaltar el apartado de links en su web. Un espacio de consulta indispensable para los amantes del buen diseño.

06MarLorem Ipsum

El Lorem Ipsum es un texto ficticio que se usa en diseño. Simula la apariencia del texto real que ocupara espacios de nuestro diseño y nos permite generar una idea más aproximada a la realidad y nos permite trabajar con diseños que recogerán textos dinámicos y por tanto se adaptarán a diferentes longitudes y formatos de párrafo. El texto tienen un significado y si entráis en la wikipedia podéis leer más acerca de su origen, pero lo cierto es que lo que signifique es lo de menos, lo que nos interesa es la funcionalidad que le damos.

Existen diferentes generadores de Lorem Ipsum, que nos permiten generar entre uno y seis parrafos, según el tamaño del texto que necesitemos. Yo os presento los que utilizo habitualmente:

Una dirección web: http://www.lipsum.com/, que es un generador online.

Y una extensión de Dreamweaver que te permite generar el texto desde el propio Dreamweaver. Y que por ejemplo podéis descargar aquí

En CS3 desde ayuda->administrar extensiones podéis instalarla. Una vez instalada os generará un icono en la barra de tareas que os permite generar lo párrafos que necesitéis.

06MarVenagraphica crea la imagen para Ascisolar

Venagraphica ha realizado la imagen corporativa y la web de Ascisolar, empresa que surge ante la necesidad de buscar alternativas a las fuentes energéticas actuales. Empresa formada por jóvenes emprendedores y bien formadaos en el sector, se han dejado asesorar en todos los aspectos para una buena comunicación de su imagen de empresa.

Querían una imagen limpia y que no callera en los elementos más comunes del sector, por lo que apostamos por un elemento gráfico que interpreta un destello del sol y a su vez dibuja la unión que tienen la mayoría de placas solares.

 

 

06MarBorrar la caché del navegador

 

Post para quien empieza con esto de la web y se encuentra con que el navegador de turno no actualiza la información del código fuente. Para Firefox y Explorer la ruta necesaria para borrar la caché y que el navegador nos actualice los cambios.

05MarFlotantes en CSS

En un diseño a dos columnas, donde las columnas son dos elementos flotados a izquierda y derecha a menudo nos encontramos con que al crecer las columnas porque se les introduce contenido, el contenedor no engloba a los elementos que tiene en su interior.

Si nuestro contenedor tiene por ejemplo un fondo resulta que al alargar las columnas, no se ve dicho fondo. Esto ocurre en Firefox pero no en Explorer 6. Y ocurre porque por definición un objeto flotante “se saca del flujo del documento”, es decir, no ocupan espacio y por tanto no se pueden encontrar dentro de elementos contenedores. Con una excepción que los contenedores sean a su vez elementos flotantes, pero esto nos origina a su vez restricciones importantes, y nos obliga a flotar todo el diseño (que no tiene porque ser lo que queremos).

La solución que he encontrado a este problema la he sacado del libro “CSS”, un manual Anaya multimedia que es una de las mejores formas de comprender paso a paso la metodología de la programación CSS que responde a una lógica que hay que entender si no quieres que los diseños hagan lo que ellos quieran y no lo que tú quieras que hagan. La solución en cuestión es añadir un div vacío, que no flota y que hace que el contenedor pase a englobar los dos elementos flotantes. La forma de hacer que este elemento vacío actúe de este modo, y deje un espacio, es aplicarle la propiedad “clear: both”. No tiene porque ser un elemento vacío si disponemos de un elemento al final de la página que nos evite el problema.

De forma sencilla, os pongo el ejemplo del libro, para que lo veáis más claro:

  1.  
  2.     .news{
  3.         background-color:gray;
  4.         border: solid 1px black;
  5.     }
  6.     .news img{
  7.         float: left;
  8.        
  9.     }
  10.     .news p{
  11.         float: right;
  12.        
  13.     }
  14.     .clear{
  15.         clear: both;
  16.     }
  17.  

Y el código html

  1.  
  2.     <div class="news">
  3.     <img src="imagen.jpg" alt="" /><p>Un texto</p>
  4.     <div class="clear"> </div></div>
  5.  

02MarCheat Sheets

Las "cheat sheets" resultan bastante cómodas cuando uno trabaja habitualmente con un lenguaje o varios y tiene que tener en mente muchas de las funciones, parámetros, variables y demás términos que varían de un lenguaje a otro y resulta complejo tener presente. Aclarando el término las "cheat sheet" vienen a ser algo así como chuletas. De hecho creo que esa es la traducción del término en inglés.

Estas hojas que suelen estar habitualmente en forma tablas, bien como imágenes o bien como pdf son un recordatorio de lo terminología más usada de cada teconología o lenguaje web. En la página ilovejackdaniels.com tenéis cheat sheets para actionscript, php, javascript, mysql, css, xhtml….y otras tecnologías. Es tan sencillo como bajárselas e imprimirlas. En este enlace podéis encontrar también cheat sheets para Ajax:




 

Marzo 2008
L M X J V S D
« Feb   Ago »
 12
3456789
10111213141516
17181920212223
24252627282930
31