UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN CICLO: 01-2015 GUIA DE LABORATORIO N°8 Nombre de la práctica: Uso de imágenes en una página web Lugar de ejecución: Laboratorio de Informática. Tiempo Estimado: 3 horas. Materia: Introducción a Internet (IAI441) I. Objetivos. Que el estudiante sea capaz de: 1. Identificar cuáles son los elementos necesarios para agregar imágenes a una página Web. 2. Crear páginas Web implementando Mapa de imágenes. 3. Aplicar estilo CSS a una imagen dentro de una página Web. II. Introducción Teórica. El elemento IMG y sus atributos Se pueden incluir imágenes dentro de una página web utilizando el elemento IMG y el atributo src. Este atributo debe contener la URL, relativa o absoluta en la que se encuentra la imagen. La utilización del elemento IMG dentro de un documento web hace que se incluya la imagen especificada en por el atributo src en la posición de definición de dicho elemento. El archivo de imagen especificado en el atributo src debe ser de uno de los tres tipos antes mencionado, de lo contrario la imagen no será mostrada por el navegador. A continuación se muestran dos ejemplos de inclusión de imágenes en un documento web utilizando en uno de ellos una URL relativa y, en el otro, una URL absoluta. <IMG src="img/imagen.jpg"> <IMG src="http://www.algunsitio.com/Gente/Juan/vacaciones/familia.png" alt="Una foto de mi familia en el lago."> Además del atributo src, se pueden incluir algunos atributos adicionales como los que se enumeran y explican a continuación: alt: permite realizar una descripción corta (pocas palabras) de la imagen, llamada a veces texto alternativo. Los navegadores deberían presentar el texto alternativo, cuando por alguna razón no puedan mostrar la imagen. longdesc: se utiliza para realizar una descripción detallada de la imagen. Esta descripción debería de ser complementaria a la descripción corta del atributo alt. name: puede utilizar este atributo para poder identificar a la imagen con un nombre. Esto le será útil cuando realice scripts en lenguaje JavaScript, para realizar páginas web dinámicas principalmente. id: asigna un identificador único a la imagen con el propósito que se pueda hacer referencia a ella desde una hoja de estilo o desde scripts. 1 ismap / usemap: Indica que la imagen es un mapa. Si utiliza ismap estará indicando que se trata de un mapa de imagen en el servidor y si utiliza usemap se definirá como un mapa de imagen en el cliente. Mapa de Imágenes. Un mapa interactivo es una imagen que tiene la propiedad de estar dividida en diferentes partes o sectores, de forma que cada una de ellas puede funcionar como un enlace estándar HTML. Los mapas de imágenes pueden ser mapas del lado cliente, en los que el código necesario para la definición de las diferentes partes de la imagen se encuentra en la propia página que contiene el mapa, y que por lo tanto se ejecuta en el navegador del cliente, y mapas del lado servidor, en los que éste código se encuentra en un script o programa almacenado en el servidor Web. Un mapa de imagen en el lado del cliente precisa para su implementación en una página Web de dos partes. Por un lado, necesitamos definir el mapa en sí, para lo cual se usan los elementos MAP y AREA, junto con algunos atributos, siguiendo una estructura como la que se muestra a continuación: <MAP NAME="nombre_mapa"> <AREA shape="rect | circle | poly | default" coords="x1,y1,x2,y2,......." href ="enlace1.html"> .... <AREA shape ="rect | circle | poly | default" coords="x1,y1,x2,y2,......." href ="enlaceN.html"> </MAP> En donde: 1. name es el nombre con el que se identificará al mapa de imagen 2. nombre_mapa es un nombre identificador único que damos a cada mapa. 3. shape establece la forma que va a tener cada área de enlace (rectangular, circular, poligonal o por defecto). 4. coords define las coordenadas de los sucesivos puntos que forman el área establecida en shape. Así, si elegimos una forma rectangular deberemos dar las coordenadas de los vértices superior izquierdo e inferior derecho del rectángulo; si es una forma circular daremos las coordenadas del centro del círculo y la longitud del radio; y si es una forma poligonal deberemos especificar las coordenadas de los sucesivos puntos que forman el polígono. 2 5. href asigna el enlace al que lleva cada una de las áreas definidas en el mapa. Tipos de áreas: Shape distintas Existen tres tipos de áreas distintas, suficientes para hacer casi cualquier tipo de figura. En el dibujo que acompaña estas líneas se puede ver una representación de las áreas, que detallamos a continuación. shape="RECT" Crea un área rectangular. Para definirla se utilizan las coordenadas de los puntos de la esquina superior izquierda y la esquina inferior derecha. Tal como están nombradas dichas coordenadas en nuestro dibujo, el área tendría la siguiente etiqueta: <area shape="RECT" coords="X1,Y1,X2,Y2" href="#"> shape="CIRCLE" Crea un área circular, que se indica con la coordenada del centro del círculo y el radio. A la vista de nuestro dibujo, la etiqueta de un área circular tendría esta forma: <area shape="CIRCLE" coords="X1,Y1,R" href="#"> shape="POLY" Este tipo de área, poligonal, es la más compleja de todas. Un polígono queda definido indicando todos sus puntos, pero atención, los tenemos que indicar en orden, siguiendo el camino marcado por el perímetro del polígono. A la vista del dibujo y los nombres que hemos dado a los puntos del polígono, la etiqueta <area> quedaría de esta forma. <area shape="POLY" coords=" X1,Y1, X2,Y2, X3,Y3, X4,Y4" href="#"> NOTA IMPORTANTE: Debes de observar el símbolo numeral (#) delante del nombre del mapa en el atributo usemap. Si se omite, el mapa no funciona. Las transiciones. Las transiciones no son otra cosa que el efecto de un cambio en el estado de un elemento de forma gradual en un intervalo de tiempo. Cuando hablamos de cambio de estado nos referimos a cambios en los valores de sus propiedades. Por ejemplo, supongamos que tenemos un párrafo (elemento <p> de un documento HTML) cuyo color de fuente es rojo. El color de la fuente sería una propiedad del elemento párrafo (propiedad "color"). Imaginemos que queremos que el color de la fuente en un momento determinado cambie a azul. Con Javascript fácilmente podríamos cambiar la propiedad 'color' del elemento párrafo a azul y el usuario inmediatamente vería que el color del texto del párrafo ya no es rojo sino azul. Sin embargo, eso NO es una transición. La transición se basa en que el elemento tiene que cambiar el valor de la propiedad de forma gradual durante un intervalo de tiempo. Es decir, si decidimos que el intervalo de tiempo sea de 2 segundos, la transición 3 sería el efecto que se produce al ver cómo, en esos 2 segundos, el color de la letra va cambiando progresivamente de rojo a azul. Este tipo de efectos producen en una página la sensación de que está "viva" :). A fecha de hoy (ver fecha de publicación del tutorial), las transiciones únicamente son soportadas por los navegadores: Firefox, Chrome, Safari y Opera. Internet Explorer (al menos hasta su versión 9) no las soporta. Propiedades de las transiciones. Para poder aplicar transiciones sobre un determinado elemento contamos con las siguientes propiedades: transition-property: indica sobre qué propiedad del elemento se aplicará la transición. Pueden especificarse varias propiedades separándolas por comas. El valor por defecto es 'all' que indica que la transición se aplicará sobre todas las propiedades del elemento. Un valor válido para esta propiedad sería, por ejemplo, 'width'. transition-duration: indica el tiempo que tardará la transición en completarse. El valor por defecto es 0. Ejemplos de valores válidos para esta propiedad pueden ser: 2s (2 segundos), 300ms (300 milisegundos), etc... transition-timing-function: indica cómo será la progresión de la transición. El valor por defecto es 'ease'. Los valores que acepta esta propiedad son los siguientes: o linear: la transición se produce en forma de progresión lineal. Tarda lo mismo desde que empieza hasta que acaba. o ease: la transición se produce de forma lenta al principio, luego más rápido, y termina otra vez lenta (valor por defecto). o ease-in: la transición comienza lenta y luego va más rápido. o ease-out: la transición comienza rápida y termina lenta. o ease-in-out: la transición comienza y acaba lenta. Igual que 'ease' pero de forma más notable. o cubic-bezier(n,n,n,n): permite definir nuestro propio intervalo de progresión. n: valor entre 0 y 1. transition-delay: es el tiempo que tardará la transición en comenzar. Por defecto es 0. transition: permite unificar todas las propiedades anteriores en una sola. Un ejemplo sería transition: width 3s ease-in 200ms Importante: por el momento los navegadores que proveen estas propiedades requieren que se especifiquen anteponiendo el prefijo de cada navegador a la propiedad. Esto es, para Firefox hay que anteponer el prefijo -moz- a la propiedad (ej: -moz-transition-duration:3s), para Chrome o Safari sería -webkit- y para Opera -o-. ¿Que por qué sucede esto? Pues porque estas propiedades todavía no están estandarizadas, por lo que los proveedores (navegadores) las consideran experimentales. Pero tranquilos que es cuestión de tiempo que se estandarice... :) Las animaciones. Las animaciones son bastante parecidas a las transiciones. Ambas tienen en común que actuan sobre los valores de las propiedades de un elemento transformándolos gradualmente en otros valores. Sin embargo, las animaciones ofrecen bastante más control que las transiciones en el proceso de transformación del elemento. 4 Las transiciones se ejecutan cuando se produce un cambio en las propiedades de un elemento. Ya lo vimos en el punto anterior, cuando el usuario pasa el ratón por encima de un elemento y la css indica que el valor de determinadas propiedades cambia (:hover), entonces se lanza la transición. Las animaciones son algo distintas ya que se lanzan explícitamente. No se espera a que suceda un cambio en el estado del elemento como pasaba con las transiciones. Es por ello que para usar animaciones necesitamos "keyframes". Estos "keyframes" describirán el comportamiento que tendrá la animación durante su periodo de ejecución. A diferencia de las transiciones, las animaciones (de momento) no son soportadas por el navegador Opera. Keyframes. Como hemos dicho, los keyframes indicarán el comportamiento que tendrá un elemento durante el tiempo que dure la animación. Para definir el comportamiento de una animación mediante un keyframe lo hacemos de la siguiente manera: @keyframes nombre-animacion { 0% { left: 10px; } 25% { left: 150px; } 50% { left: 160px; } 75% { left: 300px; } 100% { left: 310px; } } Como vemos, nombre-animacion será el nombre que le demos a nuestra animación y que será referenciada por el elemento que vayamos a animar (lo veremos más adelante). Los porcentajes que hay dentro de la regla indicarán el estado de la propiedad (o propiedades del elemento) en ese % de duración de la animación. Si por ejemplo, nuestra animación durase 10 segundos, nuestro elemento comenzaría con una distancia a la izquierda del elemento que lo contiene (propiedad left) igual a 10px. Transcurrido el 25% del tiempo (2.5 segundos) su posición sería de 150px, transcurrido el 50% del tiempo (5 segundos) su posición sería de 160px, y así sucesivamente... Por supuesto, podemos añadir tantos porcentajes como queramos. Notese que el 0% se puede sustituir por "from" y el 100% por "to". 5 Animaciones de imágenes con css usando keyframes 1. Animation-name. Establece el nombre de la animación. 2. Animation-timing-function. Establece que la animación será lineal, es decir, que su velocidad será constante durante todo el tiempo que dure. 3. Animation-iteration-count. Establece la cantidad de veces que se verá la animación, en este caso infinitas. 4. Animation-duration. Establece el tiempo que durara la animación, en este caso una vuelta completa de la imagen en 6 segundos. 5. transition-duration. Especificamos el tiempo que durara la animación Propiedades de Keyframes 6 III. Requerimientos N° Cantidad Descripción 1 1 PC con Windows XP con uno de los siguientes editores de páginas Web: PHP Designer Personal, Notepad ++, BlueFish o HTML Kit y cualquiera de los navegadores siguientes: Internet Explorer 9, Firefox (última versión disponible), Google Chrome (última versión disponible), Opera (última versión disponible), Safari (última versión disponible), Netscape (9.0.0.6) 2 1 Guía de Laboratorio #8 de Introducción a Internet 3 1 Memoria USB IV. Procedimiento Digite los siguientes ejercicios y guarde todas las páginas web en archivos separados con extensión .html. Indicaciones Generales. 1. Crear una carpeta en mis documentos y colocar en el nombre N°Carnet_Guia6, Nota: Cambiar N°Carnet por su número de carnet brindado por la Universidad. 2. Crear una nueva carpeta dentro de la anterior y colocarle en el nombre css. 7 Ejercicio 1. Mapeo CSS y HTML. 1. Cree un archivo HTML llamado “Ejemplo1.html”. 2. Guardar el archivo en la carpeta creada con su carnet. 3. Digite la siguiente estructura html ETIQUETA title img <map name="figurasimg"> <ul class="figuras"> VALORES Mapeo de imagenes CSS y HTML DENTRO DE SECCIÓN Ubicación de archivo: img/Fig_geo.png Texto alternativo de imagen: figuras geométricas Especificar imagen como mapa de cliente con nombre: figurasimg Forma de área Poly Coordenadas: 109,274,190,134,273,274 Texto alternativo: triangulo Enlace: # Forma de área Circle Coordenadas: 644,402,59 Texto alternativo: circulo Enlace:http://www.estudiantes.info/matematicas/1eso/images/circulodesarrollo.htm Forma de área rect Coordenadas: 555,177,727,275 Texto alternativo: rectangulo Enlace: # <li id="fig1"><p>Cuadrado con mapeo CSS</p></li> 4. Crear un nuevo archivo y guardarlo en la carpeta css con el nombre estilo1.css 5. Aplicar las siguientes reglas de estilo: Regla Propiedades body Margen izquierdo: 250px; Color de fondo: #0096ff; clase mapadeimagenes Posición : relativa Todos los elementos li que se Estilo de lista: ninguno encuentren dentro de ul.figuras Vista: ninguna Posición: absoluta Borde: medium solid white Al pasar ratón sobre un li dentro de ul.figuras Vista: bloque pertenecientes a clase mapadeimagenes : section.mapadeimagenes:hover ul.figuras li P dentro de li pertenecientes a clase ul.figuras. ul.figuras li p Margen: 10px 0 0 0 Área de relleno: .3em 8 Vista: ninguna Fondo: #FFF Posición: absoluta Top:100%; P dentro de li:(al pasar ratón) dentro de clase Vista: Bloque ul.figuras ul.figuras li:hover p id fig1 dentro de clase ul.figuras ul.figuras li#fig1 Ancho: 122px Alto: 123px Top:145px Left: 345px; 6. Agregar la línea necesaria en el documento html para lograr vincular el archivo css y poder aplicar los estilos 7. Visualizar la página web en el navegador. Al pasar el clic sobre el cuadrado podremos ver el efecto de mapeo css y el mapeo html5 en las figuras triangulo, rectángulo, circulo. Ejercicio 2. Mapeo CSS y HTML. 1. Cree un archivo HTML llamado “Transformaciones.html”. 2. Guardar el archivo en la carpeta creada con su carnet. 3. Digite la siguiente estructura html ETIQUETA VALORES 9 title H1 H2 P img img img Efectos de Transformación DENTRO DE ENCABEZADO ALBUM EL SALVADOR Imagenes con efectos de transformacion En este ejemplo aplicamos tranformaciones de: escala, rotacion y elemento activo.<br> Al dar click en la imagen se desvanece. DENTRO DE SECCIÓN Id: ES1 Ubicación de archivo: img/ES1.jpg Texto alternativo de imagen: El Salvador 1 Id: ES2 Ubicación de archivo: img/ES2.jpg Texto alternativo de imagen: El Salvador 2 Id: ES3 Ubicación de archivo: img/ES3.jpg Texto alternativo de imagen: El Salvador 3 4. Crear un nuevo archivo y guardarlo en la carpeta css con el nombre estilo2.css 5. Aplicar las siguientes reglas de estilo: Regla body Propiedades Tipo de letra. Aharoni Alineación de texto: centrado Fondo con imagen: img/Wall.jpg header Area de relleno: 3px Fondo de imagen: img/placa.jpg Repetición de fondo: no-repeat Margen izquierdo:26% Ancho: 626px H1 Color de letra: #fff Sombra de letra: 7px 8px 8px #000 Tamaño de letra: 30px H2 Color de letra: #f3501c; Id sección contenedor Margen superior:10px Fondo de imagen: img/pizarra.jpg Margen izquierdo: 25% Alto: 320px; Ancho: 650px; Sombreado de caja: 7px 8px 8px #444 Estilo de borde: solid Img:(cuando se da clic) dentro de id Opacidad: 0 contenedor #contenedor img:active Id ES1, id ES2, id ES3 Id ES1 Margen superior: 125px Izquierda: 38% Posicion: absolute Ancho: 320px Alto: 200px Sombreado de caja: 7px 8px 8px #444 Orden de apilamiento de un elemento z-index:1 10 Transformación de imagen Transform: Scale(1.5) traslateY(-40px) Scale: transforma tamaño de imagen TraslateY: desplaza imagen en el eje Y Id ES2 Orden de apilamiento:2 Transform: rotate(15deg) traslateX(-150px) Rotate: Gira imagen en los grados especificados. TraslateY: desplaza imagen en el eje X Id ES3 Orden de apilamiento: 3 Transformación de rotación imagen -25deg y desplazamiento en eje X de 150px 6. Agregar la línea necesaria en el documento html para lograr vincular el archivo css y poder aplicar los estilos 7. Visualizar la página web en el navegador. Al hacer clic sobre las imágenes se dará efecto de opacidad. Ejercicio 3.Slider CSS 1. Cree un archivo HTML llamado “Slider.html”. 2. Guardar el archivo en la carpeta creada con su carnet. 3. Digite la siguiente estructura html 11 4. Crear un nuevo archivo y guardarlo en la carpeta css con el nombre estilo3.css 5. Aplicar las siguientes reglas de estilo: Regla body H1 Clase Slider Clase boton Hijo 1 de la clase botón .boton:nth-child(1) Hijo 2 de la clase boton Hijo 3 de la clase boton Propiedades Fondo: #0094ff; Color de letra: #ffd800 Tamaño de letra: 35px Tipo de letra: Arial Unicode MS Alineación de texto: center Vista: Block Posición: relative Margen: auto Ancho: 100% Ancho máximo: 960px Alto macimo: 440px Corte de bordes si se desborda Overflow: hidden Posicion: absolute Vista: block Inferior: 30px Margen: 0 Area de relleno:0 Orden de apilamiento: 999 Opacidad:0 Especifica tipo de cursor Curso:pointer izquierda:30px Izquierda: 60px izquierda:90px 12 Hijo 4 de la clase botón Label dentro de la clase slider .slider label Hijo 2 de label dentro de clase slider .slider label:nth-child(2) Hijo 4 de label dentro de clase slider Hijo 6 de label dentro de clase slider Hijo 8 de label dentro de clase slider Izquierda:120px Posición: absolute Inferior: 30px Ancho: 12px Alto: 12px Fondo: White; Bordes redondeados: 7px Orden de apilamiento: 100 Borde: 1px solid #777; Izquierda:30px Izquierda:60px Izquierda:90px Izquierda:120px Label más próximo a checked dentro de Fondo : yellow la clase botón Color de borde: eee .boton:checked+label img dentro de clase contendor-img Vista: block .contenedor-img img Float: left Clase cuatro-imagenes Ancho:400% Img dentro de Clase cuatro-imágenes Ancho: 25% Clase contenedor-img Posición: relative Izquierda:0 Creación de transición transition: left .3s ease-in; -webkit-transition: left .3s ease-in; Seleccionar todos los elementos que contengan el Izquierda: 0 nombre de la clase contenedor-img dentro del hijo 1 de la clase boton. .boton:nth-child(1):checked ~ .contenedor-img Seleccionar todos los elementos que contenga el nombre de la clase contenedor-img dentro del hijo 3 de la clase botón Seleccionar todos los elementos que contenga el nombre de la clase contenedor-img dentro del hijo 5 de la clase botón Seleccionar todos los elementos que contenga el nombre de la clase contenedor-img dentro del hijo 7 de la clase botón Izquierda:-100% Izquierda:-200% Izquierda:-300% 6. Agregar la línea necesaria en el documento html para lograr vincular el archivo css y poder aplicar los estilos 7. Visualizar la página web en el navegador. Al hacer clic sobre los círculos cambiara de imagen. 13 Ejercicio 4.Animaciones y transiciones 1. Cree un archivo HTML llamado “animaciones.html”. 2. Guardar el archivo en la carpeta creada con su carnet. 3. Digite la siguiente estructura HTML 4. Crear un nuevo archivo y guardarlo en la carpeta css con el nombre estilo4.css 5. Aplicar las siguientes reglas de estilo: Regla body Id pelota img Id sol H1 Propiedades Fondo de imagen: img/parque.jpg Posición: absoluta Superior: 70% Izquierda: 75% Ancho: 100px Alto: 150px Margen izquierdo: 55% Margen superior: -35px Tipo de letra: Aharoni Tamaño de letra: 34px Color:f00 Color de fondo: #fff Ancho 450px Alineación : center Nombre de animación webkit 14 Id nina Id bird #id pelota:(pase el raton) Id sol: (al pasar mouse) -webkit-animation-name: girar; Tiempo de animacion webkit -webkit-animation-duration: 10s; Numero de iteracion de animacion webkit -webkit-animation-iteration-count: infinite; Function en tiempo de animacion -webkit-animation-timing-function: ease-in-out; Posición : absolute Izquierda: 60% Transform-origin:50% 100% Nombre de animación webkit:saltar Tiempo de animación webkit: 1s Numero de iteración de animación webkit: infinite Funcione en tiempo de animación: linear Posición : absolute Izquierda: 20% Transform-origin:50% 100% Nombre de animación webkit:volar Tiempo de animación webkit: 4s Numero de iteración de animación webkit: infinite Funcione en tiempo de animación: linear Tiempo de ejecución de animación. -webkit-animation-delay: 2s; Posición: absolute Superior: 20% Ancho:100px Transformación de tamaño de imagen (0.5) Transition: all 1s ease-in-out Realizar prefijos para Chrome de esta transición. Transition: all 2s ease-in-out transform: rotate(720deg) scale(2,2); Realizar prefijos para Chrome de esta transición y transformación Procederemos a crear animaciones siempre en el documento css @-webkit-keyframes volar { 0% { left: 0px; } 100% { left: 1265px; } } @-webkit-keyframes saltar { 0% { top: 500px; } 100% { top: 350px; } } 15 @-webkit-keyframes girar { from { -webkit-transform: rotateY(0deg); } to { -webkit-transform: rotateY(-360deg); } } 6. Visualizar la página web en el navegador. Al hacer clic sobre el sol y la pelota veremos las trasformaciones de imagen. VI. Ejercicios complementarios 1. Al ejercicio 1 de la guía, agregar mapeo css a la figura pentágona y agregar mapeo html a la figura hexágono con direccionamiento a fanpage de la FET. 2. Al ejercicio 4 de animaciones hacer compatible con el navegador mozilla. VII. Análisis de Resultados. 1. Cree una página web de su tema favorito, que incluya imágenes con estilos css y keyframes cuyas animaciones deben ser compatibles con Chrome y mozilla. 2. Crear Slider con transición o animación diferente al realizado en la guía. VIII. Fuentes de consulta 1. HTML 5 para desarrolladores Editorial Anaya Multimedia 1ra. Edición, Madrid, España. Autor: Joseph W. Lowery y Mark Fletcher Biblioteca UDB – Clasificación: Libro 004.67 L913 – ISBN: 978-84-415-3108-6 2. HTML 5. Editorial Anaya Multimedia.1ra. Edición. Madrid, España. Autor: Alonso Álvarez García Biblioteca UDB – Clasificación: Libro 004.67 A473 - ISBN:978-84-415-2746-1 16
© Copyright 2024