Tabla de Contenidos

CSS Básico

Hojas de Estilo en Cascada (del inglés Cascading Style Sheets) o CSS, es el lenguaje de estilos utilizado para describir la presentación de documentos HTML. CSS es uno de los lenguajes base de la Open Web y posee una especificación estandarizada por parte del W3C.

Sintaxis

Para definir estilos, se hace el siguiente modo:

  p {                     /* Elemento HTML a dar formato, llamado selector */
    color: red;           /* Propiedad color del elemento (en ester caso texto del párrafo) */
    text_align: center;   /* Propiedad de alineamiento del texto, en este caso centrado */
    }

Las indentaciones y saltos de línea se han puesto e este modo para ganar claridad, pero son ignorados. Los elementos a dar formato se denominan selectores:

Cabe la posibilidad de que a un elemento se le puedan asignar varias clases en el HTML:

p class="nombreClase1 nombreClase2"

Combinators

Un selector CSS (elemento a dar formato), puede tomar más de un simple selector. Un combinator es un operador entre selectores, para definir una relación entre ambos, a la que se le aplicará el estilo:

Pseudoclases y pseudoelementos

Las pseudoclases definen diferentes formas en que puede visualizarse un elemento dependiendo de su estado, ejemplo: enlace antes de ser pulsado, después de ser pulsado o cuando se sitúa el cursor sobre él. Pueden combinarse con las clases. Sintaxis:

selector:pseudo-clase {
  propiedad: valor;
}

Ejemplo:

 /* unvisited link */
a:link {
  color: #FF0000;
}
 
/* visited link */
a:visited {
  color: #00FF00;
}
 
/* mouse over link */
a:hover {
  color: #FF00FF;
}
 
/* selected link */
a:active {
  color: #0000FF;
} 

Los Pseudoelementos dan estilo a diferentes partes de un elemento.
Sintaxis:

selector::pseudo-elemento {
  propiedad: valor;
}

Ejemplo:

p::first-line {
  color: #ff0000;
  font-variant: small-caps;
}
 
p::first-letter {
  color: #ff0000;
  font-size: xx-large;
}

Declaración de estilos

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="mystyle.css">
  </head>
<body>
  <h1>This is a heading</h1>
  <p>This is a paragraph.</p>
</body>
</html> 

Cuando se declaran a la vez en diferentes sitios, se toman por orden de preferecia:

  1. En línea.
  2. Interno.
  3. Externo.
  4. Por defecto del explorador.

Comentarios

Los comentarios en CSS tienen la sintaxis /* Línea/s de comentario */ No olvidar que en HTML los comentarios eran de la forma <!– Comentario –>

Modelo de Caja

CSS funciona con un “modelo de caja”. Cada elemento se encuentra dentro de una caja, cuyos límites, bordes, colocación y espacios interiores y exteriores pueden definirse mediante distintas propiedades.

Modelo de caja de CSS

En este modelo se distinguen las propiedades:

Ancho (Width) y alto (Height) de un elemento

Estas propiedades se refieres al ancho y alto del contenedor (contenido), sin contar margin, padding y borders. El ancho y alto totales de la caja es el resultdo de sumer ancho/alto, más margin, padding y bordes.

Outline

Aunque no está referenciada respecto al modelo de caja, existe un elemento denominado Outline, que se corresponde con una línea exterior al borde, pero pegada al mismo. Al no referenciar al modelo de caja, puede solapar a éste en función de las propiedades que tenga declaradas.

Posicionamiento (Layout)

Los elementos se posicionan con las propiedades top, bottom, left y right. Sin embargo, estas propiedades no funcionarán a menos que se establezca primero la propiedad position, y funcionan diferente según el valor de esta posición:

z-index

Esta propiedad lo que indica es la prioridad en caso de solapamiento de elementos.

Visualización

Hay dos maneras de controlar los elementos que aparecen: display y visivility.

Display

Es la propiedad CSS más importante para controlar el layout. Indica si un elemento se muestra (se carga o no en la web) y de qué manera. Cada elemento HTML tiene un valor de display por defecto dependiendo de su tipo de elemento. La mayoría de los elements son block o inline:

Display tiene una gran cantidad de propiedades.

Visivility

Esta propiedad indica si el elemento se muestra, pero siempre se carrga en la web, y por lo tanto se respeta su hueco, a diferencia de display. Algunos de sus valores son:

Float

La propiedad float especifica si un elemento debe flotar hacia la izquierda, hacia la derecha o no flotar. Los elementos posicionados absolute ignoran esta propiedad. Los elementos próximos a un elemento flotante fluirán a su alrededor. Para evitar esto, hay que usar la propiedad clear o el truco clearfix.

Clear

Esta propiedad se usa cuando se desea situar un elemento debajo de un float (no a su izquierda o derecha):

Overflow

Esta propiedad indica qué ocurre cuando un contenido es mayor que el elemento que lo contiene (caja). Algunos valores que puede tomar: