Publicación Web: El lenguaje CSS
Este curso enseña los conceptos básicos de CSS (Cascading Style Sheet) como lenguaje de presentación (Diseño) de páginas Web. El lenguaje sólo se aprende haciendo y prácticando
Objetivos
- Crear y mantener una Hoja de Estilos
- Entender las especificaciones del lenguaje CSS
Clases
- Introducción a Hojas de Estilos CSS)
- Qué es CSS y para qué sirve
- Necesidad de separar Diseño y Contenido
- Sintaxis de las Reglas CSS. Por ejemplo: pre { background: #C0C0C0;}
- Selector (pre). Etiquetas HTML
- Declaración (background-color: #C0C0C0;)
- Propiedad (background-color)
- Valor (#C0C0C0)
- Sintaxis: Etiqueta { propiedad: valor [;...]} Ejemplo
H1 { background-color: blue; font-weight: bold; font-size: 12pt; line-height: 14pt; font-family: Helvetica; font-variant: normal; font-style: normal; }
- Aplicar Estilos al HTML:
- Directamente en la etiqueta HTML (un estilo por etiqueta)
- En la etiqueta STYLE del documento (todos los estilos juntos)
- En una hoja de Estilos (en un archivo aparte):
- Archivo de texto (Ver ejemplo)
- Incluyendo la hoja de estilos en el documento HTML: elemento LINK, atributos rel (relative), href (URL), type (MIME type: text/css)
<link href="http://www.prueba.com/css/estilo_site.css" type="text/css" rel="stylesheet" >
- Lo básico: Empezando con CSS
- Mejorar el diseño de una página HTML usando CSS
- Utilizar la estructura básica del documento
- Usar Elementos HTML
- Blocklevel (tienen salto de línea, formato párrafo). Por ejemplo: p, h1, h2, div
- Inline (en la misma línea, formato caracter). Por ejemplo: a, strong, b
- Etiquetas más utilizadas (HTML):
- Mejorar el diseño de una página HTML usando CSS
- Entendiendo las especificaciones
- Especificaciones Oficiales CSS: Inglés (v1.0, 2.1, 3.0) / Español (v2.1)
- Uso de Selectores
- Selector de Tipo. Elemento o Etiqueta (por ejemplo h1)
- Selectores de Descendientes. Por ejemplo p b (elemento b dentro de p)
- Selectores de Clase (Atributo class de elemento HTML). Por ejemplo h1.ejemplo ó *.ejemplo ó .ejemplo
- Selectores de ID (Atributo id de elemento HTML): Por ejemplo h1#ejemplo ó #ejemplo
- Varios estilos a la vez
- Agrupar varios Selectores. Separados por comas
- Agrupar varias Declaraciones. Separados por espacios y punto y coma
- Por ejemplo (tres selectores y dos declaraciones):
#header h1 img { font-weight: bold; color: #7f7c45; }
- Valores (Tipos de Datos):
- Numeros: enteros (integer), reales (number), porcentajes (número más %)
- Medidas (lenght), Dimensiones horizontales y/o verticales: número mas identificador de unidad (absolutas o relativas). Usar em
- URL: Por ejemplo li { list-style: url(http://www.example.com/redball.png);}
- Color (color): Uso de nombres o Modelo RGB (6 dígitos hexadecimales). Por ejemplo h1 { color: #ff0000 }
- Texto (content): cadena de caracteres
- Ejemplos de valores: Arial (content), 1 em (length), 1px (lenght), #656565 (color), 3.90 (number).
- Conceptos Avanzados
- Operadores en la sintaxis:
- La barra |: opción, uno sólo de los valores
- la doble barra ||: varios valores
- multiplicadores * + {n,m} ? : uno, varios, o un número concreto
- Sintaxis de la Propiedad:
- 'nombre_de_la_propiedad': Nombre de la propidedad
- Valor: tipo de valor que puede tener
- Inicial: valor inicial que tiene si no se especifica
- Se aplica a: Elementos a los que se aplica
- Se hereda:
- Porcentajes: si acepta valores tipo porcentaje
- Medios: medio al que aplica
- Modelo de caja (Box Model):
- Margin. Ejemplo: margin: 1.2em 1.2em 1.2em 1.2em;
- Border (varias propiedades). Ejemplo: border-style: solid dashed dotted dotted
- Padding. Ejemplo: padding: 12px 0px 12px 12px;
- Contenido. texto o imagen
- Posición. Top, Right, Bottom, Left (en este orden)
- Ejemplos de Propiedades:
'background-color' Valor: <color> | transparent | inherit Inicial: transparent Se aplica a: todos los elementos Se hereda: no Porcentajes: N/A Medios: visuales
p { background-color: #00CC00; }
'border' Value: [ <border-width> || <border-style> || <'border-top-color'> ] | inherit Initial: see individual properties Applies to: all elements Inherited: no Percentages: N/A Media: visual Computed value: see individual properties
p { border: 2em solid red; }
'font-style' Value: normal | italic | oblique | inherit Initial: normal Applies to: all elements Inherited: yes Percentages: N/A Media: visual Computed value: as specified
p { font-style: italic; }
- Propiedades CSS según grandes tipos: fuentes (font), bordes (border), colores y fondos (background), listas (list), etc
- Operadores en la sintaxis:
- Ejemplo Básico de una hoja de estilos:
- Conceptos a tener en cuenta: herencia, clases, identificadores, seudoclases, seudoelementos
- Diseño: primero en papel (Paper Prototyping) y luego programar
- Formatos a tener en cuenta:
- Caracteres y párrafos
- Cajas: bordes, margenes, colores
- Tablas/Divs: encabezados, contenidos (td)
- ¿Puedo diseñar de cualquier manera? No, hay recomendaciones (Usability 101)
- Más selectores
- pseudo-clases y seudo-elementos: Propiedades especiales dentro de la estructura del documento.
- Pseudo-Clases.
- Para Enlaces: :link (enlace), :visited (enlace visitado), :hover(cuando pasa el ratón por encima ), :active (al activar un objeto), :focus (cuando el objeto tiene el foco)
- Por herencia/jerarquía :first-child (primer hijo de ese elemento)
- Pseudo-Elementos:
- En párrafos :first-line , :first-letter
- Listas y Párrafos :before (contenido antes del elemento), :after
- Un ejemplo de aplicación de seudo elementos y seudo clases:
Fijate que sólo la primera línea de este párrafo tiene un comportamiento especial (first-line), puedes probar a redimensionar la página. Además la primera letra (first-letter) de los párrafos es diferente.
En la siguiente lista puedes ver el comportamiento sobre el enlace según haya sido visitado (visited), o pases por encima (hover) o simplemente lo actives (focus). Ademas antes (before) y después (after) de cada elemento aparece un texto (Inicio: ó :Fin)
- Primer Elemento
- Propiedades de un enlace (Enlace)
Actividades
- Ver un ejemplo sencillo de CSS (en papel)
- Crear una hoja de estilos básica y aplicarla a un documento HTML
- Completar la hoja de estilos con diferentes elementos
- Entender y practicar con una hoja de estilos ya hecha (por ejemplo esta)
Ejercicio Final:
- Crear una hoja de estilos para una comunicación (carta) de convocatoria a una reunión (avanzado: diferentes para pantalla y para impresión)
- Crear una página HTML maquetada con cinco partes (arriba, derecha, abajo, izquierda y centro) (avanzado: diseño elástico y adaptable)
La hoja de estilos ha de estar documentada, y se hará una página HTML para que muestre el diseño y hacer las pruebas.
Duración del Curso
El esfuerzo estimado del curso es de 1 crédito ECTS. Unas 30 horas de dedicación.
Recursos a Utilizar
- En español:
- Aprendiendo CSS. Aunque sobre CSS 1.0 está muy bien hecho
- Manual
- Sustituir Tablas utilizando CSS
- Artículo sobre Buenas costumbres para codificar CSS
- En inglés:
- CodeAcademy Exercises (Try it Yourself!)