css 5 - unidades y valores

70
CSS Unidades y Valores Harold Maduro

Upload: harold-maduro

Post on 18-Dec-2014

9.640 views

Category:

Technology


0 download

DESCRIPTION

Curso de Estándares Web - Día #6 Distintas formas y unidades de medida para especificar valores en las sentencias de CSS. Tema básico, pero referencia futura para cualquier tarea que se requiera hacer en CSS.

TRANSCRIPT

Page 1: CSS 5 - Unidades y Valores

CSSUnidades y Valores

Harold Maduro

Page 2: CSS 5 - Unidades y Valores

Valores y Unidades

Este es un tema básico y elemental que va a ser la base para cualquier cosa que se quiera hacer con CSS.

Existen “units” que afectan los colores, distancias y tamaños de toda clase de propiedades.

Page 3: CSS 5 - Unidades y Valores

Números

Page 4: CSS 5 - Unidades y Valores

Números

Existen dos tipos de números en CSS: enteros (integers) y fracciones (reals).

Los números sirven como la base para otro tipo de valor o unidad de medida (por ejemplo: 15px), pero en algunas circunstancias, se puede utilizar el número sólo como valor de una propiedad.

Page 5: CSS 5 - Unidades y Valores

Números

Tanto los enteros como fracciones pueden ser positivos o negativos.

Page 6: CSS 5 - Unidades y Valores

Números

Page 7: CSS 5 - Unidades y Valores

Números

h1 { margin: 100px; }

Page 8: CSS 5 - Unidades y Valores

Números

h1 { margin: 100px; }

p { margin-top: -10px; }

Page 9: CSS 5 - Unidades y Valores

Porcentajes

Los porcentajes se colocan con el símbolo de porcentaje (%) después de un número.

Page 10: CSS 5 - Unidades y Valores

Porcentajes

Los valores de porcentaje son relativos a otro valor (el valor del elemento ancestro, o un valor heredado).

Page 11: CSS 5 - Unidades y Valores

Porcentajes

Page 12: CSS 5 - Unidades y Valores

Porcentajes

h1 { width: 100%; }

Page 13: CSS 5 - Unidades y Valores

Porcentajes

h1 { width: 100%; }

p { width: 50%; }

Page 14: CSS 5 - Unidades y Valores

Color

Page 15: CSS 5 - Unidades y Valores

Color

Se pueden especificar los colores ya sea con:

• Nombres

• RGB

Page 16: CSS 5 - Unidades y Valores

Color por nombreExiste un reducido número de colores que se pueden especificar por su nombre. Estos son llamados “named colors”.

Existen sólo 17 colores definidos en la especificación de CSS 2.1:

aqua

black

blue

fuchsia

gray

green

lime

maroon

navy

olive

orange

purple

red

silver

teal

white

yellow

Page 17: CSS 5 - Unidades y Valores

Color por nombre

Page 18: CSS 5 - Unidades y Valores

Color por nombre

color: red;

Page 19: CSS 5 - Unidades y Valores

Color por nombre

color: red;

color: blue;

Page 20: CSS 5 - Unidades y Valores

Color por nombre

Además de estos, los browsers modernos reconocen unos 140 nombres de colores.

Estos 140 nombres están definidos en la especificación de CSS 3.0

Page 21: CSS 5 - Unidades y Valores

Color por RGB

Los colores que vemos en pantalla son creados utilizando mezclas de luces rojas, verdes y azules.

Page 22: CSS 5 - Unidades y Valores

Color por RGBExisten cuatro formas como podemos detallar el color especificando sus valores RGB:

Functional RGB colors

* Numeric: usando el valor en enteros

* Percentage: usando el valor en porcentaje

Hexadecimal RGB colors

* Hexadecimal: usando el valor formado por 6 unidades

* Short Hex: usando el valor resumido, por 3 unidades

Page 23: CSS 5 - Unidades y Valores

Functional RGB colors

Page 24: CSS 5 - Unidades y Valores

Functional RGB colors

Se especifican los porcentajes de cada color:

Page 25: CSS 5 - Unidades y Valores

Functional RGB colors

Se especifican los porcentajes de cada color:

color: rgb(100%,0%,0%);

Page 26: CSS 5 - Unidades y Valores

Functional RGB colors

Se especifican los porcentajes de cada color:

color: rgb(100%,0%,0%);

Page 27: CSS 5 - Unidades y Valores

Functional RGB colors

Se especifican los porcentajes de cada color:

color: rgb(100%,0%,0%);

O se especifica usando un valor numérico:

Page 28: CSS 5 - Unidades y Valores

Functional RGB colors

Se especifican los porcentajes de cada color:

color: rgb(100%,0%,0%);

O se especifica usando un valor numérico:

color: rgb(255,0,0);

Page 29: CSS 5 - Unidades y Valores

Functional RGB colors

Se especifican los porcentajes de cada color:

color: rgb(100%,0%,0%);

O se especifica usando un valor numérico:

color: rgb(255,0,0);

Page 30: CSS 5 - Unidades y Valores

Functional RGB colors

Para los valores porcentuales, se pueden utilizar valores fraccionarios para especificar el tono del color:

color: rgb(20.5%,10.5%,0);

Page 31: CSS 5 - Unidades y Valores

Functional RGB colors

Ojo: Para los valores numéricos, sólo acepta números enteros.

Page 32: CSS 5 - Unidades y Valores

Hexadecimal RGB colors

Aquí utilizamos los mismos valores hexadecimales que hemos utilizado en el pasado con HTML.

color: #ff0000;

Page 33: CSS 5 - Unidades y Valores

Hexadecimal RGB colors

Funciona uniendo 3 números hexadecimales en el rango de 00 hasta el FF para identificar el color.

La sintaxis sería: #RRGGBB, sin ningún tipo de separación, espacio o coma entre ellos.

Page 34: CSS 5 - Unidades y Valores

Hexadecimal RGB colors

Si el valor hexadecimal está compuesto por 3 pares de números iguales, se puede utilizar la sintaxis reducida o Short Hex:

color: #ffffff

color: #fff

color: #000000

color: #000

color: #333333

color: #333

color: #bb0000

color: #b00

Short Hex

Page 35: CSS 5 - Unidades y Valores

Hexadecimal RGB colors

Si cada uno de los pares de dígitos no se repite, entonces no podemos utilizar la sintaxis reducida.

color: #248901

color: #343434

color: #ececec

color: #F07132

Page 36: CSS 5 - Unidades y Valores

Longitud

Page 37: CSS 5 - Unidades y Valores

Longitud

Muchas propiedades como width o margin dependen de un valor de longitud para determinar su tamaño.

Page 38: CSS 5 - Unidades y Valores

Longitud

Todos los valores de longitud se pueden especificar tanto con un valor positivo o negativo seguido por un “label”.

Page 39: CSS 5 - Unidades y Valores

Longitud

También se pueden utilizar valores fraccionarios como 7.7 o 1.5.

Page 40: CSS 5 - Unidades y Valores

Longitud

Todos los valores de longitud están seguidos por una abreviación de dos letras que representa la unidad de medida que se está especificando; ya sea en pixeles (px), pulgadas (in) o puntos (pt).

La única excepción es el cero (0), que no necesita que le especifiquemos un valor; ya que cero pixeles es lo mismo que cero pulgadas o cero centímetros.

Page 41: CSS 5 - Unidades y Valores

Longitud

Las unidades de medida de longitud están divididas en dos tipos:

longitudes absolutas

longitudes relativas

Page 42: CSS 5 - Unidades y Valores

Longitudes absolutas

Pulgadas - in

Centímetros - cm

Milímetros - mm

Puntos - pt

Picas - pc

Page 43: CSS 5 - Unidades y Valores

Longitudes absolutas

width: 40in;

height: 50mm;

Page 44: CSS 5 - Unidades y Valores

Longitudes absolutas

Estas unidades de medida son más útiles cuando se está trabajando con impresos, ya que en pantalla, la imagen está afectada por el tamaño del monitor y la resolución de pantalla del mismo.

Page 45: CSS 5 - Unidades y Valores

Longitudes absolutas

Page 46: CSS 5 - Unidades y Valores

Longitudes absolutas

Utilizarlos para medidas de elementos en pantalla puede resultar en textos que son muy pequeños para leer correctamente en algunas combinaciones de sistema operativo / monitor / browser; mientras que en nuestra pantalla se ve perfectamente bien.

Page 47: CSS 5 - Unidades y Valores

Longitudes relativas

Son llamadas de esta manera ya que son medidas en relación a otro elemento u objeto.

El tamaño real que midan estos elementos puede cambiar debido a factores que van más allá de su control; como por ejemplo, resolución de pantalla, ancho del browser o preferencias del usuario.

Page 48: CSS 5 - Unidades y Valores

Longitudes relativas

Hay tres unidades de medida relativos:

em-height - em

x-height - ex

pixel - px

Page 49: CSS 5 - Unidades y Valores

em

En CSS, un em es considerado el valor determinado del font-size de un elemento.

Si el font-size de un elemento es 14 pixeles, entonces, para ese elemento 1em es equivalente a 14 pixeles.

Page 50: CSS 5 - Unidades y Valores

em

Por ejemplo: si un H1 tiene 20px como su font-size; entonces, 1em es equivalente a 20px para ese H1.

Al especificar margin: 1em para el H1, el margen sería igual a 20px.

Page 51: CSS 5 - Unidades y Valores

em

Cuando se utiliza em para especificar el tamaño del font, entonces el valor de em es relativo al font size del padre.

Por ejemplo, si el BODY tiene un font-size de 10px, un DIV que sea descendiente de él y tenga 2em como su font-size, tendrá un tamaño de letra de 20px.

Page 52: CSS 5 - Unidades y Valores

em

margin-bottom: 3em;

font-size: 2em;

font-size: 1.2em;

Page 53: CSS 5 - Unidades y Valores

ex

ex, se refiere a la altura de una x en minúscula en el font utilizado.

Si se tienen dos párrafos de texto, ambos con el mismo tamaño de letra, pero con tipografías diferentes; el valor de ex sería diferente para cada párrafo.

Esto es, ya que cada font tiene un tamaño de x distinto.

Page 54: CSS 5 - Unidades y Valores

ex

Garamond x

Centhury Gothic xTimes New Roman xArial x

Page 55: CSS 5 - Unidades y Valores

ex

Ojo: Ahora, existen algunos browsers que determinan el valor de ex, obteniendo el valor de em y dividíendolo por la mitad.

Page 56: CSS 5 - Unidades y Valores

Pixeles

Esta es la unidad de medida más sencilla y fácil de entender. 1px en CSS es equivalente a 1px en pantalla.

Page 57: CSS 5 - Unidades y Valores

Pixeles

El valor de pixel se considera relativo ya que depende de la resolución de la pantalla del usuario.

Page 58: CSS 5 - Unidades y Valores

Pixeles

width: 500px;

margin: 20px;

Page 59: CSS 5 - Unidades y Valores

PixelesOjo: Al especificar el tamaño de letra en pixel, Internet Explorer 6.0 no le permite al usuario hacer resize del texto; a pesar de seleccionar un tamaño de texto más grande, el texto no se agranda.

Esto puede crear problemas de usabilidad y accesibilidad.

Esto no es un problema con los browsers modernos.

Page 60: CSS 5 - Unidades y Valores

URL

Page 61: CSS 5 - Unidades y Valores

URLs

Cuando utilizamos el @import directive o el background-image, utilizamos URLs para llamar al archivo indicado.

url(protocol://server/pathname/file)

Page 62: CSS 5 - Unidades y Valores

URLs

Se puede utilizar las rutas absolutas (absolute paths):

url(http://www.bootstudio.com/images/logo.gif)

O se pueden utilizar rutas relativas (relative paths):

url(../images/logo.gif)

Page 63: CSS 5 - Unidades y Valores

URLs

En CSS las rutas relativas son relativas al archivo CSS, no al archivo HTML que llama al CSS.

Ojo: Nestcape Navigator 4 interpretaba las rutas relativas en relación al archivo HTML, no al archivo CSS.

No se puede colocar un espacio entre url y el paréntesis

Page 64: CSS 5 - Unidades y Valores

Keywords

Page 65: CSS 5 - Unidades y Valores

Keywords

Existen algunos keywords que permiten describir o asignar un valor con una palabra.

Por ejemplo:

none

inherit

normal

underline

Page 66: CSS 5 - Unidades y Valores

Keywords

font-weight: normal;

margin: auto;

text-decoration: none;

Page 67: CSS 5 - Unidades y Valores

Keywords

Si una propiedad acepta keywords, los keywords que podrá usar serán limitados por la definición de la propiedad.

También tengan en cuenta que el comportamiento del elemento al aplicarle un valor de keyword va a ser diferente dependiendo de la propiedad.

Por ejemplo: none es diferente para text-decoration que para font-style.

Page 68: CSS 5 - Unidades y Valores

Keywords

Inherit es un keyword que es compartido por todas las propiedades en CSS 2.1.

Este valor hace que la propiedad herede los mismos valores que su padre.

En la mayoría de los elementos no es necesario especificar inherit; ya que las propiedades se heredan de manera predeterminada; pero puede ser útil en el caso de los backgrounds, margin, padding y border.

inherit

Page 69: CSS 5 - Unidades y Valores

Bibliografía

CSS: The Definitive Guide

Amazon: http://tinyurl.com/5hs7jf

Eric Meyer

Page 70: CSS 5 - Unidades y Valores

Bibliografía

CSS 2.1 SpecificationWorld Wide Web Consortium

http://www.w3.org/TR/CSS21/syndata.html#values