Clase 3 3k1_HTML_CCS
Clase 3 3k1_HTML_CCS
HTML
Universidad Tecnológica Nacional
Facultad Regional Córdoba
Cátedra: Desarrollo de Software (DDS)
Portfolio de Actividades en Clase
Además de los trabajos grupales cada alumno debe mantener un portafolio
individual
Crear un proyecto en gitlab (labsys) donde tenés que versionar todos los
trabajos que hagas durante el cursado.
Crearlo en:
https://labsys.frc.utn.edu.ar/gitlab/desarrollo-de-software1/proyectos2025/3k1/
portafolios/portafolio_36697_Romero
https://docs.google.com/presentation/d/16aioHVY3uLf-f8UZ3brU-icn1swMlVBW1Hc6OQMPfDU/e
dit?usp=sharing
Temario
- Formularios:
- controles,
- método de envío,
- referencia
- CSS:
- esquemas de uso,
- retomar estilos inline,
- etiqueta STYLE,
- archivo independiente vinculado,
- concepto de cascada y nivel de precedencia.
- .gitignore: https://www.toptal.com/developers/gitignore
- Devtools del navegador (usamos la de chrome)
- Responsive? (Vimos el sitio de la página del departamento)
Conceptos importantes
https://labsys.frc.utn.edu.ar/gitlab/desarrollo-de-
software1/proyectos2024/3k2/martes/css-html-forms-
etc
Mensajes HTTP
HTTP/1.1 200 OK
Date: Fri, 31 Dec 2003 23:59:59 GMT
Content-Type: text/html
Content-Length: 1221
<html>
<body>
<h1>Página principal de mi sitio web</h1>
(Contenido)
.
.
.
HTTP
cliente servidor
http://www.example.com/inicio.html
DNS www.example.c
IP=66.45.26.25 - Puerto: 80 HTTP request om
66.45.26.25
<html>
<body>
Pagina principal
X
de mi sitio web
</body>
Pagina principal HTTP response </html>
de mi sitio web
HTTP: métodos
● HTTP define métodos (o "verbos") que indican la acción que
desea que se efectúe sobre el recurso identificado
○ HEAD
○ GET
○ POST
○ PUT
○ DELETE
○ TRACE
○ OPTIONS
○ CONNECT
HTTP: códigos de estado
1xx - Mensajes
2xx - Operación exitosa
3xx - Redirección
4xx - Error por parte del cliente
5xx - Error del servidor
HTML
HTML es un lenguaje de marcas que se utiliza
para describir la estructura de un documento web
<h1>Encabezado 1</h1>
<h2>Encabezado 2</h2>
<h3>Encabezado 3</h3>
<h4>Encabezado 4</h4>
<h5>Encabezado 5</h5>
<h6>Encabezado 6</h6>
Párrafo
<p>Lorem ipsum</p>
HTML: elementos
Listas
<ol>
<li>Elemento 1</li>
<li>Elemento 2</li>
<li>Elemento 3</li>
</ol>
<ul>
<li>Elemento 1</li>
<li>Elemento 2</li>
<li>Elemento 3</li>
</ul>
Salto de línea
<br> <br />
Línea horizontal
<hr> <hr />
HTML: caracteres especiales
Hay caracteres que no son parte del conjunto de
caracteres ASCII y hay algunos que tienen un
significado especial en HTML
© ©
á á
é é
í í
ñ ñ
č č
Ē Ē
HTML: elementos
div: representa una división o bloque de contenido
<div id="encabezado">
<h1>Mi Página</h1>
</div>
img: imagen
<img source="logo.png" alt="logo" title="Mi Sitio" />
HTML: elementos
HTML5 define nuevos elementos para estructurar
documentos, con mayor valor semántico que el
elemento div
Algunos de ellos son:
<article>
<details>
<dialog>
<figure>
<footer>
<header>
<main>
img: imagen
<nav>
<section>
<summary>
HTML: elementos
enlaces
<a href="http://google.com" target="_blank">Google</a>
<a href="contacto.html" target="_self">Contacto</a>
</textarea>
HTML: elementos de formulario
enviar y restablecer un formulario
<Input Type="submit" Name = "Nombre1"
value="Presione aquí" para enviar">
var c = document.getElementById("miCanvas");
var ctx = c.getContext("2d");
ctx.moveTo(0,0);
ctx.lineTo(200,100);
ctx.stroke();
Gráficos: SVG
● <svg> viene de Scalable Vector Graphics
● Es un contenedor para gráficos vectoriales
Dibuja un círculo
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow"
/>
</svg>
Dibuja una
estrella
<svg width="300" height="200">
<polygon points="100,10 40,198 190,78 10,78 160,198"
style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;" />
</svg>
Comparación: Canvas vs SVG
canvas svg
● Dibuja gráficos 2D con Javascript ● Es un lenguaje para describir gráficos 2D
● Depende de la resolución en XML
● No soporta eventos ● Independiente de la resolución
● Capacidad limitada para renderizar ● Soporta eventos
texto ● Lento para gráficos complejos
● Se pueden salvar las imágenes ● No funciona bien para juegos
como .png o .jpg ● Cada figura es almacenada como un
● Va bien para juegos con uso intensivo objeto, si alguna de sus propiedades
de los gráficos cambia, el browser lo puede actualizar
● Se renderiza pixel por pixel. Una vez
que se dibujó, el browser se "olvida" del
gráfico
Audio
● El atributo controls agrega controles de audio como
play, stop, volumen, etc
● El texto entre los tags <audio> y </audio> se mostrará
si el navegador no soporta el elemento audio
● Se pueden usar múltiples elementos <source> el
browser mostrará el primer formato que reconozca
<audio controls>
<source src="mi_musica.ogg" type="audio/ogg">
<source src="mi_musica.mp3" type="audio/mpeg">
Su navegador no soporta el reproductor de audio.
</audio>
Video
● El atributo controls agrega controles de audio como
play, stop, volumen, etc
● El texto entre los tags <video> y </video> se mostrará
si el navegador no soporta el elemento audio
● Se pueden usar múltiples elementos <source> el
browser mostrará el primer formato que reconozca
● Es una buena práctica incluir los atributos width y
height.
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Su navegador no soporta el reproductor de video.
</video>
Local Storage
● Con Local Storage las aplicaciones pueden almacenar datos
localmente en el navegador. De forma más versátil que con cookies.
● Local storage es seguro y se pueden almacenar grandes cantidades
de información sin afectar el desempeño del servidor
● A diferencia de las cookies se puede guardar mucha más información
(5mb como mínimo) y la información nunca se envía al servidor
● Local storage es por origen (por protocolo, por dominio). Todas las
páginas de un mismo origen pueden almacenar y acceder a los
mismos datos
// Guardar
localStorage.setItem("apellido", "Perez");
// Recuperar
document.getElementById("txtApellido").innerHTML = localStorage.getItem("apellido");
Hojas de Estilo en Cascada
¿qué es CSS?
body {
● CSS quiere decir Hojas de Estilo en font-family:Arial;
background: #000;
Cascada (Cascading Style Sheets) }
#contenido {
text-align:left;
width:1020px;
● Un Archivo CSS es típicamente un }
#pie{
y reglas width: 100%;
padding: 0 10px;
margin-bottom: 10px;
}
● Estas reglas le dicen a HTML como
se debe mostrar
beneficios de CSS
HTML = estructura
CSS = estilo
adjuntar una hoja de estilos
● Inline
● Interna
● Externa
adjuntar una hoja de estilos
<style type="text/css">
h1 {color: red)
</style>
adjuntar una hoja de estilos
1. Browser default
2. Style sheet externa
3. Style sheet interna
4. Style sheet inline
propiedades y valores
Las propiedades y valores le dicen al elemento HTML
como se debe mostrar
● background-color
● background-image
● background-repeat
repeat|repeat-x|repeat-y|no-repeat|initial|inherit
background
body {background-color:#b0c4de;}
h1 {background-color:#6495ed;}
p {background-color:#e0ffff;}
div {background-color:#b0c4de;}
body {background-image:url('logo.gif');}
background-image:url('gradiente.png');
background-repeat:repeat-x;
background-image:url('img_tree.png');
background-repeat:no-repeat;
background-position:right top;
● alineación
h1 {text-align:center;}
p.date {text-align:right;}
p.main {text-align:justify;}
texto
● decoración
h1 {text-decoration:overline;}
h2 {text-decoration:line-through;}
h3 {text-decoration:underline;}
● transformación
p.uppercase {text-transform:uppercase;}
p.lowercase {text-transform:lowercase;}
p.capitalize {text-transform:capitalize;}
● identación
p {text-indent:50px;}