HTML HTML: HyperText Markup Language

Transcripción

HTML HTML: HyperText Markup Language
HTML
Importancia de respetar los estándares
Luis Fernando Llana Dı́az
Departamento de Sistemas Informáticos y Computación
Universidad Complutense de Madrid
21 de abril de 2008
Luis Fernando Llana Dı́az
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
HTML
HTML: HyperText Markup Language
Hipertexto: Texto que enlaza referencias, permite la navegación.
Lenguaje de marcado: texto plano con marcas especiales que
indican el cometido de cada parte del mismo.
LATEX: Leslie Lamport TEX(D.E. Knuth).
HTML de Tim Berners-Lee.
XML, XHTML.....
Luis Fernando Llana Dı́az
HTML
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
¿Cómo se genera el HTML?
Manualmente,
Con un editor de texto: emacs, kate, kwrite, gedit, . . . .
Con un editor de HTML: quata, . . .
Mediante un programa
Programas PHP.
Servlets, JSP.
Gestor de contenidos: PLONE.
Luis Fernando Llana Dı́az
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
HTML
Esctructura de un documento HTML
<! DOCTYPE HTML PUBLIC " -// W3C // DTD HTML 4.01// EN " >
< html >
< head >
< meta http - equiv = " Content - Type " content = " text / html ; charset = utf -8 " >
< title > Prueba 1 </ title >
</ head >
< body >
< h1 > Prueba 1 </ h1 >
<p > Parrafo </ p >
< ul >
< li > item 1 </ li >
< li > item 2 </ li >
</ ul >
</ body >
</ html >
Luis Fernando Llana Dı́az
HTML
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
IMPORTANTE
En HTML se representan los elementos, no cómo se pintan.
HTML tiene la estrucutura no la presentación.
Luis Fernando Llana Dı́az
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
HTML
Añadiendo estilo
< head >
.. ..............
< link rel = " stylesheet " type = " text / css " href = " estilo . css " media = " screen " >
.. ... .... ... ... ..
</ head >
body {
background - color : # ace ;
color : black ;
font - family : sans - serif ;
padding :0;
margin :0;
}
h1 , h2 , h3 , h4 , h5 , h6 {
font - variant : small - caps ;
background - color :#99 FF33 ;
padding - left :1 em ;
padding - right :1 em ;
border - top : solid 1 pt black ;
border - bottom : solid 1 pt black ;
text - align : right ;
}
Luis Fernando Llana Dı́az
HTML
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Luis Fernando Llana Dı́az
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
HTML
Marcas importantes
Cabeceras: h1, . . . , h6.
Párrafos: p.
Listas: ol, ul, dl.
Tablas: table.
Enlaces: a.
Imágenes: img.
Formularios: form.
Marcas de formato: span, div.
Luis Fernando Llana Dı́az
HTML
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Cabeceras
Sirven para dar estructura al documento.
Se deben usar de forma ordenada:
Uso adecuado: NO se debe usar para cambiar el tipo de letra.
Luis Fernando Llana Dı́az
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
HTML
< h1 >I Premio Complutense - Microsoft < br > de Diseno Accesible </ h1 >
< h2 id = " bases " > Bases </ h2 >
<p > La Universidad Complutense de Madrid , a traves del Observatorio
Complutense de la Accesibilidad a la Educacion Superior , convoca ...
..........................
</ p >
< h3 id = " candidatos " > Candidatos </ h3 >
< h3 id = " requisitos " > Requisitos </ h3 >
..........................
< h2 id = " formularios " > Formularios </ h2 >
........................
Luis Fernando Llana Dı́az
HTML
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Párrafos
Todo el texto debe ir dentro de un bloque
El párrafo es la principal marca de bloque.
<p > Todo el texto deben ir dentro de una marca de bloque .
La principal marca de bloque es el parrafo .
</ p >
<p class = " direccion " >
Luis Fernando Llana Diaz < br >
Dept . Sistemas Informaticos y Programacion < br >
Facultad de Informatica < br >
Universidad Complutense de Madrid < br >
</ p >
Luis Fernando Llana Dı́az
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
HTML
Enlaces (Anchors)
Los enlaces hacen que el HTML sea hyper.
<a href = " http :// antares . sip . ucm . es /~ luis " > Luis Fernando Llana Diaz </ a >
<a href = " http :// jigsaw . w3 . org / css - validator / " >
< img src = " http :// jigsaw . w3 . org / css - validator / images / vcss "
alt = " Valid CSS !: validate this page CSS " >
</ a >
Luis Fernando Llana Dı́az
HTML
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Tipos de URLs
Absoluta:
<a href = " http :// antares . sip . ucm . es / ocaes / bases . php # candidatos " > ... </ a >
Relativas:
Al servidor donde está el documento:
<a href = " / ocaes / bases . php # candidatos " > ... </ a >
<a href = " / ocaes / bases . php " > ... </ a >
<a href = " / ocaes / formulario . sxw " > ... </ a >
Al documento actual . . .
<a
<a
<a
<a
href = " # candidatos " > ... </ a >
href = " otro . php # patata " > ... </ a >
href = " otro . php " > ... </ a >
href = " formulario . sxw " > ... </ a >
. . . o marca base, dentro de la cabecera:
< base href = " http :// antares . sip . ucm . es / ocaes / bases . php " >
Luis Fernando Llana Dı́az
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
HTML
Imágenes
< img src = " nopatentessw . png "
alt = " En Europa : si a la libertad de innovacion , no a las patentes de programacion " >
Atributos necesarios:
src URL del fichero a ser mostrado, puede ser local o
remoto.
< img src = " http :// jigsaw . w3 . org / css - validator / images / vcss "
alt = " Valid CSS !: validate this page CSS " >
alt Texto alternativo. Se muestra cuando la imagen no
está disponible:
La imagen no existe.
Navegadores de texto o voz.
Mientras la imagen se carga (poco ancho de
banda).
Luis Fernando Llana Dı́az
HTML
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Tablas
< table >
< col class = " nombre " > < col class = " apellido " > < col class = " telefono " > < col class = " email " >
< tbody >
< tr > < th > Nombre </ th > < th > Apellidos </ th > < th > Telefono </ th > < th >e - Mail </ th > </ tr >
< tr >
< td class = " nombre " > Luis Fernando </ td >
< td class = " apellidos " > Llana Diaz </ td >
< td class = " telefono " > 4527 </ td >
< td class = " email " > llana@sip . ucm . es </ td >
</ tr >
< tr >
<! -- one of ( TD TH ) -- >
< td class = " nombre " > Jose Luis </ td >
< td class = " apellidos " > Rodriguez Zapatero </ td >
< td class = " telefono " > </ td >
< td class = " email " > zp@la - moncloa . es </ td >
</ tr >
</ tbody >
</ table >
Luis Fernando Llana Dı́az
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
HTML
Atributos
src, href, alt, action, method.
Modifican el comportamiento de la marca.
El valor siempre debe ir entre comillas simples ’ o comillas
dobles ".
Obsoleto: <body bgcolor="#cba">. Todo lo relativo a
visualización: colores, tipos de letras, posicionamiento, se debe
dejar en hojas de estilo separadas.
< div id = " izquierda " class = " lateral " >
<a class = " noCSS " href = " # contenido " > saltar menu de navegacion </ a >
<p > Enlaces : </ p >
< ul >
< li > <a href = " http :// www . ucm . es " > Universidad Complutense de Madrid </ a > </ li >
< li > <a href = " http :// antares . sip . ucm . es /~ luis " > Pagina de Luis </ a > </ li >
< li > <a href = " http :// www . w3 . org " > Pagina del W3C </ a > </ li >
</ ul >
</ div >
Luis Fernando Llana Dı́az
HTML
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Uso bueno del marcado I
Identificación del lenguaje natural:
< html lang = " es " >
......
< body >
.....
<p lang = " en " > ..... </ p >
.....
</ body >
</ html >
No usar las comillas:
<q > texto entre comillas </ q >
Luis Fernando Llana Dı́az
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
HTML
Uso bueno del marcado II
Citas:
< blockquote cite = " http :// www . mycom . com / tolkien / twotowers . html " >
<p lang = " en " > They went in single file , running like hounds on a strong scent ,
and an eager light was in their eyes . Nearly due west the broad
swath of the marching Orcs tramped its ugly slot ; the sweet grass
of Rohan had been bruised and blackened as they passed . </ p >
</ blockquote >
Usar adecuadamente las cabeceras h1,. . . , h6. No usarlo para
cambiar de tamaño de letra.
< style type = " text / css " >
span . aviso {
font - size : xx - large ;
color : red ;
}
</ style >
.......
.......
< span class = " aviso " > .... </ span >
Luis Fernando Llana Dı́az
HTML
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Uso bueno del marcado III
No usar tablas para maquetado de las páginas.
< body >
< div id = " superior " >
< img src = " nopat - siinno . gif " alt = " En Europa : si a la libertad .... " longdesc = " ....... " >
</ div >
< div id = " izquierda " class = " lateral " >
<a class = " noCSS " href = " # contenido " > saltar menu de navegacion </ a >
<p > Enlaces : </ p >
< ul > .... </ ul >
</ div >
< div id = " centro " >
< h1 id = " contenido " > Primera pagina de prueba </ h1 >
......
</ div >
< div id = " derecha " class = " lateral " >
< div class = " noticias " >
< ul > .... </ ul >
</ div >
</ div >
</ div >
Luis Fernando Llana Dı́az
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
HTML
Uso bueno del marcado IV
Texto en 2 columnas
< div class = " columnaDoble " >
< div class = " colIzquierda " >
<p > Un parrafo , .... </ p >
<p > Otro parrafo , ... </ p >
</ div >
< div class = " colDerecha " >
<p > Un parrafo , ... </ p >
</ div >
</ div >
Luis Fernando Llana Dı́az
HTML
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Leyendo el estándar I
http://www.w3.org/TR/html401/
Descripción sintáctica de un fichero HTML en sintaxis DTD.
Donde se pueden colocar marcas y donde no. E.j. una referencia
debe estar dentro de una marca de bloque.
Dos clases de marcas block o inline.
<! ELEMENT BODY O O ( % block ;| SCRIPT )+ +( INS | DEL ) -- do c u men t body -- >
<! ATTLIST BODY
%attrs ;
-- %coreattrs , %i18n , %events -onload
%Script ;
# IMPLIED -- the docume nt has been loaded -onunload
%Script ;
# IMPLIED -- the documen t has been removed ->
<! ENTITY % block
" P | %heading ; | %list ; | %preformatted ; | DL | DIV | NOSCRIPT |
BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS " >
Luis Fernando Llana Dı́az
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
HTML
Leyendo el estándar II
<! ELEMENT P - O ( % inline ;)*
<! ATTLIST P
%attrs ;
>
-- p a r a g r a p h -- >
-- %coreattrs , %i18n , %events --
<! ENTITY % fontstyle
" TT | I | B | BIG | SMALL " >
<! ENTITY % phrase " EM | STRONG | DFN | CODE |
SAMP | KBD | VAR | CITE | ABBR | ACRONYM " >
<! ENTITY % special
" A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO " >
<! ENTITY % formctrl " INPUT | SELECT | TEXTAREA | LABEL | BUTTON " >
<! ENTITY % inline " # PCDATA | %fontstyle ; | %phrase ; | %special ; | %formctrl ; " >
<! ENTITY % flow " %block ; | %inline ; " >
Luis Fernando Llana Dı́az
HTML
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Leyendo el estándar III
<! ELEMENT A - - ( % inline ;)* -( A )
<! ATTLIST A
%attrs ;
charset
%Charset ;
# IMPLIED
type
%ContentType ; # IMPLIED
name
CDATA
# IMPLIED
href
%URI ;
# IMPLIED
hreflang
%LanguageCode ; # IMPLIED
rel
%LinkTypes ;
# IMPLIED
rev
%LinkTypes ;
# IMPLIED
accesskey
%Character ;
# IMPLIED
shape
%Shape ;
rect
coords
%Coords ;
# IMPLIED
tabindex
NUMBER
# IMPLIED
onfocus
%Script ;
# IMPLIED
onblur
%Script ;
# IMPLIED
>
<! ELEMENT BR - O EMPTY
<! ATTLIST BR
%coreattrs ;
>
Luis Fernando Llana Dı́az
-- anchor -- >
---------------
%coreattrs , %i18n , %events -char encod in g of linked r es o u r ce -a dvisory content type -named link end -URI for linked re s o u r c e -l anguage code -forward link types -reverse link types -a c c e s s i b i l i t y key c h a r a c t e r -for use with client - side image maps -for use with client - side image maps -p osition in tabbing order -the element got the focus -the element lost the focus --
-- forced line break -- >
-- id , class , style , title --
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
HTML
Formularios
Interactuar con el servidor:
< div class = " buscar " >
< form action = " http :// www . google . es / search " method = " get " >
<p >
< input type = " hidden " name = " hl " value = " es " >
< label for = " buscar " > Buscar </ label >
< input id = " buscar " size = " 10 " name = " q " > < br >
< button type = " submit " > Buscar en google </ button >
</ p >
</ form >
</ div >
AVISO: la etiqueta <button> no funciona bien en IE. El siguiente
NO funciona bien en IE:
< button type = " submit " name = " borrar " value = " 3 " > Borrar </ button >
< button type = " submit " name = " modificar " value = " 3 " > Modificar </ button >
En IE6 es necesario usar la etiqueta <input type="submit">.
Luis Fernando Llana Dı́az
HTML
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Formularios
Atributos:
action URL del programa que analiza la petición; puede se
un PHP, JSP o servlet de Java, ASP, Phyton, CGI
(prgrama en cualquier lenguaje de programación:
Python, Perl, C o incluso Pascal).
Salida del programa un fichero HTML.
method dos métodos de dar el input al programa.
get se añaden los parámetros a la URL.
post se añaden el la petición como fichero de
entrada (no aparece en la URL).
Luis Fernando Llana Dı́az
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
HTML
Formularios
Todas las marcas de entrada deben tener el atributo name (para el
servidor) y el atributo id (para la marca label).
Marca input, atributo type:
text Texto normal.
password Texto normal, pero en el echo aparecen *. AVISO no
es seguro.
checkbox Marcado o no, verdadero o falso, etc...
radio Opciones alternativas, sólo se puede seleccionar uno
de los relacionados (tienen el mismo atributo name).
image, reset, submit, button botones, es preferible usar la
etiqueta button, pero cuidado con IE.
Luis Fernando Llana Dı́az
HTML
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Formularios
Otras marcas de input:
file mandar un fichero, es necesario que el método sea
post.
hidden datos que no se muestran en el navegador.
Otras marcas de entrada (no input):
textarea textos largos.
<select ...><option>...</option>...</select> para listas
desplegables.
http://antares.sip.ucm.es/~luis/sugerencias.php
Luis Fernando Llana Dı́az
HTML
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid

Documentos relacionados