Posts Tagged ‘CSS’

Evitar que una imagen colapse un DIV

Tuesday, January 26th, 2010

Cuando tenemos un DIV con un ancho fijo y dentro de él colocamos una imagen que supera las dimensiones del DIV que la contiene, lo que sucede es que la imagen en cuestión colapsa y se sale de su elemento contenedor.

Usando la propiedad max-width lo que se logra es que la imagen no sobrepase un ancho prefijado y de esta manera que no colapse.

Ejemplo (con un div con borde verde):

imagen desborda div

la imagen desborda el div

imagen desbord div

imagen contenida dentro del div

Para empezar construimos un simple código HTML que nos va a servir para colocar el div junto a su imagen (usen una imagen de tamaño grande para notar mejor el resultado)







imagen de prueba

Ahora si abren el archivo HTML en el navegador verían algo parecido a la primer imagen de arriba, es decir, la imagen en su tamaño completo colapsando al div contenedor. Lo que no verían sería el borde del div ya que hasta ahora no agregamos código CSS. Por eso lo siguiente es hacer el archivo style.css como sigue:

#a{
	width: 400px;
	border: 4px dotted #0f0;
}

#a img{
	max-width: 400px;
	height: auto;
}

Y acá lo importante es como está usada la propiedad max-width, que como el nombre indica, le dice  a la imagen el ancho máximo que puede tener, y también agregué la propiedad height: auto porque si a nuestra imagen en el HTML la declaramos con alto y ancho, entonces el max-width modificaría solamente el ancho pero como le damos height: auto entonces modificaríamos también el alto, para que no pierda su proporción inicial la imagen.

Centrar un sitio horizontalmente usando CSS

Tuesday, January 5th, 2010

¿QUE ES UN WRAPPER?

Para lograr centrar un sitio horizontalmente lo primero que hay que hacer es un DIV que englobe a todo el sitio y que generalmente se lo llama “wrapper” (contenedor en inglés) aunque el nombre cada uno lo pone como quiere, es preferible seguir siempre un cierto orden para que sea más fácil de interpretar cuando se lee el código, es decir, cuando uno lee “wrapper” ya se está dando la idea de lo que es. Básicamente el Div llamado wrapper contiene a toda la web (de ahí su nombre) y la gran ventaja es que al modificar sus propiedades estás modificando en definitiva las propiedades de todo el sitio.

.. sitio ...

a continuación vamos a ver un ejemplo práctico de como funciona.

EL HTML

El codigo HTML es muy simple:








Contenido, que a su vez puede contener otros DIVS

En las primeras líneas se declara el documento con el tag DOCTYPE, que lo que hace es “decirle” al navegador que versión de (x)HTML se usa en el sitio de manera que éste sepa que sintaxis y gramática se usa; y en la línea 5 se agrega la hoja de estilos.
Como se vé, el div wrapper casi siempre comienza luego de body y termina antes de /body de modo que contenga a toda la página.

EL CSS

#wrapper{
  margin: 0 auto 0 auto;
  width: 200px;
}

Con estas pocas líneas estamos centrando al wrapper horizontalmente. Siendo el primer 0 el margin-top y el segundo 0 el margin-bottom. Si quisiéramos que nuestro div se encuentre centrado horizontalmente pero 10 píxeles más abajo tendríamos que poner margin: 10px auto 0 auto;
Pero como Internet Explorer es una basura a lo que CSS se trate, este código no resulta correcto (hagan la prueba) y el div continúa sin centrarse. Por el contrario, en navegadores que respetan un poco más los estándares, como Mozilla Firefox, Opera, Chrome, esté código CSS basta.
Lo mejor en este caso es hacer un pequeño “arreglo” para que Internet Explorer pueda entender lo que queremos hacer. El archivo estilos.css quedaría de esta manera:

  #wrapper
  {
    margin: 0 auto 0 auto;
    width: 200px;
    text-align: left;
    background: #eee; //Agrego un fondo gris para visualizar mejor como quedó centrado el div
  }
body
{
  text-align: center;
}

En Internet Explorer 7 y superiores solamente con colocar el text-align:left; en el wrapper basta, pero para asegurarse es mejor poner el text-align: center; en el body porque funciona aún en sus versiones anteriores. Si colocamos en el body el texto centrado, si o si vamos a tener agregar al wrapper un text-align:left porque de lo contrario, todo lo que está en wrapper iría centrado (ya que es “hijo” de body).
Noten que el código se hizo doblemente más grande ( de 4 líneas a 8 ) solamente porque Internet Explorer no funciona como debería ;)

resultado final

resultado final

Descargar ejemplo

Cheat Sheets

Friday, August 7th, 2009

Las “Cheat Sheets” son guías de referencia rápida, vienen a ser como un “machete” :D en donde se ve, de una manera muy sintetizada,  el lenguajeen cuestión. Por ejemplo, una Cheat Sheet de CSS nos muestra las distintas propiedades del texto, posiciones, padding, margin, border, etc, etc…

htmlcssphp

Click en las imágenes :P

En addedbytes pueden ver la lista entera de CheatSheets, algunas de las cuales son: Python Cheat Sheet, RGB Colour Chart, JavaScript Cheat Sheet, MySQL Cheat Sheet

Silver, plantilla XHTML – CSS

Saturday, January 17th, 2009

Recién terminé de hacer esta plantilla basada en XHTML y CSS.
Tiene como cabecera un div ajustable al ancho del monitor y en la parte del contenido tiene un ancho fijo de 800px.

» Demo online

» Descargar (gratis)

XHTML 1.0 Transitional válido, CSS 2.1 válido !

Libros online para el diseño y desarrollo web

Monday, August 11th, 2008

En LibrosWeb vas a encontrar 5 libros muy completos con teoría y ejercicios acerca de XHTML, CSS, JavaScript, AJAX y Symfony. También hay una guia de referencia completa de CSS 2.1.
Los libros están para la descarga en *PDF con dos formatos distintos (preparado para imprimir a 1 cara y preparado para imprimir a 2 caras)

Recomiendo que entren a LibrosWeb.es y vean todo lo que tienen, sino dejo acá los link para la descarga de los archivos *PDF de cada libro:

Symfony 1.0, la guía definitiva

Symfony 1.1, la guía definitiva

Introducción a AJAX

Introducción a JavaScript

Introducción a CSS

Introducción a XHTML

Aprender HTML – CSS – JavaScript – PHP – MySQL – Ajax – DHTML

Sunday, August 3rd, 2008

Esta es una serie de paginas que tiene manuales sobre:

HTML

CSS

JavaScript

PHP

MySQL

Ajax

DHTML

Y de yapa esta página con mucho código fuente que puede ser útil.