CURSO DE CSS
4.- EJEMPLO PRÁCTICO
Vamos a crear una página html con dos estilos diferentes, que recogen algunas cosas que hemos visto y por supuesto algunas más para ver un ejemplo real. En un editor copiar y pegar el contenido de ejemplo1.html y guardarlo. Aquí las reglas CSS van incluidas en el código HTML. ejemplo1.html < html> < head> < title>Ejemplo de hojas de estilo< /title> < style type="text/css"> body { background: orange; }
H1 { color: green; font-weight: bold; font-size: 12pt; line-height: 14pt; font-family: Century Gothic, Helvetica, sans-serif; text-align: center; }
P{ color: black; font-size: 10pt; line-height: 12pt; text-indent: 0.6in; font-family: "Century Gothic", serif;} < /style> < /head> < body> < H1>Ejemplo de hojas de estilo< /H1> < P>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. < /P> < P>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:< /P> < P>< center>/* Este es un comentario en CSS */< /center>< /P> < /body> < /html> -11-
CURSO DE CSS El resultado es el siguiente: Abrir otro nuevo y copiar y pegar el contenido de ejemplo2.html, guardar. Abrir otro documento y copiar y pegar el contenido de azul.css. En este caso las reglas CSS se encuentran en un archivo externo.
ejemplo2.html
< html> < head> < title>Estilo de página web< /title> < link rel="stylesheet" type="text/css href="azul.css" /> < /head> < body> < H1>Ejemplo de hojas de estilo< /H1> < P>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. < /P> < P>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:< /P> < P>< center>/* Este es un comentario en CSS */< /center>< /P> < /body> < /html>
-12-
CURSO DE CSS azul.css body { background: blue; }
h1 { color: yellow; font-weight: bold; font-size: 12pt; line-height: 16pt; font-family: "Helvetica", "Arial", sans-serif; text-align: center; }
p{ color: white; font-size: 10pt; line-height: 12pt; text-indent: 0.5in; font-family: "Times", serif; }
El resultado es el siguiente: -13-
CURSO DE CSS 5.- SELECTORES Los selectores hacen referencia a las etiquetas de nuestro documento HTML. Básicamente el selector va a indicar a qué parte de todo el código se le va a aplicar el estilo. A continuación veremos los tipos de selectores: 5.1.- Selectores de tipo o etiqueta Selecciona todos los elementos de la página cuya etiqueta HTML coincide con el valor del selector. Es decir, cualquier etiqueta HTML funciona como un selector. Solamente se indica con el nombre sin ningún tipo de carácter. Ejemplos: CSS h1 { color: blue; }
HTML < h1>Este encabezado va en azul< /h1>
Resultado: Este encabezado va en azul CSS p { font-size: 12px; font-family: arial, helvetica; } HTML < p>Este párrafo tiene una fuente arial y un tamaño de 12 píxeles< /p> Resultado: Este párrafo tiene una fuente arial y un tamaño de 12 píxeles En caso de que el navegador del usuario no tuviera cargada la fuente de letra arial, cargaría la helvética. 5.2.- Selectores de clase Se pueden definir diferentes estilos para un mismo elemento. Para ello recurrimos a class. Estos selectores utilizan nombres genéricos que no están relacionadas con las etiquetas HTML. Se antepone un . al nombre que demos a la clase. Ejemplo: CSS H1.rojo { color:red} p.verde { color:green} -14-
CURSO DE CSS
HTML < p class=rojo>El encabezado h1 es de color rojo< /p> < p class="verde">Este párrafo es de color verde< /p>
Resultado: El encabezado h1 es de color rojo Este párrafo es de color verde El navegador se salta el formato de las etiquetas por defecto, si las tuviera, y aplica esta clase personalizada. Aunque se puede ir más allá y no tener que declararlo en cada etiqueta. Esto se hace con la etiqueta < span> y < /span>. Todo lo que haya entre ambas tendrá ese estilo. Ejemplo: CSS < style> .textorojo {font-size:12px; color:red;} < /style>
HTML < span class=textorojo> < h1>Este texto es de color rojo y tiene un tamaño de 12 px< /h1> < p> y lo que escribo en este párrafo también< /p> < /span>
Resultado:
Este texto es de color rojo y tiene un tamaño de 12 px y lo que escribo en este párrafo también
5.3.- Selectores de id El selector de ID también recibe un nombre genérico y se aplica a los elementos HTML. Pero a diferencia del selector de clase es único en todo el documento. Podemos tener dos elementos con dos selectores class pero sólo uno con id. Es útil usarlo en la cabecera, el fondo, el copyright… etc. Se antepone una # al nombre de la clase. Ejemplo: CSS p#fondo_azul{font-style: italic; color: blue; }
HTML < p id=fondo_azul>Este texto tiene color azul< /p> < p>Este texto no tiene color azul< /p> -15-
CURSO DE CSS Resultado: Este texto tiene color azul Este texto no tiene color azul En este ejemplo vemos que en el primer caso el texto se presenta en color azul y en el segundo caso al no llevar clase el texto aparece sobre fondo blanco. 5.4.- Selectores contextuales La herencia de propiedades en CSS permite lograr una notación más compacta para las hojas de estilo. Desde este punto de vista se permite crear primero los valores por defecto y después enumerar las excepciones. Los selectores contextuales consisten en varios selectores simples separados por espacios (todos los selectores descritos hasta ahora eran selectores simples). Los selectores contextuales especifican una jerarquía de contenedores con que asociar un estilo. Ejemplo: CSS H1 { color: red} H1 EM {color: blue} HTML < h1>Un título con una < em>palabra< /em> enfatizada< /h1>
Resultado: Un título con una palabra enfatizada. Donde se aprecia un estilo para el título en color rojo y dentro otro estilo para el elemento 'EM' que a su vez tiene color azul. 5.5.- Pseudo-clases Las pseudo-clases se usan junto con el selector para agregarle a este algún efecto especial. El concepto de seudoclase tiene que ver con permitir que haya más información a disposición del diseñador en el momento de escribir la hoja de estilo. Las seudoclases son agregadas por el navegador, y referidas como "clases" por las reglas de estilo; y permiten diferenciar diferentes usos para un mismo elemento. El ejemplo típico son los hiperlinks; uno desearía que los enlaces visitados fueran diferentes de los que no han sido visitados; esto se logra mediante una construcción como: selector: pseudo-clase { propiedad:valor } -16-
CURSO DE CSS
Las diferentes posibilidades de las pseudoclases son las siguientes:
a:link Es el estilo de un enlace que no ha sido explorado por el usuario. a:visited Es el estilo de un enlace que ha sido visitado. a:active Estilo de un enlace seleccionado, mientras está siendo seleccionado. a:hover Es el estilo de un enlace que tiene el ratón encima, pero sin estar seleccionado. Ejemplo: CSS A:link {font-family: sans-serif; color: #551177; text-decoration: none;} A:visited {background-color: orange; color: #000;}
HTML < h1 class="normal">:link y :visited< /h1> < p>Se aplican a los links que existen en esta página. Utilicen uno de ellos y cuando regresen, el que haya sido visitado habrá cambiado su aspecto.< /p> < p>< a href=" http://www.customerca.com/Style/CSS/ ">W3C: CSS< /a>< /p> < p>< a href=" http://jigsaw.w3.org/css-validator/ ">Validador CSS< /a>< /p>
Resultado: Al descargar la página, simplemente se visualiza el enlace según indique el estilo para A:link, sin decoración y color de letra morado. Una vez que se pincha sobre el enlace se visualiza el estilo que hayamos indicado en A:visited, para este caso un color de fondo naranja y un color de letra negro. Veamos a continuación como se presenta en el navegador: -17-
CURSO DE CSS -18-
CURSO DE CSS
5.6.- Test 1. Indica si la sintaxis de los selectores es correcta o no:
Selector de tipo: h1 {text-align: center} Selector de clase: p.pregunta {font-weight: bold; font-style: italic} Selector de id: #titulo {text-align: center} Selector contextual: h1 p table #volant {font-family: Arial, Sans-serif} Selector contextual combinado: div.rojo h1 { font-size: small; } Selector contextural: a:link img { border: solid blue;} Selector pseudo-clase combinado: a.external:visited { color: blue; } Selector universal: * {color: red}
2. Indica cual es verdadera o falsa:
Los selectores 'class' e 'id' son una excepción a la regla de que en CSS puedes utilizar minúsculas y mayúsculas, es decir, class="piepagina" no es igual a class="PiePagina".
Ninguno de los selectores puede comenzar su denominación con un número. En la primera versión de CSS2, los guiones_bajos estaban prohibidos, y aunque posteriormente se admitieron, su soporte por algunos navegadores es errático, por lo que conviene evitarlos. Todas las anteriores son correctas
3. El nombre de una regla CSS:
Puede ser un nombre inventado por nosotros Puede ser el nombre de una etiqueta HTML Tiene la estructura :first-letter Cualquiera de las anteriores -19-
CURSO DE CSS 5.7.- Ejercicio A continuación se detalla el código completo a falta de precisar los nombres de las reglas CSS. Copiar y pegar en ejercicio1.html y completar el estilo del texto:
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> < html xmlns="http://www.w3.org/1999/xhtml">
< head> < meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> < title>Ejercicio de selectores< /title>
< style type="text/css"> /* Todos los elementos de la pagina */ { font: 1/1.3em Arial, Helvetica, sans-serif; } /* Todos los párrafos de la pagina */ { color: #555; } /* Todos los párrafos contenidos en #primero */ { color: #336699; } /* Todos los enlaces la pagina */ { color: #CC3300; } /* Los elementos "em" contenidos en #primero */ { background: #FFFFCC; padding: .1em; } /* Todos los elementos "em" de clase "especial" en toda la pagina */ { background: #FFCC99; border: 1px solid #FF9900; padding: .1em; } /* Elementos "span" contenidos en .normal */ { font-weight: bold; } < /style> < /head>
< body> < div id="primero"> < p>Lorem ipsum dolor sit amet, < a href="#">consectetuer adipiscing elit< /a>. Praesent blandit nibh at felis. Sed nec diam in dolor vestibulum aliquet. Duis ullamcorper, nisi non facilisis molestie, < em>lorem sem aliquam nulla< /em>, id lacinia velit mi vestibulum enim.< /p> < /div> < div class="normal"> < p>Phasellus eu velit sed lorem sodales egestas. Ut feugiat. < span>< a href="#">Donec porttitor< /a>, magna eu varius luctus,< /span> metus massa tristique massa, in imperdiet est velit vel magna. Phasellus erat. Duis risus. < a href="#">Maecenas dictum< /a>, nibh vitae pellentesque auctor, tellus velit consectetuer tellus, tempor pretium felis tellus at metus.< /p> < p>Cum sociis natoque < em class="especial">penatibus et magnis< /em> dis parturient montes, nascetur ridiculus mus. Proin aliquam convallis ante. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc aliquet. Sed eu metus. Duis justo.< /p> -20-
CURSO DE CSS
< p>Donec facilisis blandit velit. Vestibulum nisi. Proin volutpat, < em class="especial">enim id iaculis congue< /em>, orci justo ultrices tortor, < a href="#">quis lacinia eros libero in eros< /a>. Sed malesuada dui vel quam. < /p> < /div>
< /body> < /html>
Resultado: -21-
CURSO DE CSS 6.- ESTILOS DE FONDO Y COLOR Existen propiedades de fondo que nos permiten modificar el color de fondo, insertar una imagen de fondo, su posición, si se repite, cuánto mide, etc. Para ello se debe establecer las características que queramos darle al elemento < body>. 6.1.- Estilos de Fondo ? Background-color Determina el color de fondo para un determinado elemento. Puede ser el body, un párrafo, etc. Ejemplo: < div style=background-color:#ff0000;> Este texto se muestra sobre un fondo rojo. < /div> Resultado: Este texto se muestra sobre un fondo rojo. ? Background-image Inserta una imagen de fondo. Para usar esta propiedad es preciso indicar la dirección donde se encuentra la imagen. Ejemplo: < div style="background-image:url ('http://fondospantalla.org/imagen/1024/construcciones/urbanismo/urbanismo- 29.jpg'))"> ESTE TEXTO IRÁ SOBRE UNA IMAGEN DE FONDO < /div> La ruta de las imágenes de fondo se indican a través de su URL, que puede ser absoluta o relativa. Una URL absoluta es aquella en la que indicamos al navegador la ruta completa para encontrar la página. En este ejemplo se ha utilizado una URL absoluta para poder visualizarla desde la red. Pero lo más recomendable es crear una carpeta que se encuentre en el mismo directorio que los archivos CSS y que almacene todas las imágenes utilizadas en el diseño de las páginas web. Por tanto una URL relativa es aquella que solo indica parte de la dirección de la página de destino y sólo se usan cuando se trata de páginas albergadas en el mismo servidor. Este ejemplo mostraría el mismo resultado que el caso anterior, la diferencia es la ruta de donde se obtiene la imagen: < div style="background-image:url(body{background- image:images/urbanismo-29.jpg'))"> ESTE TEXTO IRÁ SOBRE UNA IMAGEN DE FONDO < /div> -22-
CURSO DE CSS Resultado: ? Background-repeat Si la imagen es más pequeña que el tamaño del fondo, con esta propiedad podemos hacer que se repita tanto vertical (repeat-x) como horizontalmente (repeat- y). Este comportamiento es útil para establecer un fondo complejo a una página web entera. De forma que descargándose en muy poco tiempo, se consigue cubrir completamente el fondo de la página.
Ejemplo:
< div style="background-image: url('images/test3.jpg');background-repeat: repeat-x;"> repetición de imagen de fondo en horizontal < /div> -23-
CURSO DE CSS Resultado: Una aplicación bastante habitual en las páginas web es la funcionalidad de la cabecera, es decir, la imagen o logotipo va a funcionar como enlace hacia la página inicial, cuando se pinche sobre él. Su sintaxis sería algo así:
HTML < div> < a id="backpag" href="../html/index.html">< /a> < /div>
CSS #backpag { background-image: url(../images/logo.jpg); width: 200px; height: 100px; display: block; } -24-
CURSO DE CSS ? Background-position Con esta propiedad se fija el punto de inicio para la imagen de fondo tanto vertical como horizontalmente. Ejemplo:
< div style="background-image:url(imagen/paleta.gif); background-repeat: no- repeat; background-position:left top;"> INSERCIÓN DE UNA IMAGEN DE FONDO, QUE NO SE REPITE Y ESTÁ FIJADO. < /div>
La imagen paleta.gif aparece una sola vez, y está posicionada arriba a la izquierda. Resultado: 6.2.- Color Aunque existen varias maneras de definir el color en el estándar CSS, aquí veremos sólo la más utilizada:
La notación hexadecimal se especifica con los valores RGB dentro de la notación #RRGGBB, donde RR es rojo, GG es verde y BB azul. Los valores van desde el 00 y el FF. Es decir indicaremos el color como #5500FF o en su forma abreviada color: #50F
Ejemplo: < div style=color:#ff0000;>Este texto lo veremos en color rojo.< /div>
Resultado: Este texto lo veremos en color rojo.
-25-
CURSO DE CSS
6.3.- Test 1. Indica cual es verdadera o falsa: Con la propiedad background-position colocamos la imagen arriba, abajo, derecha e izquierda. Con la propiedad background-image colocamos una imagen sobre el fondo Con la propiedad background-repeat: repeat-x; colocamos una imagen repetidas veces en horizontal Todas son verdaderas 2. Para indicar el color de fondo de una página web usaremos la sintaxis: < div style=background-color:#60c;> < div style=color:#f23456;> Cualquiera de las anteriores La primera opción es la válida -26-
CURSO DE CSS 6.4.- Ejercicio Antes de empezar cualquier diseño de página web es conveniente tener en cuenta donde guardaremos nuestros trabajos. Por ello crearemos una carpeta para cada página web que realicemos y dentro de ella todas las subcarpetas necesarias para guardar las imágenes, los archivos css, los archivos html, etc. A continuación veremos la sintaxis básica de una página web y un archivo css: ? Cada documento html tiene que incluir una estructura similar a la siguiente, a la que iremos añadiendo los elementos que necesitemos y que posteriormente pueden ser modificados para mejorar el contenido de la página web. < html> < head> < title>Aquí va el título que aparece en el título del navegador< /title> < link rel="stylesheet" type="text/css href="nombre_archivo.css" /> < /head> < body> < H1>Aquí va el título que aparece en el cuerpo de la web< /H1> < div>Aquí insertaremos nuestras imágenes, textos, etc< /div> < /body> < /html> ? Cada documento css tiene una estructura similar a la siguiente, en la que se establece un estilo para cada elemento de nuestra web: html { margin : 0; padding : 0; } body { font : 75% georgia, sans-serif; line-height : 1.88889; color : #555753; background : #fff url(/001/blossoms.jpg) no-repeat bottom right; margin : 0; padding : 0; } p{ margin-top : 0; text-align : justify; } h3 { font : italic normal 1.4em georgia, sans-serif; letter-spacing : 1px; margin-bottom : 0; color : #7d775c; } -27-
CURSO DE CSS
a:link { font-weight : bold; text-decoration : none; color : #b7a5df; }
a:hover, a:active { text-decoration : underline; color : #9685ba; }
#container { background : url(/001/zen-bg.jpg) no-repeat top left; padding : 0 175px 0 110px; margin : 0; position : relative; }
.intro { min-width : 470px; width : 100%; }
#footer { text-align : center; }
Para hacer este ejercicio vamos a crear con un editor de texto un documento nuevo que llamaremos ejercicio1.html. Se va a especificar un enlace externo a otro documento que llamaremos estilos1.css en donde irán todas las reglas que necesitemos para dar estilo a nuestra web. Elementos que incluiremos: ?
? ? Especificar título (en la cabecera): ESTRUCTURAS EN ARQUITECTURA Color de fondo en la etiqueta body #A9F5F2. Incluir en el body el siguiente texto dispuesto 2 párrafos (< p>): La estructura es y ha sido siempre un componente esencial de la Arquitectura, y es precisamente el Arquitecto quien, durante el proceso de diseño, debe crear o idear la estructura y darle proporciones correctas. Para crear y darle proporciones correctas debe seguir el camino intuitivo y el científico, tratando de lograr una combinación armónica entre la intuición personal y la ciencia estructural.
-28-
CURSO DE CSS
El diseño es un proceso creativo mediante el cual se definen las características de un sistema de manera tal que cumpla, en forma óptima, con sus objetivos. Precisamente, el objetivo de un sistema estructural es equilibrar las fuerzas a las que va a estar sometido, y resistir las solicitaciones sin colapso o mal comportamiento (excesivas deformaciones). La bondad del diseño depende esencialmente del acierto que se haya tenido en componer un sistema estructural, o mecanismo resistente, que resulte el más idóneo para resistir las acciones exteriores. ? Insertar una imagen de tamaño no superior a 100px, tanto de ancho como de alto, sin repetirla y colocarla abajo a la derecha. Resultado: -29-
CURSO DE CSS
7.- ESTILOS PARA TEXTO
CSS define numerosas propiedades para modificar la apariencia del texto. Podemos cambiar el tamaño del texto, el color del mismo, su anchura, su estilo e incluso su tipo de letra. Antes de ver los estilos, es preciso conocer las unidades de medida en que podemos expresar los valores. 7.1.- Unidades de Medida Hay que tener en cuenta que los valores se pueden expresar por distintas unidades de medida. Se pueden agrupar en los siguientes términos:
? Unidades absolutas-> in: pulgadas (1 pulgada son 2.54 cm), cm: centímetros, mm: milímetros, pt: punto (1 pt 1/72 pulgadas) y pc: picas. ? Unidades relativas-> em: 1em es igual a 1 vez el ancho de un letra M, ex: es el alto de la letra x y px: píxeles. ? Unidades porcentuales-> %: porcentaje. Ejemplos:
span { font-size: 1pc }
div.principal { width: 80% }
border: {1px solid black }
body { font-size: 1em }
7.2.- Tipos de fuente Font-family nos sirve para definir el tipo de fuente que queramos que tenga el texto. Si no le indicamos nada, el texto estará escrito en la tipografía que el usuario tenga en su sistema por defecto. Normalmente se especifica más de una familia de fuentes de letra debido a que sus nombres varían de una plataforma a otra. De forma que si en el ordenador del usuario que está leyendo la página no existe el primer tipo, se prueba con el siguiente, y así sucesivamente hasta llegar al último. Ejemplo: < div style=font-family:Verdana, Georgia, Arial> Este texto tiene una familia de fuente, que se verá según el navegador del usuario.< /div> Resultado:
Este texto tiene una familia de fuente, que se verá según el navegador del usuario.
-30-
CURSO DE CSS
7.3.- Tamaño de fuente Font-size es la etiqueta que nos sirve para indicar el tamaño a la letra. Se lo podemos indicar utilizando las unidades de medida de CSS o mediante los siguientes valores: xx-large, x-large, large, medium, small, x-small, xx-small; siendo xx-small el más pequeño y xx-large el más grande. Ejemplo: < div style=font-size:20px;>Este texto tiene un tamaño de 20 px.< /div>
Resultado: Este texto tiene un tamaño de 20 px.
7.4.- Estilo de fuente Font-style nos indica un cambio en las características de la letra. Un estilo normal, itálica o cursiva. Ejemplo: < div style=font-style:italic> Este texto tiene un estilo itálica.< /div> Resultado: Este texto tiene un estilo itálica.
7.5- Grosor de fuente Font-weight se refiere a la intensidad de la fuente. Se pueden ver estilos normal, bold (negrita), bolder (más negrita), lighter (más suave), etc. Como en esta muestra: 7.6.- Formatos de Párrafo A continuación vamos a ver cómo dar estilo a los párrafos. Se puede cambiar el alto de la línea, decorar el párrafo, alinearlo, sangrar la primera línea del párrafo, etc. ? Estilo text-decoration Para dar un estilo diferente al párrafo, podemos usar underline (subrayado), overline (línea superior), line-through (tachado), blink (parpadeo), o por defecto none (ninguna).
-31-
CURSO DE CSS
Ejemplo: < span style=text-decoration:underline;>Este es el resultado de usar un subrayado al texto.< /span> Resultado: Este es el resultado de usar un subrayado al texto.
? Estilo text-align Con este estilo podemos alinear el texto a la izquierda, derecha, centro o justificado. Sólo es aplicable a elementos de bloque. Ejemplo: < div style=text-align:left;>Este texto se ve alineado a la izquierda< /div> < div style=text-align:center;>Este texto se ve alineado al centro< /div> < div style=text-align:right;>Este texto se ve alineado a la derecha< /div> Resultado: Este texto se ve alineado a la izquierda Este texto se ve alineado al centro Este texto se ve alineado a la derecha
? Estilo text-indent Con este estilo podemos realizar sangrados o margenes en la primera línea de un elemento de bloque, como un párrafo, simplemente indicándolo con un valor numérico. Ejemplo: < div style="text-indent:15px;">Este píxeles.< /div> < div style="text-indent:60px;">Este texto
texto tiene
tiene un
un sangrado
sangrado de
de 15
60 píxeles.< /div> Resultado: Este texto tiene un sangrado de 15 píxeles. Este texto tiene un sangrado de 60 píxeles.
? Estilo text-transform Este estilo nos permite cambiar la apariencia del párrafo. Gracias a él podemos cambiar todo el texto a mayúsculas (uppercase), todo el texto a minúsculas (lowercase) o hacer que todas las primeras letras del párrafo se conviertan en mayúsculas (capitalize). -32-
CURSO DE CSS
Ejemplo: < span style="text-transform:uppercase;">Este texto se ve en mayúsculas. < /span> < span style="text-transform:lowercase;">ESTE TEXTO SE VE EN MINUSCULAS.< /span> < span style="text-transform:capitalize;">Y este texto convierte las primeras letras automáticamente a mayúsculas.< /span> Resultado:
ESTE TEXTO SE VE EN MAYÚSCULAS. este texto se ve en minúsculas. Y Este Texto Convierte Las Primeras Letras Automáticamente A Mayúsculas. ? Estilo vertical-align Especifica la posición relativa de un elemento respecto a la línea de escritura. Los valores que puede presentar son: baseline, sub, super, top, text-top, middle, bottom y text-bottom. Ejemplo: IMG { vertical-align: bottom } Resultado:
Ejemplo de alineación de la imagen con respecto al texto ? Estilo line-height Indica la distancia entre una línea de escritura y la siguiente. Puede tomar cualquier valor absoluto de longitud o un porcentaje que indica la altura con respecto al alto de la letra. Ejemplo: < p style="line-height: 25px;"> En este párrafo cada una de las líneas está separada de la siguiente por 25 píxeles. Hay que poner suficiente texto como para que se vean 2 líneas, así saldrán separadas. < /p>
Resultado: En este párrafo cada una de las líneas está separada de la siguiente por 25 píxeles.
Hay que poner suficiente texto como para que se vean 2 líneas, así saldrán separadas. ? Estilo word-spacing Permite expandir o contraer el espacio entre palabras. Puede tomar cualquier valor de longitud y el valor normal es 1em.
-33- vertical-align: bottom
CURSO DE CSS
Ejemplo: < p style="word-spacing: 3px;">En este párrafo cada palabra está separada de la siguiente por 3 píxeles< /p> Resultado: En este párrafo cada palabra está separada de la siguiente por 3 píxeles. ? Estilo letter-spacing Permite expandir o contraer el espacio entre letras. Puede tomar cualquier valor de longitud y el valor normal es 0.3em. Ejemplo: < p style="letter-spacing:2cm">Este párrafo tiene las letras espaciadas por 2 centímetros. < /p> Resultado: Este párrafo tiene las letras espaciadas por 2 c e n t í m e t r o s. 7.7.- Encabezados y títulos Los encabezados o headings sirven para denotar una importancia jerárquica dentro de la página o documento. Cuando hablamos de título podemos estar refiriéndonos al texto colocado entre las etiquetas < title> y < /title> en el head, y que se refiere al título que aparece en la barra del navegador. O también al título que aparece en la página web dentro de la cabecera. Existen 6 niveles, siendo el número 1 de mayor importancia y el 6 de menor importancia:
Corresponden a: H1: Título de un capítulo o nombre del sitio web H2: Título principal H3: Título de secciones en la página H4: Título de una subsección H5: Subtítulo de una subsección H6: Segundo subtítulo -34-
CURSO DE CSS Resultado: Por supuesto que estos encabezados pueden ser modificados para adaptarlos a nuestras necesidades, de la siguiente forma: HTML < h2>Texto con formato H2: MUNDO VEGETAL< /h2> < h4>Texto con formato H4: Su Estructura< /h4>
CSS h2 { color: #557700; padding-left: 20px; } h4 { color: #00FF00; padding-left: 40px; } < /style> < /html>
-35-
CURSO DE CSS
Resultado: Texto con formato H2: MUNDO VEGETAL Texto con formato H4: Su Estructura
Se ha dado un color al encabezado h2 con un margen a la izquierda de 20 píxeles y otro color al encabezado h4 con un margen a la izquierda de 40 píxeles. Ahora surge la siguiente pregunta ¿Qué diferencia hay entre un < h1> y un < font size="6px">? Pues mucha. Desde el punto de vista de la accesibilidad web e independientemente de que se vea desde una PDA, o un móvil, o por Braille; éstos dispositivos reconocerán que ése texto es un título H1, por el contrario si solo es un texto con tamaño grande, estos dispositivos no lo reconocerán, y creerán que es un simple texto más, por lo tanto se crea una mala accesibilidad. -36-
CURSO DE CSS
7.8.- Test
1. ¿Cuál es la sintaxis correcta a utilizar para dejar 10 píxeles entre palabras? p{word-spacing:10px} p{letter-spacing:10px} p{white-space:10px} Ninguna de las anteriores
2. Indica cual es verdadera o falsa: font-style: nos indica un cambio en las características de la letra. Un estilo normal, itálica o cursiva. font-weight: nos indica la intensidad de la fuente font-variant: nos indica el espacio en la primera línea de un elemento font-family: nos indica la fuente del texto
3. Para indicar la distancia entre líneas la sintaxis correcta es: < div style=text-align:left;> < p style="line-height: 25px;"> < div style="text-indent:15px;"> < div style=font-size:20px;> -37-
CURSO DE CSS
7.9.- Ejercicio
A partir del ejercicio1.html vamos a dar estilo al texto. Lo llamaremos ejercicio2.html y a las reglas css estilos2.css. Realizar las siguientes modificaciones: ?
? ? ? El título de la página web va a ser un encabezado de tipo h2 , va a estar centrado , en color azul y un espaciado entre palabras de 8 px. La primera línea de cada párrafo tiene que llevar un sangrado de 30 px. Poner fuente de texto para los dos párrafos en verdana y georgia. Poner ambos párrafos en itálica y justificado.
Resultado: -38-
padding (margen interior)
contenido (elemento) -39- CURSO DE CSS
8.- MODELO DE CAJA
8.1.- Definición El modelo de caja es la característica más importante del lenguaje de hojas de estilos CSS, ya que condiciona el diseño de todas las páginas web. Este modelo hace que todos los elementos incluidos en una página HTML se representen mediante cajas rectangulares y con CSS se controla su aspecto. CSS permite definir la altura y anchura de cada caja, el margen existente entre cajas y el espacio de relleno interior que muestra cada caja. Además, controla la forma en la que se visualizan las cajas: se pueden ocultar, desplazar respecto de su posición original y fijarlas en una posición específica dentro del documento. Fundamentalmente el modelo de cajas es muy útil para tener el control de las propiedades del elemento en sí (su color, la fuente usada para el texto, etc.), y también de las propiedades de esa caja generada por el elemento (sus margenes, sus bordes, la posición dentro del documento). Esto nos permite componer de forma visual la página de una forma más rica y flexible que con HTML. Cada vez que se inserta una etiqueta o elemento en la página, se crea automáticamente una nueva caja rectangular que encierra los contenidos del elemento. Las partes que componen cada caja y su orden de visualización desde el punto de vista del usuario son las siguientes: ? Contenido (content): es el contenido HTML del elemento (las palabras de un párrafo, una imagen, el texto de una lista de elementos, etc.) ? Relleno (padding): espacio libre opcional entre el contenido y el borde que lo encierra. ? Borde (border): línea que encierra completamente el contenido y su relleno. ? Margen (margin): espacio libre entre la caja y las posibles cajas adyacentes.
El siguiente esquema muestra la creación de cajas por parte de HTML para cada elemento definido en el código HTML de la página:
margin (margen exterior)
border (borde) Los elementos dentro del modelo de caja tiene un márgen interior (padding) y un márgen exterior (margin)
CURSO DE CSS El relleno y el margen son transparentes, por lo que en el espacio ocupado por el relleno se muestra el color o imagen de fondo (si están definidos) y en el espacio ocupado por el margen se muestra el color o imagen de fondo de su elemento padre (si están definidos). Si ningún elemento padre tiene definido un color o imagen de fondo, se muestra el color o imagen de fondo de la propia página (si están definidos). Si una caja define tanto un color como una imagen de fondo, la imagen tiene más prioridad y es la que se visualiza. 8.2.- Tipos de Elemento El modelo de formato visual de CSS que siguen los navegadores para procesar el contenido de un documento para su visualización, se rige por el comportamiento de las cajas generadas por los elementos de la página. Como más adelante veremos, existen propiedades (bordes, margenes, rellenos) que pueden aplicarse al modelo de cajas y también hay propiedades que definen su color o imagen de fondo. Ahora vamos a ver los tipos de elementos que contendrán esas cajas, cómo se puede definir el tipo y dimensiones de esas cajas, su comportamiento y relación con las otras cajas en la estructura del documento. Para comenzar debemos saber que en HTML existen tres tipos de elementos: Elementos de bloque Son aquellos tratados visualmente como bloques separados de los elementos que lo rodean (por ejemplo: < P> o < DIV>). Es decir, son aquellos que comienzan una nueva línea dentro del documento. Los elementos a nivel de bloque generan una caja de bloque principal que sólo contiene otras cajas de bloque. Elementos de línea Son aquellos que forman un contenido distribuido a nivel de las líneas (por ejemplo: < B> o < EM> o < SPAN>). Elementos de lista Son elementos de bloque que generan una caja principal y otras cajas adicionales (contienen una viñeta o caracteres alfanuméricos) que se agregan al costado del elemento. Ejemplo: CSS #cuadro {border: 1px dotted blue;} #texto {color: red;}
HTML < div id="cuadro"> < h4>EJEMPLO DE DIV Y SPAN< /h4> < p>Esto es un párrafo dentro de un div, < span id="texto"> y esto un span dentro de un párrafo. < /span> < /p> < /div> -40-
CURSO DE CSS
Resultado: EJEMPLO DE DIV Y SPAN Esto es un párrafo dentro de un div, y esto un span dentro de un párrafo.
8.3.- Propiedades 8.3.1.- Anchura y Altura La propiedad CSS que controla la anchura de los elementos se denomina width. Normalmente se expresa en píxeles o porcentaje, éste último se calcula a partir de la anchura de su elemento padre. Esta propiedad puede aplicarse a elementos que contienen texto, pero es más útil para elementos reemplazados tales como imágenes. Ejemplo: < html> < head> < style type="text/css"> .ancho { width: 340px; border: 1px solid #00FFFF; padding: 5px } < /style> < /head> < body> < p class="ancho">PARRAFO CON UN ANCHO DE 340 PIXELES< /p> < /body> < /html>
Resultado: -41-
CURSO DE CSS
La propiedad height define la altura del elemento. Se expresa también como width, aunque ninguno de los dos en términos negativos. Ejemplo: < html> < head> < style type="text/css"> .altura{ height: 100px; border: 1px solid #00FFFF; padding: 5px} < /style> < /head> < body> < p class="altura">PARRAFO DEFINIDO CON UNA ALTURA DE 100 PIXELES< /p> < /body> < /html>
Resultado: -42-
CURSO DE CSS
8.3.2.- Margen y relleno Margen o Margin determina la anchura del margen de la caja. Entendemos como margen al espacio que hay entre el borde de la caja y los elementos que la rodean o respecto a los bordes del documento. Se puede expresar en píxeles o porcentaje y también con valores negativos. La anchura de los margenes se puede establecer por separado permitiendo dar a la caja diferente margen por cada lado, utilizando para ello sus derivaciones para cada orientación: § § § § MARGIN-TOP (superior) MARGIN-BOTTOM (inferior) MARGIN-LEFT (izquierdo) MARGIN-RIGHT derecho) Si solo se indica un valor, todos los margenes tienen ese valor. Si se indican dos valores, el primero se asigna al margen superior e inferior y el segundo se asigna a los margenes izquierdo y derecho. Si se indican tres valores, el primero se asigna al margen superior, el tercero se asigna al margen inferior y el segundo valor se asigna los margenes izquierdo y derecho. Si se indican los cuatro valores, el orden de asignación es: margen superior, margen derecho, margen inferior y margen izquierdo.
Los margenes verticales (margin-top y margin-bottom) sólo tienen efecto en los elementos de bloque y las imágenes, mientras que los margenes laterales (margin-left y margin-right) se pueden aplicar a cualquier elemento.
Relleno o padding define la distancia interior entre el borde y el contenido de la caja. Los valores se expresan en píxeles o porcentaje y no admite valore negativos. La anchura del relleno se puede establecer por separado permitiendo dar a la caja diferente relleno por cada lado, utilizando para ello: § § § § PADDING-TOP (superior) PADDING-BOTTOM (inferior) PADDING-LEFT (izquierdo) PADDING-RIGHT (derecho) También ocurre como en el margen que según se indique de uno a cuatro valores anteriores se definirán el relleno superior, inferior, izquierdo y derecho. Ejemplo de margin y padding:
< html> < head> < style type="text/css"> h4{margin:10px; padding:20px; border:thin solid green} p{padding:10px;} < /style> < title>Ejemplo de padding y margin< /title> < /head> < body>
-43-
CURSO DE CSS
< h4>Fragmento del libro más famoso de Don Miguel de Cervantes: El Quijote.< /h4> < p>En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor. < p>Una olla de algo más vaca que carnero, salpicón las más noches, duelos y quebrantos los sábados, lantejas los viernes, algún palomino de añadidura los domingos, consumían las tres partes de su hacienda.< /p> < p> El resto della concluían sayo de velarte, calzas de velludo para las fiestas, con sus pantuflos de lo mesmo, y los días de entresemana se honraba con su vellorí de lo más fino.< /p> < /body> < /html>
Resultado: Como se aprecia en la imagen el título presenta un borde, por lo que se entiende fácilmente sus margenes, al contrario que el margen interno que presenta el texto, que los 10px imprimen una mayor distancia entre los párrafos. En muchos casos es recomendable resetear a cero padding y margin para toda la página web: * { margin: 0; padding: 0; }
-44-
CURSO DE CSS 8.3.3.- Bordes CSS permite definir el aspecto de cada uno de los cuatro bordes horizontales y verticales de los elementos. Para cada borde se puede establecer su anchura, su color y su estilo. ? border-width Esta propiedad determina, la anchura del borde de la caja. El borde se sitúa entre el fin del área de relleno y el comienzo del área de margen. Como en los casos anteriores, la anchura del borde se puede establecer por separado para cada uno de sus lados. Los valores que puede tomar son: thin (borde fino), médium (borde mediano), thick (borde grueso) o un valor exacto. ? border-color Esta propiedad determina el color del borde de la caja. Los valores que puede tomar son los siguientes: valor (la palabra clave que define al color o un código hexadecimal de 6 caracteres como red #ff0000, yellow #ffff00, white #ffffff, green #008000, blue #0000ff, black #000000, silver #c0c0c0, gray #808080) o bien transparent. ? border-style Esta propiedad determina el estilo de la línea del borde de la caja. Los valores que puede tomar son los siguientes: none (ningún borde, el ancho es cero), hidden ( Igual que 'none', excepto en términos de resolución de conflictos de bordes para los elementos de tablas), dotted (una serie de puntos), dashed (una serie de pequeños segmentos de líneas), solid (línea contínua), double (dos líneas sólidas, y la suma de las dos líneas y el espacio entre ellas es igual al valor de 'border-width'), groove ( como si estuviera tallado en el lienzo), etc. ? Border Esta propiedad determina todas las propiedades de los bordes resumidas, es decir, la anchura, el color y el estilo del borde de la caja. El orden de los valores es el siguiente: border-width, border-style, border-color. ? Border-radius: CSS 3 ha incorporado esta nueva propiedad para el control de los bordes con las esquinas redondeadas y también bordes con imágenes (incluso varias imágenes se pueden utilizar para definir el aspecto del borde, sombras, etc.) La propiedad border-radius, que permite definir bordes redondeados en las esquinas, se establece especificando las medidas del radio que deben darse a la curva de las esquinas. Ejemplo: border-radius:5px; -45-
CURSO DE CSS Por el momento Mozilla ha adoptado este atributo con un nombre especial, que es válido para productos como Firefox, mientras que las especificaciones de CSS3 no hayan alcanzado el estado "Candidate Recommendation", que es cuando se supone que los distintos navegadores deben implementarlas. El nombre del atributo por el momento es: -moz-border-radius Y por lo que respecta a Internet Explorer hay que decir que todavía no soporta este atributo de CSS 3. Ejemplos de border: < style type="text/css"> div{ padding: 5px; } div.bordesolido{ border-color: #df01d7; border-width: 2px; border-style: solid; } .bordeporlados{ border-top: 8px double #44889f; border-right: 2px dotted #ff8833; border-bottom: 2px solid #990033; border-left: 3px dashed #9097ff; } div.bordegroove{ border: 5px groove #66cc66; } div.borderidge{ border: 10px ridge #6666cc; } div.bordeinset{ border: 10px inset #3333ff; background-color: #2E9AFE; } div.bordeoutset{ border: 10px outset #cccccc; background-color: #cccccc; } < /style> -46-
CURSO DE CSS Resultado: -47-
CURSO DE CSS 8.4.- Test 1. Características de span: Permitir dar un estilo que no esté conectado a un elemento estructural HTML Span es un elemento en línea Span se puede usar como un selector en una hoja de estilo Todas las anteriores son correctas 2. Características de div: Div es un elemento de nivel bloque Puede contener tablas, párrafos y encabezados Las dos anteriores son correctas La segunda opción es correcta 3. Indica cual es verdadera o falsa Para determinar el margen de la caja. Por ejemplo: padding:10px; Para determinar la anchura del borde de caja. Por ejemplo: border-width: 1.2 em; Para determinar la distancia interior entre el borde y el contenido de la caja. Por ejemplo: padding: 10px; Para determinar la altura del elemento. Por ejemplo: height: 100px; 4. ¿Cómo definiría margenes con estos anchos? El margen superior: 2 cm, El margen inferior: 4 cm, El margen izquierdo: 1cm, El margen derecho: 3 cm margin: 2cm 1cm 3cm 4cm margin: 1cm 3cm 2cm 4cm margin: 2cm 3cm 1cm 4cm margin: 2cm 3cm 4cm 1cm 5. ¿Está permitido usar valores negativos para la propiedad padding? Si No 6. ¿Qué propiedad nos posibilita indicar la posición de una caja de forma absoluta con respecto de su elemento contenedor ? Float: left; Position:fixed; Padding-bottom: 10px; Ninguna de las anteriores -48-
CURSO DE CSS
8.5.- Ejercicio
A partir del ejercicio2.html vamos a cambiar el aspecto general de nuestra página web. Llamarlo ejercicio3.html y a las reglas estilos3.css. Modificaciones: ? ? ? ? Establecer un borde al título: grosor de 2px, sólido y de color azul. Destacar la palabra estructura con color rojo. Irá en un span. Dar un margen interior o padding de 10 px a los párrafos. Añadir un tercer párrafo que tendrá un borde punteado de 1px en color verde, la caja tendrá un ancho de 250px, un margen exterior de 4 px en su orientación superior y un margen interno de 8 px para los cuatro lados. Texto a añadir: La estructura debe: ser simple, ser simétrica, no ser muy alargada en planta o elevación, planos resistentes distribuidos en forma uniforme y con elementos horizontales en los que se formen articulaciones antes que en los elementos verticales.
Resultado: -49-
CURSO DE CSS
9.- LISTAS Y TABLAS 9.1.- Listas
Las listas sirven para citar, numerar y definir elementos. También son utilizadas para desplazar el comienzo de línea hacia la derecha. Veamos sus tipo: ? Listas desordenadas Una lista desordenada viene definido por la etiqueta < ul> y < /ul> y cada elemento viene definido por < li> la cual no hace falta cerrar. La viñeta que se antepone al elemento puede ser un circulo, cuadrado, etc. Ejemplo: < p>Colores< /p> < ul> < li>Azul < li>Verde < li>Morado < /ul>
Resultado: Colores Azul Verde Morado ? Listas ordenadas Una lista ordenada viene definido por la etiqueta < ol> y < /ol> y cada elemento viene definido por < li> la cual no hace falta cerrar. La viñeta de las listas ordenadas se sustituye por ordenaciones (alfabéticas o numéricas). Ejemplo: < p>Los Top Cinco de la ATP< /p> < ol type="1"> < li>Rafael Nadal < li>Roger Federer < li>Andy Murray < li>Novak Djokovic < li>Juan Martin del Potro < /ol>
Resultado: Los Top Cinco de la ATP 1. Rafael Nadal 2. Roger Federer 3. Andy Murray 4. Novak Djokovic 5. Juan Martin del Potroero
-50-
CURSO DE CSS ? Listas de definición Las listas de definición se diferencian de las anteriores en que cada ítem está compuesto por un par de elementos: un término y su definición. Se usan estas etiquetas: < dl> para crear la lista, < dt> para cada término y < dd> para las definiciones.
Ejemplo: < p>Diccionario de la Real Academia< /p> < dl> < dt>Numerar la < dd>Contar por el orden de los números. Expresar numéricamente cantidad. Marcar con números. < dt>Enumerar < dd>Enunciar sucesiva y ordenadamente las partes de un conjunto. < /dl>
Resultado: Diccionario de la Real Academia Numerar Contar por el orden de los números. Expresar numéricamente la cantidad. Marcar con números.
Enumerar Enunciar sucesiva y ordenadamente las partes de un conjunto.
A partir de estos tipos se pueden crear listas anidadas que resultan de una mezcla de las anteriores.
Su uso está ampliamente extendido para realizar menús horizontales o verticales. Veamos como esta técnica permite construir menús de listas horizontal:
HTML
< div id="menu"> < ul> < li>< a href="#">Botón Izquierdo< /a>< /li> < li>< a href="#">Botón Centro< /a>< /li> < li>< a href="#">Botón Derecho< /a>< /li> < /ul> < /div>
#-> nombre del archivo html entrecomillado que actúa como enlace. -51-
CURSO DE CSS Esto se visualiza de la siguiente manera: CSS
#menu ul { padding: 0px; margin: 0px; background-color: #333; list-style: none; font-size: 14px; font-weight: bold; width: 100%; height: 30px; float: left; } (esta propiedad dispone la lista en horizontal) #menu ul li { display: inline; } -52-
CURSO DE CSS
#menu ul li a:link, #menu ul li a:visited { background-color: #333; color: #FFF; padding: 5px 15px; float: left; text-decoration: none; }
#menu ul li a:hover, #menu ul li a:active{ color: #0080FF; background-color: #F5F6CE; height: 20px }
Y al añadir estilo obtenemos en lugar de una enumeración un menú que nos posibilita acceder a través de enlaces a otras partes de la página web.
Resultado: -53-
CURSO DE CSS 9.2.- Tablas Una tabla es un conjunto de celdas organizadas dentro de las cuales podemos alojar distintos tipos de contenidos, como textos, texto preformateado, imágenes, vínculos, formularios, campos de formularios, otras tablas, etc. Se crea con la etiqueta principal < table> y < /table>. Dentro de esta etiqueta vamos creando las distintas filas con la etiqueta < tr> y < /tr>, y en cada fila las celdas a través de la etiqueta < td> y < /td>. Las celdas de cada fila se ordenan automáticamente de izquierda a derecha. Dentro de estas etiquetas de celda es donde colocaremos nuestro contenido. Además cada tabla puede tener un título que asignaremos con el elemento < caption>. Y el elemento < th> define una celda que contiene información de encabezado. No deberían usarse tablas con la única finalidad de organizar la presentación de los contenidos de un documento , ya que esto puede ocasionar problemas cuando se represente en un medio no visual. Además, al incluir gráficos, estas tablas pueden forzar a los usuarios a hacer desplazar horizontalmente la pantalla para ver una tabla diseñada en un sistema con una pantalla más grande. Para minimizar estos problemas, los autores deberían usar hojas de estilo CSS en lugar de tablas para organizar la presentación. Ejemplo: < html> < head> < title>Ejemplo de tablas< /title> < /head> < body> < h1>tablas básicas< /h1>
< table border="1"> < tr> < th>cabecera 1< /th> < th>cabecera 2< /th> < th>cabecera 3< /th> < /tr> < tr> < td>primer dato< /td> < td>segundo dato< /td> < td>tercer dato< /td> < /tr> < tr> < td>cuarto dato< /td> < td>quinto dato< /td> < td>sexto 6< /td> < /tr> < /table>
< /body> < /html> -54-
CURSO DE CSS Resultado: No se entra en más detalle ya que últimamente se utiliza mucho más el modelo de caja (div) que las tablas. Esto es debido a las siguientes razones: 1.- Editando un solo archivo CSS se pueden hacer importantes cambios como cambiar un diseño completo en apenas tiempo. 2.- Los CSS externos se quedan almacenados en la caché de los navegadores por lo que se reduce el tiempo de descarga de un sitio web. 3.- CSS elimina código innecesario, mejorando el tiempo de carga. 4.- CSS permite hacer cosas más interesantes que el HTML por sí sólo. 5.- Un buen uso de CSS mejora la accesibilidad y la lectura que tienen los motores de búsqueda sobre un sitio web. 6.- El uso de :hover en CSS elimina el uso de Javascript para crear efectos de onmouseover. 7.- Si quiere validación XHTML strict no le queda otro camino que usar este método. 8.- Además, en navegadores no visuales (de texto, para ciegos, o cualquier dispositivo que no sea un monitor) el resultado es totalmente imprevisible.
-55-
CURSO DE CSS
9.3.- Test 1. ¿Cómo definimos los ítems de una lista ordenada para que muestre números romanos en mayúscula? ol{list-style-type:lower-roman} ul{list-style-type:roman} ol{list-style-type:upper-roman} ol{list-type:upper-roman}
2. La propiedad que nos muestra un menu horizontal es:
< caption>tabla de prueba< /caption> #menu ul li { display: inline; } < li>< a href="#inicio">Botón< /a>< /li> .menu {padding-top: 20px;} -56-
CURSO DE CSS
9.4.- Ejercicio
Realizar una modificación del ejercicio3 que llamaremos ejercicio4.html y su correspondiente css: ? El texto que aparece en la caja inferior donde se enumeran ciertos aspecto, cambiarlo por una lista desordenada.
Resultado: -57-
CURSO DE CSS 10.- POSICIONAMIENTO 10.1.- Definición de Posicionamiento El posicionamiento en CSS consiste en ubicar los elementos HTML en la pagina. Básicamente esto se logra ordenándole desde CSS a los elementos que tengan cierto tamaño y posición dentro de la web, obteniendo además una buena organización del código HTML o XHTML. El posicionamiento con CSS nos permite un control total sobre los elementos de la pagina, además con documentos muy livianos y completamente válidos ante el validador W3C. Cuando se solicita una página web, el navegador descarga el contenido HTML y CSS aplicando un procesamiento muy complejo antes de mostrar la página en la pantalla del usuario. Para cumplir con el modelo de cajas, los navegadores crean una caja para representar a cada elemento de la página HTML. Los factores que se tienen en cuenta para generar cada caja son: ? Las propiedades width y height de la caja (si están establecidas). ? El tipo de cada elemento HTML (elemento de bloque o elemento en línea). ? Posicionamiento de la caja (normal, relativo, absoluto, fijo o flotante). ? Las relaciones entre elementos (dónde se encuentra cada elemento, elementos descendientes, etc.) ? Otro tipo de información, como por ejemplo el tamaño de las imágenes y el tamaño de la ventana del navegador. Los principios que rigen el posicionamiento CSS consisten en que se puede colocar cualquier caja en cualquier lugar del sistema de coordenadas. El origen de este sistema es la esquina superior izquierda. 10.2.- Tipos de elementos El estándar HTML clasifica a todos sus elementos en dos grandes grupos: elementos en línea y elementos de bloque. ? Los elementos de línea no empiezan necesariamente en nueva línea y sólo ocupan el espacio necesario para mostrar sus contenidos. Ejemplos: enlaces, basefont, br, font, img, label, select, span, strong, sup, textarea, etc. ? Los elementos de bloque siempre empiezan en una nueva línea y ocupan todo el espacio disponible hasta el final de la línea. Ejemplo: address, blockquote, center, dir, div, dl, form, h1, h2, h3, h4, h5, h6, hr, menu, noframes, ol, p, table, ul. Existen otros elementos que pueden ser de línea y de bloque según las circunstancias: button, del, iframe, map, object, etc. Es por esto que según el tipo de elemento va a influir de forma diferente en el tipo de caja que el navegador crea que debe mostrar. -58-
CURSO DE CSS
10.3.- Tipos de posicionamiento A continuación vamos a ver los tipos de posicionamientos definidos para las cajas y otras propiedades que afectan a la forma en la que se visualizan las cajas. Los navegadores crean y posicionan de forma automática todas las cajas que forman cada página HTML. No obstante, CSS permite al diseñador modificar la posición en la que se muestra cada caja. Utilizando las propiedades que proporciona CSS para alterar la posición de las cajas es posible realizar efectos muy avanzados y diseñar estructuras de páginas que de otra forma no serían posibles. El estándar de CSS define cinco modelos diferentes para posicionar una caja: 10.3.1.- Posicionamiento normal ó estatico Se trata del posicionamiento que utilizan los navegadores por defecto si no se indica lo contrario. La propiedad Position nos permite posicionar un elemento dentro de la página. Valores que presenta: top, right, bottom y left. Por lo que ninguna caja se desplaza respecto de su posición original, sólo se tiene en cuenta si el elemento es de bloque o en línea. 10.3.2.- Posicionamiento relativo Variante del posicionamiento normal que consiste en posicionar una caja respecto de su posición original. El desplazamiento de una caja no afecta al resto de cajas adyacentes, que se muestran en la misma posición que si la caja desplazada no se hubiera movido de su posición original. El desplazamiento de la caja se controla con las propiedades top, right, bottom y left. Ejemplo: < span style="position:relative; background-color:#90EE90"> Posicion relativa verde< /span> < span style="position:relative; background-color:#ADD8E6"> Posicion relativa azul< /span> < span style="position:relative; background-color:#FFB6C1"> Posicion relativo rojo< /span>
Resultado: Posicion relativa verde Posicion relativa azul Posicion relativa rojo 10.3.3.- Posicionamiento absoluto La posición de una caja se establece de forma absoluta respecto de su elemento contenedor y el resto de elementos de la página ignoran la nueva posición del elemento. El posicionamiento absoluto se emplea para establecer de forma precisa la posición en la que se muestra la caja de un elemento. La nueva posición de la caja se indica mediante coordenadas, que vienen dadas por los atributos top, right, bottom y left. La interpretación de los valores es más compleja que en el posicionamiento relativo, ya que en este caso dependen del posicionamiento del elemento contenedor. Cuando se posiciona una caja se asigna independientemente de la posición de los otros elementos, entonces el resto de elementos de la página la ignoran y ocupan el lugar original ocupado por la caja posicionada. Esto hace probable que se produzcan solapamientos con otras cajas.
-59-
CURSO DE CSS Ejemplo: < span style="position:absolute; background-color:#90EE90"> posicionamiento absoluto del elemento padre en verde < span style="position:absolute; top:60px; left:60px; background- color:#ADD8E6">posicionamiento absoluto del elemento hijo en azul < /span> < /span> Resultado: posicionamiento absoluto del elemento padre en verde posicionamiento absoluto del elemento hijo en azul 10.3.4.- Posicionamiento fijo Variante del posicionamiento absoluto que convierte una caja en un elemento inamovible. El posicionamiento fijo se establece de forma que su posición en la pantalla siempre es la misma independientemente del resto de elementos y de si el usuario sube o baja la página en la ventana del navegador. La posición de la caja se calcula con respecto al posicionamiento absoluto, fijando la caja con respecto a alguna referencia. Por lo que hay casos en donde la caja se fija y no se mueve al realizar un desplazamiento, y otros casos donde la caja se fija con respecto a la página, como en el caso de la previsualización de un impreso. 10.3.5.- Posicionamiento flotante Se trata del modelo más especial de posicionamiento. Se usa la propiedad Float para definir cómo se disponen los elementos que se encuentran alrededor de una caja flotante, de forma que sus contenidos fluyen alrededor del elemento posicionado, es decir se alinean unos respecto a otros. Al posicionar una caja con float, automáticamente se convierte en una caja flotante, lo que significa que sólo se desplaza hasta la zona más a la izquierda (left) o más a la derecha (right) de la posición en la que originalmente se encontraba, además es preciso definir su anchura, porque sino el estilo no se aplica. Destacar que este tipo de posicionamiento transforma cualquier elemento en un elemento de tipo bloque. Ejemplo: CSS < style type="text/css"> #floatdcha{ float: right; background: #3cf; width: 220px; padding: 10px; } < /style> -60-
CURSO DE CSS HTML < div id="floatdcha"> Aquí tenemos la propiedad float, para alinearse a la derecha. < /div>
Resultado: 10.3.6- Otras Propiedades ? Clear Esta propiedad indica cuál de los lados de la(s) caja(s) de un elemento no puede quedar adyacente a una caja flotante anterior. Es decir, no permite ubicar a los lados de una foto o texto ningún otro elemento flotante. Esta propiedad sólo puede especificarse para elementos a nivel de bloque (incluyendo también a los elementos flotantes). Los valores tienen significados como both, left o right. La propiedad clear permite modificar el comportamiento por defecto del posicionamiento flotante para forzar a un elemento a mostrarse debajo de cualquier caja flotante. Si se indica el valor left, el elemento se desplaza de forma descendente hasta que pueda colocarse en una línea en la que no haya ninguna caja flotante en el lado izquierdo. -61-
CURSO DE CSS
? Display La propiedad display permite ocultar un elemento haciendo que desaparezca de la página. Si el elemento oculto no existe, el resto de elementos se muestran como si no existiera y ocupan el hueco dejado por la caja oculta. Los valores que pueden mostrar pueden ser entre otros inline, block, none, inherit, etc.
Ejemplo: -62-
CURSO DE CSS
10.4.- Test 1. Indica cual es verdadera o falsa: Ejemplo de elementos de bloque: menu, h4, y center. Ejemplo de posicionamiento relativo: #dog1 {position:relative; left: 350px;} Ejemplo de clear: #situ {clear: top; } Ejemplo de posicionamiento fijol: p.uno { position:fixed; left:5px; top:5px; }
2. Define la propiedad float:
Ocultar un elemento haciendo que desaparezca de la página Hace flotar un elemento a una posición relativa rompiendo el esquema normal de la pagina. Para dar un estilo diferente al párrafo Conecta con otra parte de la página web que no se ve -63-
CURSO DE CSS
10.5.- Ejercicio En este ejercicio5.html y su css correspondiente, se propone añadir al ejercicio4.html dos cajas con las siguientes características: ?
? Caja con posicionamiento normal: Insertar el texto: Definición de Estructura: Armadura, generalmente de acero u hormigón armado, que fijado al suelo, sirve de sustentación a un edificio. borde: 2px solid #fff color de fondo:#F5A9A9 ancho de la caja: 300px Caja con posicionamiento absoluto: Insertar el texto: Para más información consulte la bibliografia. borde:2px solid #610B38 posición:absolute top:135px left:550px
Resultado: -64-
CURSO DE CSS
11.- EJERCICIO PRÁCTICO FINAL
En este ejercicio final vamos a realizar el diseño y la maquetación de una página web con varias elementos y sus estilos. Para el desarrollo vamos a ir paso a paso viendo como es la estructura básica de una web: -65- Contenedor principal: engloba al resto de elementos Cabecera: acá puede ir un logo, el nombre de tu pagina web, un buscador… Menú: podemos poner un menú vertical u horizontal con listas HTML Contenido: donde irá el contenido de la web Pie de pagina: podemos poner lo que necesitemos, desde el copyright hasta los enlaces recomendados La estructura visual puede quedar de la siguiente manera:
CABECERA
MENU CONTENIDOS PIE
Lógicamente este es un ejemplo tipo y que según las necesidades variará el número de elementos y su posición. Pero básicamente con esta estructura ya podemos realizar una página web básica.
A partir del siguiente contenido, que copiaremos en un archivo llamado ejercicio_final.html, le añadiremos en un archivo externo su estilo, que se llamará estilo_final.css.
CURSO DE CSS < html>
< head> < title>Diseño básico para la creación de una página web con estilos CSS< /title> < link href="estilo_final.css" rel="stylesheet" type="text/css"> < /head>
< body> < div id="contenedor"> < div id="cabecera"> < div id="imagen">< /div> < div>< h2>Arquitectura románica: Un blanco manto de iglesias< /h2>< /div> < /div> < div id="menu"> < ul> < li>< a href="#">Inicio< /a>< /li> < li>< a href="#">Galeria< /a>< /li> < li>< a href="#">Listado< /a>< /li> < li>< a href="#">Contacto< /a>< /li> < /ul>< /div> < div id="central"> < p>Los siglos XI y XII atestiguaron una explosión en la actividad constructora, tanto pública como privada. La edificación de castillos y de iglesias absorbió la mayor parte del excedente de los recursos de la sociedad medieval y, al mismo tiempo, reflejó sus preocupaciones básicas: Dios y la guerra. Las iglesias fueron, por mucho, los más conspicuos de los edificios públicos. Como un cronista del siglo XI comentó:Al acercarse el 1000, la gente de todo el mundo, pero sobre todo de Italia y Francia, comenzó a reconstruir sus iglesias. Aunque la mayor parte de ellas ya estaban construidas y no necesitaban grandes cambios. Las naciones cristianas rivalizaban entre sí por tener los edificios más bellos. Uno podría decir que el mundo estaba sacudiéndose, deshaciéndose de sus viejas vestiduras y ataviándose con un blanco manto de iglesia. Así, casi todas las catedrales y monasterios consagrados a diversos santos e, incluso, las pequeñas capillas de las villas eran reconstruidas por los fieles más hermosamente.< /p> < p>Bóveda cilíndrica. Los siglos XI y XIII fueron testigos de una intensa actividad en la construcción de iglesias. Al utilizar la forma de la basílica los maestros constructores remplazaron los techos planos de madera por grandes cúpulas de piedra conocidas como bóvedas de cañón o bóvedas cilíndricas. Corno esta fotografía de una iglesia románica de Viena lo evidencia, la bóveda de cañón limitaba el tamaño de una iglesia y dejaba poco espacio para las ventanas.< /p> < p>Cientos de nuevas catedrales, abadías e iglesias de peregrinación así como miles de iglesias parroquiales de las villas rurales se construyeron en los siglos XI y XII. La extraordinaria actividad constructiva reflejó tanto la cultura religiosa revivida como la riqueza incrementada de la época, gracias a la agricultura, el comercio y el crecimiento de las ciudades.< /p> -66-
CURSO DE CSS
< p>Las catedrales del siglo XI y XII se construyeron con un estilo verdaderamente internacional: el estilo románico. La construcción de las iglesias exigió los servicios de maestros constructores profesionales, cuya contratación a lo largo de toda Europa garantizó una homogeneidad internacional de las características básicas. Ejemplos sobresalientes de las iglesias románicas pueden encontrarse en Alemania, Francia y España.< /p> < /div> < div id="pie">Realizado por nombre_apellido, copyright 2009. Todos los derechos reservados.< /div> < /div> < /body>
A continuación podemos ver cómo es este texto sin estilo: -67-
CURSO DE CSS Veamos como darle un estilo a este contenido en Estilo_final.css:
1º Body un color de fondo con la siguiente notación Vamos a indicar en el body hexadecimal de #F5F6CE. 2º Contenedor Esta primera capa contendrá al resto de elementos. Es muy importante darle unas medidas de alto y ancho para toda nuestra página web. Por elle incluiremos un selector #contenedor que tiene un ancho de 1000 píxeles y un alto de 600 píxeles.
3º Cabecera El selector #cabecera tiene como color de fondo#81BEF7, y una altura de 120px. En la cabecera se insertarán dos cajas: 3.1
3.2 En la primera caja se insertará una imagen como fondo con las dimensiones de 170 píxeles de ancho y 120 píxeles de alto y con un float a la izquierda, en un selector llamado #imagen. En la segunda caja el título con un estilo h2, tendrá además que estar alineado en el centro y al que se le dará un margen tanto superior como a la izquierda de 50 píxeles y también con un float a la izquierda. 4º Menú Utilizando las listas vamos a disponer cuatro botones que se llaman Inicio, Galeria, Listado y Contacto. Las características que de los selectores son: 4.1
4.2 4.3
4.4 Al listado se le asigna un color de fondo #333, un ancho de caja del 100% con una altura de 30 píxeles y que la caja flote a la izquierda. Además aplicar estilo none a cada elemento de la lista, con un tamaño de letra de 14 píxeles y en negrita. El listado disponerlo en horizontal. Para el enlace link y visited, mostrar color de fondo de #333, sin ningún tipo de decoración, asignar un relleno superior e inferior de 7px y de 25px a derecha e izquierda, que la caja flote a la izquierda. Y para finalizar un color para el texto de #FFF. Para el enlace hover y active, marcar una altura de 20 píxeles, color de fondo de #F5F6CE y color de texto #0080FF. 5º Contenido Al selector #central donde va a ir el contenido principal, asignar una altura de 410 píxeles y un relleno de 15 píxeles. Asignar un selector de clase llamado texto que tendrá una fuente de Arial, Helvetica, sans-serif con un tamaño de 12px. La primera linea de cada párrafo estará sangrada 25 píxeles y todos los párrafos han de estar justificados.
-68-
CURSO DE CSS
Y por último otro selector de clase llamado resalte para asignar a los extractos del texto: blanco manto de iglesia y el estilo románico. Estará fuertemente resaltado en color #00F. 6º Pie Al selector #pie colorear el fondo con #81BEF7 y darle un borde de 2 píxeles, en color gris y textura sólida. A la caja asignar una altura de 25 píxeles. El texto que se encuentre alineado en el centro, con un tamaño de 11 píxeles. Tomará como fuente la que tenga por defecto el usuario.
Resultado final: -69-
CURSO DE CSS ? 12.- BIBLIOGRAFIA
Guía de Referencia CSS 2.1: http://www.w3c.es/Divulgacion/GuiasReferencia/CSS21/ ? Validación código CSS http://validator.w3.org/ -70-
Página anterior | Volver al principio del trabajo | Página siguiente |