Professional Documents
Culture Documents
CSS
Hojas de Estilo en Cascada - CascadingStyle Sheets (CSS) es un
lenguaje de estilo usado para describir la presentación de las páginas web.
CSS permite la separación del contenido del documento de la presentación
del documento (disposición, colores, fuentes, etcétera).
El uso de CSS es la manera más adecuada de diseñar un sitio Web, ya que
nos permite mucho más flexibilidad a la hora de realizar cambios en el sitio.
Nos proporcionan el control sobre la creatividad de la presentacion y el
diseño de nuestras paginas Web. Mediante su utilizacion podemos adornar el
texto con encabezados atractivos, mayusculas y bordes, igual que en las
revistas de moda. Tambien se pueden organizar las imagenes en el texto
con precision, crear columnas y mensajes publicitarios, y resaltar los
vinculos de texto con efectos dinamocos.
Esencialmente un estilo CSS es solo una regla que le dice al navegador como desplegar un elemento
concreto de una pagina que ha sido colocado con html. Por ejemplo se puede crear una regla CSS para
que todas las directivas etiquetadas con <h1> aparezcan con altura de 36 pixeles, en fuente Verdana y
con color naranja. CSS puede resaltar tambien contenidos, añadiendo bordes, cambiando margenes e
incluso controlando la posicion exacta de cada elemento de la pagina. Un estilo es, de hecho, la
combinacion de dos elementos: la pagina web elemental que formatea el buscador (el selector) y las
instrucciones de formato reales (el bloque de declaracion). Por ejemplo un selector puede ser un
encabezamiento, un parrafo de texto, una foto, etc. El bloque de declaracion puede cambiarlo a texto
azul, añadir un borde rojo en torno a un parrafo, poner la foto en el centro de la página: las
posibilidades son infinitas.
Las hojas de estilos aparecieron poco después que el lenguaje de etiquetas SGML, alrededor del año
1970. Desde la creación de SGML, se observó la necesidad de definir un mecanismo que permitiera
aplicar de forma consistente diferentes estilos a los documentos electrónicos.
El gran impulso de los lenguajes de hojas de estilos se produjo con el boom de Internet y el
crecimiento exponencial del lenguaje HTML para la creación de documentos electrónicos. La guerra
de navegadores y la falta de un estándar para la definición de los estilos dificultaban la creación de
documentos con la misma apariencia en diferentes navegadores.
El organismo W3C (World Wide Web Consortium), encargado de crear todos los estándares
relacionados con la web, propuso la creación de un lenguaje de hojas de estilos específico para el
lenguaje HTML y se presentaron nueve propuestas. Las dos propuestas que se tuvieron en cuenta
fueron la CHSS (Cascading HTML Style Sheets) y la SSP (Stream-based Style Sheet Proposal).
La propuesta CHSS fue realizada por Håkon Wium Lie y SSP fue propuesto por Bert Bos. Entre finales
de 1994 y 1995 Lie y Bos se unieron para definir un nuevo lenguaje que tomaba lo mejor de cada
propuesta y lo llamaron CSS (Cascading Style Sheets).
A finales de 1996, el W3C publicó la primera recomendación oficial, conocida como "CSS nivel 1". A
principios de 1997, el W3C decide separar los trabajos del grupo de HTML en tres secciones: el grupo
de trabajo de HTML, el grupo de trabajo de DOM y el grupo de trabajo de CSS. El 12 de Mayo de
1998, el grupo de trabajo de CSS publica su segunda recomendación oficial, conocida como "CSS
nivel 2" cuya mejora continua hasta el 2009 con CSS 2.1 pero paralelamente se va desarrolando la
recomendación CSS3 desde 1998 hasta que es estandarizada en el 2012.
El trabajo del diseñador web siempre está limitado por las posibilidades de los navegadores que
utilizan los usuarios para acceder a sus páginas. Por este motivo es imprescindible conocer el soporte
de CSS en cada uno de los navegadores más utilizados del mercado.
Internamente los navegadores están divididos en varios componentes. La parte del navegador que se
encarga de interpretar el código HTML y CSS para mostrar las páginas se denomina motor. Desde el
punto de vista del diseñador CSS, la versión de un motor es mucho más importante que la versión
del propio navegador. Ka recomendación mas adecuada es probar nustra pagina y estilos en los
distintos navegadores.
Antes de que se generalizara el uso de CSS, los diseñadores de páginas web utilizaban etiquetas HTML
especiales para modificar el aspecto de los elementos de la página. El siguiente ejemplo muestra una
página HTML con estilos definidos sin utilizar CSS:
El ejemplo anterior utiliza la etiqueta <font> con sus atributos color, face y size para definir el color, el
tipo y el tamaño de letra de cada elemento de la página.
El problema de utilizar este método para definir el aspecto de los elementos se puede ver claramente
con el siguiente ejemplo: si la página tuviera 50 elementos diferentes, habría que insertar 50
etiquetas <font>. Si el sitio web entero se compone de 10.000 páginas diferentes, habría que definir
500.000 etiquetas <font>. Como cada etiqueta <font> tiene tres atributos, habría que definir 1.5
millones de atributos.
Sintaxis CSS
Las Reglas de CSS3
Nuestro código CSS3 no es más que una serie de reglas incluidas
en un fichero. La mejor forma de entender una regla es con un
ejemplo:
Selector {
declaracion [propiedad: valor; prop:sdfs; ]
}
Selector:
El primer elemento a destacar es el selector de tipo,
que nos va a servir para especificar de una forma
concreta a qué etiquetas de las que componen el
documento, se va a aplicar el estilo.
El selector le dice al navegador web que directiva o
directivas de una paginactienen que someterse al estilo.
En la imagen el selector (h1) se refiere a la directiva
<h1>, que hace que los buscadores web en formato a
todas las etiquetas <h1> usando las direcciones de
formato recogidas en este estilo. Con el amplio margen
de selectores que ofrece CSS y un poco de creatividad se
puede ganar gran cotrol sobre el formato de las páginas.
Bloque de declaracion:
Una declaración de estilo se va a definir entre
paréntesis y en ella se va a especificar el estilo
que van a tener las etiquetas seleccionadas.
Dentro de una declaración de estilo a su vez,
podemos encontrar dos estructuras o elementos
importantes:
El codigo que sigue al selector incluye todas las
opciones de formato que se puede aplicar al
selector. El bloque comienza con una llave de
apertura ({) y termina con una llave de cierre (}).
Declaracion:
Entre las llaves de apertura y de cierre de la declaracion, se añade una o más declaraciones o
instrucciones de formato. Cada declaracion tiene dos partes: una propiedad y una valor, y ademas
acaban en un punto y coma.
Propiedad:
Estas se van a delimitar con si designación por escrito y seguida de dos puntos “:”
A continuación, después de esta propiedad vamos a concretar o especificar los valores asociados a
dicha propiedad. Estos los vamos a concretar en valores entrecomillados y separados por coma si es
que hay más de uno. Por último al final de ellos colocaremos punto y coma “;”.
CSS ofrece un amplio rango de opciones de formato, que se llaman propriedades. Una propriedad es
una palabra que indican un cierto estilo de efecto. La mayoria de las propriedades tienen nombres
sencillos como font-size (tamaño de fuente), margin-top (margin superior), etc.
Valor: Finalmente se puede expresar la creatividad asignando un valor a una propriedad CSS (como
hacer un fondo azul, por ejemplo). Las diferentes propriedades CSS requieren tipos especificos de
valores: un color (como rojo o #ff0000), una longitud (como 16px, o 5em), o una cclave especifica
(como top, center o bottom)
Los Comentarios
CSS permite incluir comentarios entre sus reglas y estilos. Los comentarios son contenidos de texto que
el diseñador incluye en el archivo CSS para su propia información y utilidad. Los navegadores ignoran
por completo cualquier comentario de los archivos CSS, por lo que es común utilizarlos para estructurar
de forma clara los archivos CSS complejos.
El comienzo de un comentario se indica mediante los caracteres /* y el final del comentario se indica
mediante */, tal y como se muestra en el siguiente ejemplo:
/* Este es un
comentario CSS de varias
lineas */
Aunque los navegadores ignoran los comentarios, su contenido se envía junto con el resto de estilos,
por lo que no se debe incluir en ellos ninguna información sensible o confidencial.
La sintaxis de los comentarios CSS es muy diferente a la de los comentarios HTML, por lo que no deben
confundirse:
En este ejemplo aplicaremos un estilo (color rojo y un margen izquierdo de 30 pixels) a la etiqueta
<p>, la cual determina que todo el contenido de la misma será afectado.
Código Resultado
<p style="color:red; margin-left:30px"> Este párrafo es de color rojo y se
Este párrafo es de color rojo y se encuentra a 30 encuentra a 30 pixels del margen
pixels del margen izquierdo. izquierdo.
</p>
Código Resultado
Código Resultado
<head> Fuentes blancas sobre fondo azul
<title>Ejemplo de estilos CSS en el propio
documento</title>
<style type="text/css">
body {background-color:blue}
p {color:white}
</style>
</head>
<body>
<p>Fuentes blancas sobre fondo azul</p>
</body>
En este ejemplo se muestra que la etiqueta <style> con su atributo type que define una hoja de estilo
por medio del valor text/css.
En este ejemplo podemos observar que le hemos aplicado estilos a los siguientes elementos:
body : define el color de fondo de la página en azul.
p : define todas las fuentes de color blanco.
1. Se guarda el archivo de texto con el nombre estilos.css Se debe poner especial atención a que el
archivo tenga extensión .css y no .txt
2. En la página HTML se enlaza el archivo CSS externo mediante la etiqueta <link>:
<!DOCTYPE html>
<html">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ejemplo de estilos CSS en un archivo externo</title>
<link rel="stylesheet" type="text/css" href="/css/estilos.css" media="screen" />
</head>
<body>
<p>Un párrafo de texto.</p>
</body>
</html>
3. Cuando el navegador carga la página HTML anterior, antes de mostrar sus contenidos también
descarga los archivos CSS externos enlazados mediante la etiqueta <link> y aplica los estilos a los
contenidos de la página.
Normalmente, la etiqueta <link> incluye cuatro atributos cuando enlaza un archivo CSS:
rel: indica el tipo de relación que existe entre el recurso enlazado (en este caso, el archivo CSS)
y la página HTML. Para los archivos CSS, siempre se utiliza el valor stylesheet
type: indica el tipo de recurso enlazado. Sus valores están estandarizados y para los archivos
CSS su valor siempre es text/css
href: indica la URL del archivo CSS que contiene los estilos. La URL indicada puede ser relativa
o absoluta y puede apuntar a un recurso interno o externo al sitio web.
media: indica el medio en el que se van a aplicar los estilos del archivo CSS. Más adelante se
explican en detalle los medios CSS y su funcionamiento.
De todas las formas de incluir CSS en las páginas HTML, esta es la más utilizada con mucha diferencia.
La principal ventaja es que se puede incluir un mismo archivo CSS en multitud de páginas HTML, por lo
que se garantiza la aplicación homogénea de los mismos estilos a todas las páginas que forman un sitio
web.
Con este método, el mantenimiento del sitio web se
simplifica al máximo, ya que un solo cambio en un solo
archivo CSS permite variar de forma instantánea los
estilos de todas las páginas HTML que enlazan ese
archivo.
Esta es la forma ideal para cuando queremos definir
un sitio entero con una misma estructura y estilo.
Para ello definimos todos los estilos en un documento
en común que se utilizará para todas las páginas del
sitio Web.
Con realizar los cambios en ese documento, podemos cambiar el aspecto de todo el sitio Web.
Cada página del sitio debe vincularse con la hoja de estilos usando la etiqueta <link> ubicada en la
cabecera del documento.
Ejemplo de un enlace a una hoja de estilo
<head>
<link rel="stylesheet" type="text/css" href="/estilos.css">
</head>
Las hojas de estilo también se pueden crear en un block de notas pero deben llevar la terminación
(.css).
Ejemplo:
Todo este código en un block de notas p {
guardado como estilos.css font-style: normal;
font-variant: small-caps;
font-weight: bold;
font-size: 1.5em;
line-height: 1.5;
font-family: Arial, sans-serif;
}
div {
margin-top: 5px;
margin-right: 10px;
margin-bottom: 5px;
margin-left: 10px;
padding-top: 3px;
padding-right: 5px;
padding-bottom: 10px;
padding-left: 7px;
}
h1 {
background-color: #FFFFFF;
Aunque generalmente se emplea la background-image: url("imagenes/icono.png");
etiqueta <link> para enlazar los background-repeat: no-repeat;
archivos CSS externos, también se background-position: 10px 5px;
}
puede utilizar la etiqueta <style>. La
forma alternativa de incluir un archivo
CSS externo es:
<!DOCTYPE html>
<html">
<head>
<title>Ejemplo de estilos CSS en un archivo externo</title>
<style type="text/css" media="screen">
import '/css/estilos.css';
</style>
</head>
<body>
<p>Un párrafo de texto.</p>
</body>
</html>
En este caso, para incluir en la página HTML los estilos definidos en archivos CSS externos se utiliza una
regla especial de tipo import. Las reglas de tipo import siempre preceden a cualquier otra regla CSS
(con la única excepción de la regla charset).
La URL del archivo CSS externo se indica mediante una cadena de texto encerrada con comillas simples
o dobles o mediante la palabra reservada url(). De esta forma, las siguientes reglas import son
equivalentes:
import '/css/estilos.css';
import "/css/estilos.css";
import url('/css/estilos.css');
import url("/css/estilos.css");
Podría ocurrir que los estilos que visualicemos en el navegador estén definidos “a trozos” de modo que
parte de lo que se visualiza se debe a las declaraciones CSS externas, parte a las declaraciones CSS
internas y parte a declaraciones en línea. Esto en general será indeseable, ya que hará difícil de
mantener el desarrollo web, no se sabrá con certeza cómo se generan los estilos y el desarrollo puede
terminar convirtiéndose en un caos difícil de mantener. También puede dar lugar a visualizaciones
incorrectas o erróneas.
A modo de resumen y como recomendación: mantén los estilos de forma externa, lo más
ordenadamente posible y sin utilizar redefiniciones internas ni en línea. Usa este tipo de definiciones
(interna o en línea) exclusivamente cuando resulte necesario y comenta adecuadamente el código.
Hasta ahora en los ejemplos hemos utilizado exclusivamente los llamados selectores de tipo o de
etiqueta y los selectores descendentes, sin embargo tenemos varios tipos de selectores los más
importantes son:
1. Selector universal
2. Selector de tipo o etiqueta
3. Selector descendente
4. Selector de clase
5. Selector de ID
6. Selector de hijos
7. Selector de atributos
8. Selector ascendente…
Las propiedades CSS son las que nos permiten personalizar los sitios, darles ciertas características
especiales, ajustar cada detalle de una página web. Son las posibilidades de diseño que nos permiten los
navegadores al interpretar este lenguaje de estilos. Estas propiedades las podemos clasificar en:
1. Colores y fondos
2. Textos y fuentes
3. Cajas y bordes
4. Margenes y rellenos
5. Dimensiones y ubicaciones
6. Listas y tablas
7. Efectos
8. Seudo clases y seudo elementos
9. Formatos…
Para definir la lista de valores de las propiedades se sigue un formato que es necesario detallar.
Si el valor permitido se indica como una sucesión de palabras sin ningún carácter que las separe
(paréntesis, comas, barras, etc.) el valor de la propiedad se debe indicar tal y como se muestra y
con esas palabras en el mismo orden.
Si el valor permitido se indica como una sucesión de valores separados por una barra el valor de la
propiedad debe tomar uno y sólo uno de los valores indicados. Por ejemplo, la notación
<porcentaje> |<medida> | inherit indica que la propiedad solamente puede tomar como valor
la palabra reservada inherit o un porcentaje o una medida.
Si el valor permitido se indica como una sucesión de valores separados por una barra doble el valor
de la propiedad puede tomar uno o más valores de los indicados y en cualquier orden. Por ejemplo,
la notación <color> || <estilo> || <medida> indica que la propiedad puede tomar como valor
cualquier combinación de los valores indicados y en cualquier orden. Se podría establecer un color y
un estilo, solamente una medida o una medida y un estilo. Opcionalmente, se pueden utilizar
paréntesis para agrupar diferentes valores. Por último, en cada valor o agrupación de valores se
puede indicar el tipo de valor: opcional, obligatorio, múltiple o restringido.
El carácter * indica que el valor ocurre cero o más veces; el carácter + indica que el valor ocurre
una o más veces; el carácter ? indica que el valor es opcional y por último, el carácter
{número_1, número_2} indica que el valor ocurre al menos tantas veces como el valor indicado
en número_1 y como máximo tantas veces como el valor indicado en número_2.
Por ejemplo, el valor [<family-name> , ]* indica que el valor de tipo <family_name> seguido por
una coma se puede incluir cero o más veces. El valor <url>? <color> significa que la URL es
opcional y el color obligatorio y en el orden indicado. Por último, el valor [<medida> | thick |
thin] {1,4} indica que se pueden escribir entre 1 y 4 veces un valor que sea o una medida o la
palabra thick o la palabra thin. No obstante, la mejor forma de entender la notación formal para las
propiedades de CSS es observar la definición de cada propiedad y volver a esta sección siempre que
sea necesario.
Instituto de Diseño Publicitario
10
Diseño Web
*{
margin: 0;
padding: 0;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr,
acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub,
sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot,
thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu,
nav, output, ruby, section, summary, time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
vertical-align: baseline;
}
Tendríamos:
*{
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
vertical-align: baseline;
}
Propiedad Color
La propiedad color permite especificar el color de un elemento.
Unidades de color
Un valor de color es una palabra clave o una especificación numérica RGB. Existen cinco formas de
plasmar estos valores:
Un color RGB ó RGBA p.ej. rgb (255, 0, 0)
Un color hexadecimal p.ej. #FF0000
Un color HSL ó HSLA p.ej. hsl (0, 100%, 50%)
Un color designado con nombre (p.ej. red)
inherit (el color se heredará del elemento padre)
Los ejemplos de arriba especifican el mismo color.
Instituto de Diseño Publicitario
11
Diseño Web
La tabla de colores
Web safe colors o Colores seguros para web nacen en la realidad de las limitaciones de los primeros
monitores a color y debido a la falta de ancho de banda, la paleta completa de colores en pantalla se
restringía sólo a 8-bits; esto quiere decir que en este entorno cada píxel sólo podía producir 256 colores
diferentes. Puedes verlos en esta página: http://cloford.com/resources/colours/websafe1.htm
Otra lista de colores más amplia y que es soportada por la gran mayoría de navegadores es la
siguiente:
Nombre Color
Color RGB Color
del color Hexadecimal
IndianRed #CD5C5C 205,92,92
LightCoral #F08080 240,128,128
Salmon #FA8072 250,128,114
DarkSalmon #E9967A 233,150,122
LightSalmon #FFA07A 255,160,122
Crimson #DC143C 220,20,60
Red #FF0000 255,0,0
FireBrick #B22222 178,34,34
DarkRed #8B0000 139,0,0
Pink #FFC0CB 255,192,203
LightPink #FFB6C1 255,182,193
HotPink #FF69B4 255,105,180
DeepPink #FF1493 255,20,147
MediumVioletRed #C71585 199,21,133
PaleVioletRed #DB7093 219,112,147
LightSalmon #FFA07A 255,160,122
Coral #FF7F50 255,127,80
Tomato #FF6347 255,99,71
OrangeRed #FF4500 255,69,0
DarkOrange #FF8C00 255,140,0
Orange #FFA500 255,165,0
Gold #FFD700 255,215,0
Yellow #FFFF00 255,255,0
LightYellow #FFFFE0 255,255,224
LemonChiffon #FFFACD 255,250,205
LightGoldenrodYellow #FAFAD2 250,250,210
PapayaWhip #FFEFD5 255,239,213
Moccasin #FFE4B5 255,228,181
PeachPuff #FFDAB9 255,218,185
PaleGoldenrod #EEE8AA 238,232,170
Khaki #F0E68C 240,230,140
h1 {
color: #8A8E27;
font-weight: normal;
font-family: Arial, Helvetica, sans-serif;
}
h2 {
color: #8A8E27;
Instituto de Diseño Publicitario
15
Diseño Web
font-weight: normal;
font-family: Arial, Helvetica, sans-serif;
}
h3 {
color: #8A8E27;
font-weight: normal;
font-family: Arial, Helvetica, sans-serif;
}
En este caso, CSS permite agrupar todas las reglas individuales en una sola regla con un selector
múltiple. Para ello, se incluyen todos los selectores separados por una coma (,) y el resultado es
que la siguiente regla CSS es equivalente a las tres reglas anteriores:
h1, h2, h3 {
color: #8A8E27;
font-weight: normal;
font-family: Arial, Helvetica, sans-serif;
}
En las hojas de estilo complejas, es habitual agrupar las propiedades comunes de varios elementos en
una única regla CSS y posteriormente definir las propiedades específicas de esos mismos elementos. El
siguiente ejemplo establece en primer lugar las propiedades comunes de los títulos de sección (color y
tipo de letra) y a continuación, establece el tamaño de letra de cada uno de ellos:
h1, h2, h3 {
color: #8A8E27;
font-weight: normal;
font-family: Arial, Helvetica, sans-serif;
}
h1 { font-size: 2em; }
h2 { font-size: 1.5em; }
h3 { font-size: 1.2em; }
La propiedad background tiene una forma rápida para las propiedades más específicas relacionadas
con background. Un valor no especificado recibirá el valor inicial. Por ejemplo, en las tres primeras
reglas de arriba, la propiedad background-position será establecida a 0% 0%. Mientras que en la
ultima estará abajo a la derecha.
Para ayudar a evitar conflictos con hojas de estilo del usuario, siempre deberían especificarse juntas las
propiedades background y color.
Para ayudar a evitar conflictos con hojas de estilo del usuario, siempre que use background-
color debería especificarse background-image. En la mayoría de casos, background-image:
none es adecuado.
Los autores también pueden usar la foma rápida de la propiedad background, que está mejor
soportada que la propiedad background-color.
p{
/* Para Navegadores que no soportan RGBa mostramos color sólido sin transparencia */
background: rgb(0, 0, 0);
/* Para navegadores que soportan RGBa mostramos el color sólido con un 50% de opacidad */
background: rgba(0, 0, 0, 0.5);
}
div {
/*Para los navegadores que no soportan varias imágenes*/
Instituto de Diseño Publicitario
17
Diseño Web
background:url(azulejo-pequeno.png);
/*En caso de soportar varias imágenes sustituye el estilo por este*/
background: url(foto1.png), url(foto2.png);
}
Como puedes ver, simplemente añadimos una coma al valor dado para incluir uno nuevo.
body {
background-image: url("circulo.jpg");
background-repeat: repeat;
}
body {
background-image: url("circulo.jpg");
background-repeat: space;
}
body {
background-image: url("circulo.jpg");
background-repeat: round;
}
Utilizando CSS3 podemos colocar múltiples imágenes de fondo con position o clip a un elemento
de html podría ser un div. Antes para conseguir esto teníamos que crear una sola composición con todas
las imágenes o múltiples divs para conseguir este objetivo, con las nuevas y mejoradas propiedades de
background de css3 conseguiremos ajustarlos a la necesidad presentada. Miremos como funciona.
Bueno para entender esto bien, necesitamos conocer la sintaxis.
La declaración de la propiedad es la misma de la anterior versión de css, solo que ahora añadimos
múltiples imágenes a la propiedad background-image y la separamos por medio de comas.
Podemos crear composiciones compuestas por varia imágenes y ubicarlas en diferentes posiciones para
lograr lo deseado. Ejemplo, vamos a ver un paisaje compuesto por 3 imágenes diferentes pero que
vamos a integrar en un solo div utilizando múltiples imágenes de fondos en css3.
<html>
<head>
<style text="text/css">
div{
height:400px;
width: 635px;
background-image: url(sol.png), url(vaca.png), url(paisaje.jpg);
background-repeat: no-repeat;
background-position: left top, right bottom, 0 0;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
Las posiciones que asignamos a cada imagen dependerán del orden en que tengamos las imágenes,
desde la primera hasta la última. Podemos abreviar este código de css para aplicar múltiples fondos de
imágenes de la siguiente forma.
div{
background:
url(sol.png) left top no-repeat,
url(vaca.png) right bottom no-repeat,
url(paisaje.jpg) 0 0 no-repeat;
div{
height:400px;
width: 635px;
background:url(foto.jpg) 0 0 no-repeat;
background-size: 50% 400px;
}
Permite que la propiedad compuesta background defina imágenes de fondo múltiples, simplemente
separando entre comas las referencias a cada imagen.
div {
border: black 2px solid;
background: url("naranja.png") repeat-x bottom, url("azul.png");
}
Proporcionando dimensiones
Utilizando el 100% del tamaño de la imagen vamos a tener la opción de que la imagen se redimensione
y se adapte al navegador o a la caja que contenga la imagen. Veamos:
div {
width:600px;
height:350px;
border: 5px solid hsla(30, 8%, 5%, .5);
background-image:url(foto.png);
/*Tamaño de la imagen 125 x 125*/
}
div {
width:600px;
height:350px;
border: 5px solid hsla(30, 8%, 5%, .5);
background-image:url(azulejo-pequeno.png);
/*Tamaño de la imagen 125 x 125*/
background-size: 50px auto;
}
div {
width:600px;
height:350px;
border: 5px solid hsla(30, 8%, 5%, .5);
background-image:url(azulejo-pequeno.png);
/*Tamaño de la imagen 125 x 125*/
/*background-size: 50px auto;*/
background-size: 50% 100%;
}
Obviamente estas variaciones de tamaños pueden hacer que las proporciones o ratio de nuestra
imagen varíen.
Podríamos decir que el atributo background-origin es una versión mejorada de background-position que
nos permite definir el origen de coordenadas desde el cual posicionamos la imagen.
div{
height:300px;
width: 435px;
background:url(sol.png) 0 0 no-repeat;
background-origin: content-box;
border: 5px solid #777;
padding: 15px;
}
background-clip: padding;
La función se suele invocar normalmente como fondo cuando se usa la propiedad background-image o
cuando se usa la propiedad shortand background (aunque quizás a ti se te ocurran otros usos que
podrías también probar).
div {
background: linear-gradient(to top, black, white);
}
Instituto de Diseño Publicitario
24
Diseño Web
Direccion angular
La especificación de dirección se puede hacer con una unidad angular o usando alguno de los siguientes
valores:
a) to bottom: indica que se comienza con el color inicial arriba (top) y se progresa hasta el color final
abajo (bottom). Equivale a un ángulo de 180deg.
b) to top: indica que se comienza con el color inicial abajo (bottom) y se progresa hasta el color final
arriba (top). Equivale a un ángulo de 0deg.
c) to right: indica que se comienza con el color inicial a la izquierda (left) y se progresa hasta el color
final a la derecha (right). Equivale a un ángulo de 90deg.
d) to left: indica que se comienza con el color inicial a la derecha (right) y se progresa hasta el color
final a la izquierda (left). Equivale a un ángulo de -90deg ó 270deg.
Paradas de color
Podemos definir tantos colores en nuestros degradados como queramos se puede especificar una lista
de colores separados por comas.
background: linear-gradient( 90deg, red, blue, yellow);
El número de colores puede ser el que se desee. Con esta sintaxis cada color ocupa una fracción del
espacio disponible. En el espacio anterior, se comienza con el rojo que se va degradando hasta
convertirse en azul, luego el azul se va degradando hasta convertirse en rojo y cada color ocupa un
tercio del espacio disponible por ser tres colores. Si fueran 5 colores, cada color ocuparía una quinta
parte del espacio disponible.
Otra posibilidad es especificar puntos de localización (stop points) de los colores, de forma que no se
distribuyan a partes iguales, sino como nosotros especifiquemos. La sintaxis es de tipo:
background: linear-gradient( 90deg, red, blue 20px, yellow);
Los prefijos
Antes de adentrarnos mas en las gradaciones, nos podemos preguntar ¿Qué son los prefijos? Pues
son palabras reservadas que suelen ir detrás de algunas propiedades css3 y que son distintas según
el navegador. Os dejo un listado de prefijos de los principales navegadores:
-webkit- (Google Chrome y Safari)
-moz- (Firefox)
-o- (Opera)
-ms- (Internet explorer)
Destacar que el uso de prefijos suele aplicarse a propiedades que se encuentran en fase
experimental o que aún no se han convertido en un estándar.
elemento{
background: -webkit-repeating-linear-gradient(#fff, #666 25%);
background: -moz-repeating-linear-gradient(#fff, #666 25%);
background: -o-repeating-linear-gradient(#fff, #666 25%);
background: repeating-linear-gradient(#fff, #666 25%);
}
elíptico) así como el tamaño. Por defecto, la forma final es una elipse con las mismas proporciones que
la caja contenedora.
Los parámetros que podemos indicar en la declaración radial-gradient() es donde realmente radica la
dificultad y a la vez la potencia de este tipo de degradados. No obstante, la mayoría de los parámetros
son opcionales, por lo que podemos hacer degradados radiales bastante simples, que tomarán
parámetros por defecto. En realidad, como veremos, lo único que necesitaremos siempre es definir dos
o más colores para realizar el gradiente de color.
.fondo-radial {
background-position: center center;
background: radial-gradient(circle, black, white);
}
closest-side ( el lado más cercano ): el gradiente se extiende hasta tocar el lado más cercano.
farthest-side ( el lado más alejado ): el gradiente se extiende hasta tocar el lado más alejado.
closest-corner ( la esquina más cercana ): el gradiente se extiende hasta tocar la esquina más
cercana.
farthest-corner ( la esquina más lejana ): el gradiente se extiende hasta tocar la esquina más
lejana.
header {
background: #DBD6D3;
height: 364px;
background: -moz-radial-gradient(50% 0% 0deg,circle farthest-corner,#FFFFFF,#DBD6D3);
background: -webkit-gradient(radial,50% 59,500,50% 0,40,from(#DBD6D3),to(#FFFFFF));
}
.fondo-radial {
background: radial-gradient(left bottom, circle farthest-side, #f7ff08 0%, #21ad11 50%, #00a3ef
80%);
}
Repetición de gradientes
La sintaxis es exactamente la misma que ya conocemos de los degradados lineales pero añadimos
repearting:
repeating-linear-gradient ()
repeating-radial-gradient ()
Siendo que en origen podremos colocar, tanto la posición inicial donde comienza el degradado, como el
ángulo que debe formar el gradiente. Luego, los colores, como también vimos, se indican separados por
comas. Sin embargo, ahora, para que realice la repetición, estamos obligados a señalar una parada de
color
Ejemplo de gradacion con repetición y prefijos:
.degradado{
background: -webkit-repeating-linear-gradient(#fff, #666 25%);
background: -moz-repeating-linear-gradient(#fff, #666 25%);
background: -o-repeating-linear-gradient(#fff, #666 25%);
background: repeating-linear-gradient(#fff, #666 25%);