9
Universidad Centroamericana “José Simeón Cañas” Materia: Fundamentos de computación Ciclo 01/2010 Práctica 6 CSS: Cascade StyleSheet OBJETIVOS Que el alumno: Conozca una variante para dar estilo a las páginas web. Ponga en práctica lo aprendido en el laboratorio. CONTENIDO 1. Introducción a CSS 2. Aplicación del CSS 3. Herencia de estilos 4. Estilo en función del contexto 5. Clases 6. Etiquetas 7. Propiedades 8. Tarea EL INSTRUCTOR Al finalizar la práctica, se explicará la tarea a entregar como máximo tres días después de la practica. Semana del 17 al 21 de mayo de 2010

Guia6

  • Upload
    alexis

  • View
    459

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Guia6

Universidad Centroamericana

“José Simeón Cañas”

Materia: Fundamentos de computación

Ciclo 01/2010

Práctica 6

CSS: Cascade StyleSheet

OBJETIVOS

Que el alumno:

Conozca una variante para dar estilo a las páginas web.

Ponga en práctica lo aprendido en el laboratorio.

CONTENIDO

1. Introducción a CSS

2. Aplicación del CSS

3. Herencia de estilos

4. Estilo en función del contexto

5. Clases

6. Etiquetas

7. Propiedades

8. Tarea

EL INSTRUCTOR

Al finalizar la práctica, se explicará la tarea a entregar como máximo tres

días después de la practica.

Semana del 17 al 21 de mayo de 2010

Page 2: Guia6

1. Introducción a CSS

CSS son las siglas de "Cascade StyleSheet". Se trata de una especificación sobre los estilos

físicos aplicables a un documento HTML, y trata de dar la separación definitiva de la lógica

(estructura) y el físico (presentación) del documento.

Estilos

El estilo lógico se refiere a la lógica del documento: cabeceras, párrafos, ... no se preocupa de

la apariencia final, sino de la estructura del documento. Por el contrario, el estilo físico no se

preocupa de la estructura del documento, sino por la apariencia final: párrafos con un cierto

tipo de letra, tablas con un determinado color de fondo, ...

La finalidad de las hojas de estilo es crear unos estilos físicos, separados de las etiquetas HTML

(en lugar de como parámetros de las etiquetas), y aplicarlos en los bloques de texto en los que

se quieran aplicar. Estos estilos podrán ser modificados en algunas ocasiones desde JavaScript,

y esto empieza a darnos un poco más de interactividad.

2. Aplicación del CSS

Sintaxis básica de CSS

Directa en etiquetas

Tenemos varias posibilidades para definir un estilo: especificarlo directamente en la etiqueta en

la que queremos usarlo, definirlo aparte y aplicarlo en las etiquetas que queramos, o definir

estilos globales para las etiquetas (que podrán ser cambiados en las que no se desee aplicarlos).

Para aplicar un estilo a una etiqueta concreta, usaremos la sintaxis:

Por ejemplo:

<etiqueta STYLE="propiedad1:valor;...;propiedadN:valor"> ...

</etiqueta>

<B STYLE="font-size:14pt;color:red">Es más grande y está en rojo</B>

Page 3: Guia6

Redefinición de etiquetas

Suele ocurrir es que queremos definir estilos que se apliquen a todas las etiquetas del

documento, es decir, queremos que todo el documento tenga un cierto tipo de letra, que las

tablas tengan otro, que las cabeceras tengan un color determinado, para ello, definiremos

estilos globales por medio de la etiqueta <STYLE> ... </STYLE> como sigue:

Por ejemplo:

Separando HTML de CSS

Como sabemos definir estilos globales, sería interesante tenerlos definidos en un archivo aparte, pues si queremos dotar a todas las páginas de los mismos estilos, no es tarea grata

copiar y pegar la definición de los estilos en cada una de las páginas.

Afortunadamente, sí podemos definir los estilos en un fichero distinto al documento HTML, y después referenciarlo desde el propio documento HTML. Esto lo haremos con la siguiente

etiqueta, dentro de la cabecera del documento (entre <HEAD> ... </HEAD>):

<HEAD>

<TITLE> Ejemplo con bloque de estilo </TITLE>

<STYLE TYPE="text/css">

<!--

BODY {font-family:Verdana,sans-serif;font-size:x-small;

margin-left:0.25in; margin-right:0.25in}

H2 {font-family:Verdana,sans-serif;font-size:14pt;color:red}

B, TD {font-family:Verdana,sans-serif;font-size:x-small;color:olive}

TH {font-family:Verdana,sans-serif;font-size:x-small;

color:white;background-color:#0080C0}

PRE, TT, CODE {font-family:Courier New,Courier;font-size:9pt;color:maroon}

//-->

</STYLE>

</HEAD>

<STYLE TYPE="text/css">

<!--

Etiqueta1, Etiqueta2 : {propiedad1:valor}

Etiqueta3 : {propiedad1:valor;...;propiedadS:valor}

Etiqueta4 : {propiedad1:valor;...;propiedadT:valor}

.Clase1 : {propiedad1:valor;...;propiedadT:valor}

//-->

</STYLE>

<LINK REL="stylesheet" TYPE="text/css" HREF="estilo.css">

Page 4: Guia6

En donde estilo.css tendría el siguiente formato:

3. Herencia de estilos

En el conjunto de las etiquetas HTML podemos establecer una jerarquía de etiquetas que contienen a otras, para darnos una relación de herencia. En este sentido se pueden numerar de

la siguiente forma:

1. Etiqueta body: <BODY> ... </BODY>, que hace referencia a todo el documento, y podemos

considerarla como la etiqueta "padre" de todas las demás etiquetas de formato, puesto que todas ellas se encuentran contenidas en el cuerpo (body) del documento.

2. Etiquetas de párrafo, como: <P>...</P>, <DIV>...</DIV>

3. Etiquetas de elementos insertados en línea: <B>...</B>, <I>...</I>, <SPAN>...</SPAN>.

En donde la relación padre-hijo que se establece es que las etiquetas de párrafo serán

contenedoras de las etiquetas de elementos insertados en líneas.

La mayoría de los estilos que se definen se heredan, es decir, si definimos un cierto estilo para

una etiqueta, este estilo será heredado por las etiquetas "hijas", con lo que no tendremos que volver a definirlo para ellas. Por ejemplo, si definimos un tipo de letra y un color para la fuente

para la etiqueta <BODY> ... </BODY>,este estilo será heredado por todas las etiquetas del documento y no tendremos que definirlo para las otras etiquetas.

Sin embargo, si tenemos definido un estilo para una etiqueta "padre", podremos definir un estilo distinto para una etiqueta "hija", es decir, un estilo heredable se hereda a no ser que

especifiquemos lo contrario. Se heredarán aquellas características que no pongamos, y se aplicarán aquellas que definamos para la etiqueta que no tenga la etiqueta "padre".

/* Definición de estilos en un archivo aparte */

/* Estilo para el documento */

BODY {font-family:Verdana,sans-serif;font-size:x-small;

margin-left:0.25in; margin-right:0.25in}

/* Estilo para la cabecera de nivel 2 */

H2 {font-family:Verdana,sans-serif; font-size:14pt;color:red}

/* Estilos para otras etiquetas */

B, TD {font-family:Verdana,sans-serif;font-size:x-small;

color:olive}

TH {font-family:Verdana,sans-serif;font-size:x-small;

color:white;background-color:#0080C0}

PRE, TT, CODE {font-family:Courier New,Courier;

font-size:9pt;color:maroon}

Page 5: Guia6

Por ejemplo:

4. Estilo en función del contexto

Otro tema a comentar aquí es la posibilidad de definir, en lugar de un estilo para una etiqueta,

sin más, es definir un estilo en función del contexto.

Por ejemplo, es posible que solamente queramos que el texto en negrita sea de color verde cuando se encuentre en una celda de una tabla, o que sea de color púrpura cuando forme

parte de una lista.

Esto lo definiríamos como sigue:

<HTML>

<HEAD>

<TITLE> Ejemplo 1 de herencia </TITLE>

<STYLE TYPE="text/css">

BODY {font-family:Verdana,sans-serif;font-size:x-small;

margin-left:0.25in; margin-right:0.25in}

//-->

</STYLE>

</HEAD>

<BODY BGCOLOR=white>

Todo el texto tiene definido un estilo especificado en el HEAD,

<SPAN STYLE="color:red">pero este trozo de línea es de un color

distinto, conservando el resto de propiedades</SPAN>, y eso hace

interesante la herencia y la posibilidad de cambiar en partes

concretas los estilos heredados.

</BODY>

</HTML>

<HEAD>

<TITLE> Ejemplo de estilos segun el contexto </TITLE>

<LINK REL="stylesheet" TYPE="text/css" HREF="ejemplo.css">

<STYLE TYPE="text/css">

<!--

TD B {color:green}

UL B {color:purple}

//-->

</STYLE>

</HEAD>

Page 6: Guia6

5. Clases

Es normal querer definir unos estilos globales en hojas externas que homogeneicen el aspecto de nuestras páginas, y luego, en una página concreta querer variar el estilo en alguna etiqueta concreta. Como ya sabemos, esto podemos hacerlo definiendo el estilo localmente en esa

etiqueta.

Pero también puede suceder que esta definición de un estilo concreto queramos aplicarla a otra

etiqueta. Lo primero que se nos ocurre es copiar esta definición del estilo a la otra etiqueta en la que también queremos aplicarlo. Sin embargo, este estilo concreto que queremos aplicar a

algunas etiquetas concretas puede ser definido en un bloque de estilo global o, incluso, en la

hoja externa, y aplicarlo, gracias a un identificador, a las etiquetas concretas en las que queramos que se aplique dicho estilo. Con este fin se definen las clases.

Una clase es una definición de un estilo que en principio no está asociado a alguna etiqueta

HTML, pero que podemos asociar, en el documento, a etiquetas concretas.

Para ello, en primer lugar definimos la clase (en el bloque de estilos o en la hoja externa) como

un estilo más, escribiendo un punto seguido del nombre que le queramos dar a la clase, y definiendo el estilo como lo definimos para cualquier otra etiqueta: pares propiedad:valor

separados por punto y coma y encerrados entre llaves. Además, podremos definir cuantas

clases necesitemos. Ahora, para aplicar el estilo de una clase a una etiqueta concreta, utilizaremos el parámetro CLASS donde el nombre de la clase se escribe sin el punto.

Por ejemplo:

<HTML>

<HEAD>

<TITLE> Ejemplo de uso de clases </TITLE>

<STYLE TYPE="text/css">

<!--

BODY {font-family:Verdana,sans-serif;font-size:x-small}

P,A,B {color:red}

.BAzul {color:blue}

//-->

</STYLE>

</HEAD>

<BODY BGCOLOR=white>

En este ejemplo vamos a ver cómo se aplican las clases.

Por ejemplo, <B>esta negrita</B> utiliza el estilo definido

en el bloque, pero <B CLASS="BAzul">esta otra negrita</B>

tiene un color distinto. Y no sólo podemos usar la clase

para la negrita. Por ejemplo, <SPAN CLASS="BAzul">este trozo

de línea también utiliza la clase para su estilo particular</SPAN>.

</BODY>

</HTML>

Page 7: Guia6

6. Etiquetas

Para definir un estilo mediante un ID, usaremos la siguiente notación (en un bloque de estilo o en la hoja externa): Es decir, escribiendo # seguido del nombre que le queramos dar al ID, y definiendo el estilo como ya sabemos: pares propiedad:valor separados por punto y coma y encerrados entre llaves. Podremos definir todos los ID que queramos, pero cada ID sólo debe ser asociado a una única etiqueta concreta de la siguiente forma: Así identificaremos de forma unívoca a esa etiqueta concreta, asignándole la definición del estilo hecha en el bloque o en la hoja para ese ID, y además nos permitirá tratarlo si lo necesitamos.

#Nombre_del_ID {propiedad1:valor;...;propiedadN:valor}

<etiqueta ID="Nombre_del_ID"> ... </etiqueta>

Page 8: Guia6

7. Propiedades

Aplicables en el estilo de todos los elementos.

Se pueden leer de la siguiente forma: Etiqueta: <valores> | valor_fijo

Propiedades de color y fondo

background-color: <color> | transparent background-image: <url> | none background-repeat: repeat | repeat-x | repeat-y | no-repeat background-attachment: scroll | fixed background-position: [<%> | <px>]|[top | center | bottom] || [left | center | right] background: <background-color> || <background-image> || <background-repeat> || <background-attachment> || background-position>

Propiedades de Fuentes

font-style: normal | italic | oblique font-weight: normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 font-size: xx-small | x-small | small | medium | large | x-large | xx-large | larger | smaller | <longitud> | <porcentaje> font: [<font-style> || <font-weight>] <font-size> <font-family>

Propiedades de cuadros

margin: <longitud> | <porcentaje> | auto padding: <longitud> | <porcentaje> border-color: <color> border-style: none | dotted | dashed | solid | double | groove | ridge | inset | outset border: <border-width> || <border-style> || <color> width: <longitud> | <porcentaje> | auto height: <longitud> | auto

Propiedades de texto text-decoration: normal | <longitud> letter-spacing: normal | <longitud> text-decoration: none | [ underline || overline || line-through || blink ] vertical-align: baseline | sub |

super | top | text-top | middle | bottom | text-bottom

| <porcentaje> text-transform: none | capitalize | UPPERCASE | lowercase text-align: left | right | center | justify

Práctica interna:

Page 9: Guia6

8. Tarea

Investigar: Las propiedades para cambiar el estilo a las viñetas en las listas: Tipo, posicion e imagen. Además, la propiedad ‘display’ y sus posibles valores. Aplicarlo en lo siguiente:

Realizar un sitio web con el estilo que se muestra en la figura.

Menu: Al pasar el mouse sobre un item del Menu, se cambia el color a azul.

Home: Una página con el mismo diseño, donde muestre un breve mensaje de

bienvenida y una imagen alusiva a la criptografía. Criptografia: Pagina mostrada en la imagen. Se debe llenar con lo que se pide sobre el

tema. El largo de la página puede variar.

Wikipedia: Link a la pagina de Wikipedia que hable sobre el tema.

Google: Link a Google.

Nótese los siguientes aspectos:

El menu y los datos debe estar en ambas paginas.

Cada link del menu es una viñeta (lista desordenada). Aquí se aplicará lo investigado

sobre ‘display’

Las conclusiones deben ser personales. Son dos: Una sobre la criptografía y otra sobre

CSS.

Enviar al correo del instructor un archivo practica6.zip que contenga: Un archivo crypto.html

Un archivo estilo.css

Imagen que utiliza para la pagina de bienvenida.