Documente Academic
Documente Profesional
Documente Cultură
CSS controla el aspecto grfico del documento mediante hojas de estilo (style sheets),
indicando al navegador cmo se deben renderizar los elementos de un documento HTML.
Consiguiendo as separar el aspecto del contenido.
Comienza con una llave inicial { y termina con la correspondiente llaven final }; cada
bloque de declaracin: {declaracin; declaracin} separadas por punto y coma ;.
Cada declaracin: propiedad : valor; (fija un valor para una propiedad).
El valor de cada propiedad puede ser: palabra clave, literal, nmero, longitud, porcentaje,
URL, color, ngulo, tiempo, frecuencia o contador.
HTML tiene tres maneras de referenciar la informacin del estilo:
La principal ventaja es que las hojas de estilo son aplicables a una o a muchas
pginas. Pueden contener indicaciones de estilo para cada uno de los distintos dispositivos de
presentacin y segn tamao y resolucin de la pantalla (Diseo fluido o adaptativo).
Las reglas CSS ms importantes ordenadas de menor a mayor son:
Puede disearse el estilo de manera genrica, que afecte a todos los elementos de la pgina
con una etiqueta HTML.
p{
color: #F00;
}
CSS permite el uso de selectores mltiples para agrupar varias reglas individuales en una
sola regla. Los selectores deben ir separados por comas (,)
h1, h2, h3 {
color: #F00;
}
2-1 Herencia CSS.
Para entender la herencia es necesario entender el rbol del documento.
Si definimos un estilo en el body, todos los elementos situados debajo en el rbol del
documento, heredan esa propiedad.
Hay algunas propiedades HTML que no se heredan, como por ejemplo border.
El selector de clase .nombre afecta a todos los elementos con esa clase (class). Se puede
utilizar la misma clase en varios elementos, y varias clases en el mismo elemento.
El selector (id) #nombre afecta al elemento con el (id) #nombre (es nico en toda la pgina
web).
Selector elemento
p { color: green; }
afecta a todos los elementos <p>...</p>.
Selector elemento, elemento
h1, h2, h3, h4, h5, h6 { color: blue; }
afecta a cada uno de los h.
Selector elemento elemento
div p { color: pink; }
afecta a todos los elementos <p> dentro de un <div> (sin importar el nivel de profundidad).
Selector elemento>elemento
div > p { color: blue; }
afecta a todos los elementos hijos <p> cuyo padre es <div>.
Selector elemento+elemento
div + p { color: red; }
afecta a los elementos <p> que estn situados inmediatamente despus del elemento <div> no
dentro de el.
Selector elemento:first-child
selecciona el primer elemento hijo.
Selector elemento:last-child
selecciona el ltimo elemento hijo.
Selector elemento:nth-child(nmero)
selecciona un elemento hijo especfico.
Selector elemento.atencion
todos los elementos de tipo elemento con atributo class=atencion
Selector :link, :visited, :active, :hover
a:link, a:visited, a:active, a:hover
:link estilo aplicado a los enlaces no visitados, :visited cuando el enlace ha sido visitado, :active
cuando el elemento est activo, :hover cuando el ratn est sobre el enlace. Como los navegadores
muestran por defecto los enlaces de color azul y los enlaces visitados de color morado, es habitual
modificar los estilos para adaptarlos a la gua de estilo del sitio web.
Cuando se crean archivos CSS con cientos de normas de estilo que se aplican a diferentes
selectores, se pueden agrupar aquellos selectores con las mismas normas para hacer las hojas de
estilos ms eficientes.
Cuando dos declaraciones tienen el mismo valor, ser la ltima especificada la que se aplique.
2-4 Unidades de medida
Las medidas en CSS se emplean, para definir la altura, anchura y mrgenes de los elementos
y para establecer el tamao de letra de texto. Todas las medidas se indican como un valor numrico
entero o decimal seguido de una unidad de medida (sin ningn espacio en blanco entre el nmero y
la unidad de medida). Si el valor es 0, la unidad de medida es opcional. Si el valor es distinto a 0 y
no se indica ninguna unidad, la medida se ignora. Si el valor decimal de una medida es inferior a 1,
se puede omitir el 0 de la izquierda (0.5em es equivalente a .5em).
Las unidades absolutas establecen de forma completa el valor:
La principal ventaja de las unidades absolutas es que su valor es directamente el valor que se
debe utilizar, su principal desventaja es que son muy poco flexibles y no se adaptan fcilmente a los
diferentes medios.
De todas las unidades absolutas, la nica que suele utilizarse es el punto (pt). Se trata de la
unidad de medida preferida para establecer el tamao del texto en los documentos que se van a
imprimir (print).
Las unidades relativas definen su valor en relacin con otra medida, son las ms utilizadas
en el diseo web por su flexibilidad con la que se adaptan a los diferentes medios:
em, (no confundir con la etiqueta <em> de HTML) relativa respecto del tamao de
letra del elemento, 1em equivale a la anchura de la letra M.
ex, relativa respecto de la altura de la letra x minsculas del tipo y tamao de letra
del elemento.
px, (pxel) relativa respecto de la resolucin de la pantalla del dispositivo en el que
se visualiza la pgina HTML.
Los navegadores muestran por defecto el texto de los prrafos con un tamao de letra de
16px.
El W3C recomienda el uso de la unidad em para indicar el tamao del texto y para tadas las
medidas que sean posibles. Normalmente se utilizan px y % para definir el layout del documento
(anchura de las columnas y de los elementos de las pginas) y em y % para el tamao de letra de los
textos.
2-5 Colores
Los colores en CSS se pueden indicar de esta manera; palabras clave, RGB hexadecimal,
RGB numrico y RGB porcentual. El mtodo ms habitual es el RGB hexadecimal.
#A0F = AA00FF
#369 = #336699
Las letras que forman parte del color en formato RGB hexadecimal se pueden escribir en
maysculas o minsculas indistintamente, se recomienda escribirlas en maysculas.
2-6 Medios CSS
CSS permite definir diferentes estilos para diferentes medios o dispositivos; pantallas,
impresoras, mviles, proyectores, etc:
Medio
Descripcin
all
Todos los medios definidos
braille
Dispositivos tctiles que emplean el sistema braille
embosed
Impresoras braille
handheld
Dispositivos de mano: mviles, PDA, etc.
print
Impresoras y navegadores en el modo "Vista Previa para Imprimir"
projection Proyectores y dispositivos para presentaciones
screen
Pantallas de ordenador
speech
Sintetizadores para navegadores de voz utilizados por personas discapacitadas
tty
Dispositivos textuales limitados como teletipos y terminales de texto
tv
Televisores y dispositivos con resolucin baja
Los medios ms utilizados actualmente son screen (para definir el aspecto de la pgina en
pantalla), print (para definir el aspecto de la pgina cuando se imprime) y handheld (que define el
aspecto de la pgina cuando se visualiza mediante un dispositivo mvil).
CSS clasifica a los medios en diferentes grupos segn sus caractersticas:
Continuo /
Paginado
braille
continuo
embossed
paginado
handheld
ambos
print
paginado
projection paginado
screen
continuo
speech
continuo
tty
continuo
tv
ambos
Medio
Visual / Auditivo /
Tctil / Vocal
tctil
tctil
visual, auditivo, vocal
visual
visual
visual, auditivo
vocal
visual
visual, auditivo
Mapa de bits /
Caracteres
caracteres
caracteres
ambos
mapa de bits
mapa de bits
mapa de bits
(no tiene sentido)
caracteres
mapa de bits
Interactivo /
Esttico
ambos
esttico
ambos
esttico
interactivo
ambos
ambos
ambos
ambos
La gran ventaja de CSS es que permite modificar los estilos de una pgina en funcin del
medio en el que se visualiza. Existen cuatro formas diferentes de indicar el medio en el que se
deben aplicar los estilos CSS.
a) Medios definidos con las reglas de tipo @media:
Las reglas @media son un tipo especial de regla CSS que permiten indicar de forma
directa el medio o medios en los que se aplicarn los estilos incluidos en la regla. Para especificar el
medio en el que se aplican los estilos, se incluye su nombre despus de @media. Si los estilos se
aplican a varios medios, se incluyen los nombres de todos los medios separados por comas. A
continuacin se muestra un ejemplo:
@media print {
body { font-size: 10pt }
}
@media screen {
body { font-size: 13px }
}
@media screen, print {
body { line-height: 1.2em }
}
El ejemplo anterior establece que el tamao de letra de la pgina cuando se visualiza en una
pantalla debe ser 13 px. Sin embargo, cuando se imprimen los contenidos de la pgina, su tamao
de letra debe ser de 10 pt. Por ltimo, tanto cuando la pgina se visualiza en una pantalla como
cuando se imprimen sus contenidos, el interlineado del texto debe ser de 1.2em.
Los estilos CSS que se aplican cuando se visualiza la pgina en una pantalla se obtienen
mediante el recurso enlazado con la etiqueta <link> y mediante el archivo CSS externo incluido
con la regla de tipo @import. Adems, los estilos aplicados cuando se imprime la pgina se
indican directamente en la pgina HTML mediante la regla de tipo @media.
1.
2.
3.
4.
5.
6.
7.
width ; establece la anchura de la caja. Se aplica a todos los elementos, excepto los de lnea
que no sean imgenes, las filas de tabla y los grupos de filas de tabla.
Unidad de medida | porcentaje | auto | inherit (el elemento hereda el valor del elemento padre
para esta propiedad)
#caja { width: 400px; }
<div id=caja>
...
</div>
height ; establece la altura de la caja. Se aplica a todos los elementos, excepto los de lnea
que no sean imgenes, las filas de tabla y los grupos de filas de tabla.
Unidad de medida | porcentaje | auto | inherit (el elemento hereda el valor del elemento padre
para esta propiedad)
#caja { height: 400px; }
<div id=caja>
...
</div>
margin-top, margin-right, margin-bottom, margin-left ; establece los margenes horizontales
y verticales de la caja, margin-top y margin-bottom slo se pueden aplicar a los elementos de
bloque y las imgenes mientras que margin-left y margin-right se pueden aplicar a cualquier
elemento.
Unidad de medida | porcentaje | auto | inherit (el elemento hereda el valor del elemento padre
para esta propiedad)
La propiedad que permite definir de forma simultanea los cuatro mrgenes es margin,
valores que puede tener:
1. Si solo se indica un valor, todos los mrgenes tienen el mismo.
2. Si se indican dos valores, el primero se asigna al margen superior e inferior y el segundo a
los de izquierda y derecha.
3. Tres valores, el primero margen superior, el tercero margen inferior y el segundo mrgenes
izquierdo y derecho.
4. Cuatro valores, el orden es superior, derecho, inferior e izquierdo.
div.caja {
margin: .5em .8em .4em 1em;
}
margin ; establece de forma simultanea los cuatro mrgenes (shorthand = atajo).
Unidad de medida | porcentaje | auto | inherit (el elemento hereda el valor del
elemento padre para esta propiedad)
Cuando se juntan dos o ms mrgenes verticales, se fusionan de forma automtica y la altura
del nuevo margen ser igual a la altura del margen ms alto de los que se han fusionado.
Si un elemento est contenido dentro de otro elemento, sus mrgenes verticales se fusionan
y resultan en un nuevo margen de la misma altura que el mayor margen de los que se han fusionado.
La propiedad que permite definir de forma simultanea los cuatro rellenos es padding, valores
que puede tener:
1. Si solo se indica un valor, todos los mrgenes tienen el mismo.
2. Si se indican dos valores, el primero se asigna al margen superior e inferior y el segundo a
los de izquierda y derecha.
3. Tres valores, el primero margen superior, el tercero margen inferior y el segundo mrgenes
izquierdo y derecho.
4. Cuatro valores, el orden es superior, derecho, inferior e izquierdo.
div.caja {
padding: .5em .8em .4em 1em;
}
padding ; establece los cuatro rellenos de un elemento de forma simultnea, (shorthand = atajo).
Unidad de medida | porcentaje | inherit (el elemento hereda el valor del elemento padre para
esta propiedad)
border-style ; establece de forma simultnea los estilos de todos los bordes de una caja,
(shorthand=atajo).
None | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset | inherit (el
elemento hereda el valor del elemento padre para esta propiedad)
border-top, border-right, border-bottom, border-left, establece el estilo completo de cada uno de los
cuatro bordes de los elementos, (shorthand=atajo).
Unidad de medida borde || color borde || estilo borde | inherit (el elemento hereda el valor del
elemento padre para esta propiedad)
border ; (shorthand=atajo) establece el valor de todos los atributos de todos los bordes de
forma directa.
Unidad medida borde || color borde || estilo borde| inherit (el elemento hereda el valor del
elemento padre para esta propiedad)
30px(margen)+10px(borde)+50px(relleno)+300px(div)+50px(relleno)+10px(borde)+30px(margen) = 480px
2-9 Fondos
El fondo solamente se visualiza en el rea ocupada por el contenido y su relleno, ya que el
color de los bordes se controla directamente desde los bordes y las zonas de los mrgenes siempre
son transparentes.
background-color ; permite mostrar un color de fondo slido.
Color | transparent | inherit (el elemento hereda el valor del elemento padre para esta
propiedad)
background-image ; permite mostrar una imagen como fondo de una caja.
Url | none | inherit (el elemento hereda el valor del elemento padre para esta
propiedad)
CSS permite establecer de forma simultnea un color y una imagen de fondo. En este caso,
la imagen se muestra delante del color, por lo que solamente si la imagen contiene zonas
transparentes es posible ver el color de fondo.
background-repeat ; controla la forma en la que se repiten las imgenes de fondo.
repeat | repeat-x | repeat-y | no-repeat | inherit (el elemento hereda el valor del
elemento padre para esta propiedad)
repeat ; indica que la imagen se debe repetir en todas direcciones, comportamiento por
defecto.
no-repeat ; muestra una sola vez la imagen y no se repite en ninguna direccin.
repeat-x ; repite la imagen slo horizontalmente.
repeat-y ; repite la imagen slo verticalmente.
background-position ; controla la posicin de la imagen dentro del elemento, desplazando la
imagen de fondo respecto de la esquina superior izquierda.
top left | top center | top right | center left | center center | center right | bottom left | bottom center |
bottom right | x-% y-% | x-pos y-pos | inherit (el elemento hereda el valor del elemento padre para
esta propiedad)
Si solamente se indica un porcentaje o una medida, se considera que es el desplazamiento
horizontal y al desplazamiento vertical se le asigna automticamente el valor de 50%.
background-attachment ; controla la forma en la que se visualiza la imagen de fondo;
permanece fija cuando se hace scroll en la ventana del navegador o se desplaza junto con la
ventana.
scroll | fixed | inherit (el elemento hereda el valor del elemento padre para esta propiedad)
fixed ; hace que una imagen se muestre fija al desplazarse la ventana del navegador.
background ; establece todas las propiedades del fondo de un elemento, (shorthand=atajo),
permite asignar todos o slo algunos de los valores que se pueden definir.
background color || background image || background repeat || background attachment || background
position | inherit (el elemento hereda el valor del elemento padre para esta propiedad)
body { background: #222d2d url(./images/foto.jpg) repeat-x 0 0; }
3 Posicionamiento
Los navegadores crean y posicionan de forma automtica todas las cajas que forman cada
pgina HTML. CSS permite modificar la posicin en la que se muestran, CSS define cinco modelos
diferentes para posicionar una caja:
Si las cajas en lnea ocupan ms espacio del disponible en su propia lnea, el resto de cajas
se muestran en las lneas inferiores. Si las cajas en lnea ocupan un espacio menor que su propia
lnea, se puede controlar la distribucin de las cajas mediante la propiedad text-align para centrarlas,
alinearlas a la derecha o justificarlas.
La caja 2 est posicionada de forma absoluta, lo que provoca que el resto de elementos de la
pgina modifiquen su posicin. La caja 3 deja su lugar original y pasa a ocupar el hueco dejado por
la caja 2.
El primer elemento contenedor que est posicionado de cualquier forma diferente a position:
static se convierte en la referencia que determina la posicin de la caja posicionada de forma
absoluta. Si ningn elemento contenedor est posicionado, la referencia es la ventana del navegador.
El desplazamiento de una caja posicionada de forma absoluta se controla mediante las
propiedades top, right, bottom y left. La interpretacin de los valores de estas propiedades depende
del elemento contenedor de la caja posicionada.
El valor de la propiedad top indica el desplazamiento desde el borde superior de la caja hasta
el borde superior del elemento contenedor que se utiliza como referencia.
El valor de la propiedad right indica el desplazamiento desde el borde derecho de la caja
hasta el borde derecho del elemento contenedor que se utiliza como referencia.
El valor de la propiedad bottom indica el desplazamiento desde el borde inferior de la caja
hasta el borde inferior del elemento contenedor que se utiliza como referencia.
El valor de la propiedad left indica el desplazamiento desde el borde izquierdo de la caja
hasta el borde izquierdo del elemento contenedor que se utiliza como referencia.
La caja 1 es de tipo flotante, por lo que desaparece del flujo normal de la pgina y el resto de
cajas ocupan su lugar. El resultado es que la caja 2 ahora se muestra donde estaba la caja 1 y la caja
3 se muestra donde estaba la caja 2.
Al mismo tiempo, la caja 1 se desplaza todo lo posible hacia la izquierda de la posicin en la
que se encontraba. El resultado es que la caja 1 se muestra encima de la nueva posicin de la caja 2
y tapa todos sus contenidos.
Si existen otras cajas flotantes, al posicionar de forma flotante otra caja, se tiene en cuenta el
sitio disponible. En el siguiente ejemplo se posicionan de forma flotante hacia la izquierda las tres
cajas:
En el ejemplo anterior, las cajas no se superponen entre s porque las cajas flotantes tienen
en cuenta las otras cajas flotantes existentes. Como la caja 1 ya estaba posicionada lo ms a la
izquierda posible, la caja 2 slo puede colocarse al lado del borde derecho de la caja 1, que es el
sitio ms a la izquierda posible respecto de la zona en la que se encontraba.
Si no existe sitio en la lnea actual, la caja flotane baja a la lnea inferior hasta que encuentra
el sitio necesario para mostrarse lo ms a la izquierda o lo ms a la derecha posible en esa nueva
lnea:
Las cajas flotantes influyen en la disposicin de todas las dems cajas. Los elementos en
lnea hacen sitio a las cajas flotantes adaptando su anchura al espacio libre dejado por la caja
desplazada. Los elementos de bloque no les hacen sitio, pero s que adaptan sus contenidos para que
no se solapen con las cajas flotantes.
float ; permite posicionar de forma flotante una caja.
left | right | none | inherit
Si se indica un valor left o right, la caja se desplaza hasta el punto ms a la izquierda o
derecha posible en esa misma lnea (si no existe sitio en esa lnea, la caja baja una lnea y se
muestra lo ms a la izquierda o derecha posible en esa nueva lnea). El resto de elementos
adyacentes se adaptan y fluyen alrededor de la caja flotante.
La propiedad clear indica el lado del elemento HTML que no debe ser adyacente a ninguna
caja posicionada de forma flotante. Si se indica el valor left, el elemento se desplaza
descendentemente hasta que el borde superior del elemento est por debajo del borde inferior de
cualquier elemento flotante hacia la izquierda, (right, al lado derecho).
El valor both despeja los lados izquierdo y derecho del elemento, ya que desplaza el
elemento de forma descendente hasta que el borde superior se encuentre por debajo del borde
inferior de cualquier elemento flotante hacia la izquierda y hacia la derecha.
4 Visualizacin
La propiedad display permite ocultar completamente un elemento haciendo que desaparezca
de la pgina. Como el elemento oculto no se muestra, el resto de elementos de la pgina se mueven
para ocupar su lugar.
La propiedad visibility permite hacer invisible un elemento, no la muestra pero sigue
ocupando su sitio.
La propiedad display: inline se puede utilizar en las listas (<ul>, <ol>) que se quieren
mostrar horizontalmente y la propiedad display: block se emplea para los enlaces que forman el
men de navegacin.
visibility ; permite hacer visibles e invisibles a los elementos.
visible | hidden | collapse | inherit
Inicialmente todas las cajas que componen la pgina son visibles. Empleando el valor
hidden es posible convertir una caja en invisible para que no muestre sus contenidos. El resto de
elementos de la pgina se muestran como si la caja todava fuera visible, por lo que en el lugar
donde originalmente se mostraba la caja invisible, ahora se muestra un huevo vaco.
El valor collapse slo se puede utilizar en las filas, grupos de filas, columnas y grupos de
columnas de una tabla. Su efecto es similar al de la propiedad display, ya que oculta completamente
la fila y/o columna.
4-1 Relacin entre display, float y position
Cuando se establecen las propiedades display, float y position sobre una misma caja, su
interpretacin es la siguiente:
1. Si display vale none, se ignoran las propiedades float y position y la caja no se muestra en la
pgina.
2. Si position vale absolute o fixed, la caja se posiciona de forma absoluta, se considera que
float vale none y la propiedad display vale block tanto para los elementos en lnea como
para los elementos de bloque. La posicin de la caja se determina mediante el valor de las
propiedades top, right, bottom y left.
3. En cualquier otro caso, si float tiene un valor distinto de none, la caja se posiciona de forma
flotante y la propiedad display vale block tanto para los elementos en lnea como para los
elementos de bloque.
4-2 Propiedad overflow
Normalmente, los contenidos de un elemento se pueden mostrar en el espacio reservado para
ese elemento. Sin embargo, en algunas ocasiones el contenido de un elemento no cabe en el espacio
reservado para ese elemento y se desborda. Overflow controla la forma en la que se visualzian los
contenidos que sobresalen de sus elementos.
overflow ; controla los contenidos sobrantes de un elemento.
visible | hidden | scroll | auto | inherit
visible ; el contenido no se corta y se muestra sobresaliendo la zona reservada para
visualizar el elemento. Este es el comportamiento por defecto.
hidden ; el contenido sobrante se oculta y slo se visualiza la parte del contenido que cabe
dentro de la zona reservada para el elemento.
scroll ; solamente se visualiza el contenido que cabe dentro de la zona reservada para el
elemento, pero tambin se muestran barras de scroll que permiten visualizar el resto
del contenido.
auto ; el comportamiento depende del navegador, aunque normalmente es el mismo que la
propiedad scroll.
La propiedad z-index slo tiene efecto en los elementos posicionados, por lo que es
obligatorio que la propiedad z-index vaya acompazada de la propiedad position. Si debes posicionar
un elemento pero no quires moverlo de su posicin original ni afectar a resto de elementos de la
pgina, puedes utilizar el posicionamiento relativo (position: relative).
div { position: absolute }
#caja1 { z-index: 5; top: 1em; left: 8em; }
#caja2 { z-index: 15; top: 5em; left: 5em; }
#caja3 { z-index: 25; top: 2em; left: 2em; }