Documente Academic
Documente Profesional
Documente Cultură
En general los lenguajes de marcado siguen una sintaxis basada en el uso de marcas o
etiquetas: una etiqueta que indica el principio de un elemento y otra el final del mismo.
Por regla general, la mayor parte de autores distinguen 2 tipos bsicos de lenguajes de
marcado:
Aunque lo cierto es que existen 3 utilizaciones bsicas de los lenguajes de marcas: los
que sirven principalmente para describir el contenido (por ejemplo, las bases de datos),
los que sirven para definir el formato (por ejemplo, los procesadores de textos) y los
que realizan las dos funciones indistintamente (por ejemplo, el lenguaje HTML).
Cmo surgen los lenguajes de marcado?
Dada la gran variedad de formatos existentes a la hora de archivar documentos y de
los problemas que se planteaban cuando se intercambiaban archivos con las
consiguientes prdidas de formato y otras caractersticas, todos estos problemas se
intentaron solucionar editando los textos en cdigo ASCII (American Standard Code for
Information Interchange) el cdigo de 7 bits que puede representar un mximo de 128
caracteres, muchos de ellos no imprimibles. Sin embargo, con la utilizacin de este
cdigo, no se poda definir el formato de un texto (por ejemplo, el uso de negrita o
cursiva, o el uso de tipos de letra ms grandes para los encabezamientos), ni se podan
definir otras caractersticas relativas a la posicin del texto, por lo que se intent buscar
un sistema de marcas con las que se pudieran determinar stas y otras
particularidades.
Se acord, pues, que las marcas deberan constar de unos caracteres ASCII
especialmente reservados para ello y que deberan seguirse unas reglas sintcticas
especiales. As naci un lenguaje especial normalizado internacional para la
formulacin de este tipo de reglas llamado Standard Generalized Markup Language o
SGML. SGML no es pues, un lenguaje en s mismo, sino un metalenguaje y de l se
deriva el lenguaje HTML o lenguaje de marcas de hipertexto, y otros muchos lenguajes.
SGML
(Document Type Definition) se guarda en un archivo especial con una extensin .dtd.
Consta de una sucesin de comandos SGML enmarcados por los signos "<" y "", estos
comandos son, fundamentalmente, ELEMENT, ENTITY y ATTLIST.
El comando ELEMENT sirve para definir una etiqueta, ENTITY para indicar ciertos
elementos del texto en forma de sucesiones de caracteres ASCII y para utilizar dentro
del texto los caracteres reservados para la sintaxis de SGML, como los signos menor
que o mayor que. El comando ATTLIST permite establecer atributos
complementarios para determinados elementos concretos. Todos los atributos
pertenecientes a un elemento se resumen aqu en una sola lista en la que se
establecen los nombres de los atributos, as como los valores autorizados de cada
atributo.
Otro concepto importante dentro del SGML y del DTD es el de secciones marcadas.
Una seccin marcada se inicia con la secuencia de caracteres "<![", seguida de una o
ms claves que informan sobre la manera de interpretar la informacin que se
encuentra dentro de la seccin. A continuacin va el carcter "[" y detrs el contenido
en s de la seccin marcada, que puede ser todo lo extenso que se desee. Finalmente
se cierra la seccin mediante la secuencia de caracteres "]]". Las claves para la
especificacin de las secciones marcadas son INCLUDE, IGNORE, CDATA, RCDATA
o TEMP.
Otros comandos importantes del SGML son USEMAP y SHORTREF, que sirven para
establecer abreviaturas, el comando NOTATION, que sirve para fijar anotaciones en la
llamada hoja de estilo y el comando DOCTYPE que sirve para incluir un DTD o para
llamar a un archivo con la extensin .dtd que lo contiene.
Los lenguajes HTML y XML son, simplemente, dialectos y simplificaciones de SGML,
ya que ste es demasiado complejo. XML se diferencia en que es un lenguaje
extensible. El trmino extensibilidad (extensibility) se entiende, aqu, como la facultad
de flexibilidad para el cambio que posee un lenguaje, programa o aplicacin
determinada, para soportar nuevas funcionalidades cuando se produzcan cambios o se
incorporen nuevos elementos, sin que se alteren los elementos o bases existentes (o
alterando mnimamente los existentes).
HTML
HTML (Hipertext Markup Language) o lenguaje de marcas de hipertexto es el lenguaje
que permite la generacin de hipertextos en la World Wide Web. Este lenguaje deriva
de la existencia de otros lenguajes de marcados previos y, a su vez, ha tenido unos
desarrollos posteriores. HTML (HyperText Markup Language) es un lenguaje muy
sencillo que permite describir hipertexto. La descripcin se basa en especificar en el
texto la estructura lgica del contenido (ttulos, prrafos de texto normal,
enumeraciones, definiciones, citas, etc.) as como los diferentes efectos que se quieren
dar (especificar los lugares del documento donde se debe poner cursiva, negrita, o un
Por ltimo, los caracteres reservados, como los signos < >, las vocales acentuadas o
la , pueden ser utilizados dentro del texto del documento mediante la sustitucin de
estos signos por una cadena de caracteres. Es cierto que la mayor parte de los
navegadores admiten la escritura directa de los signos en cuestin dentro del
documento, pero en otro tipo de programas, como en los de correo electrnico, pueden
surgir problemas, por lo que se precisa un pequeo programa de conversin.
Existe un lenguaje HTML dinmico llamado DHTML (Dinamic HyperText Markup
Language) que ha creado nuevas etiquetas para el lenguaje HTML con nuevas
opciones de estilo y programacin que permiten webs con animaciones y una mayor
interactividad. En realidad no se trata de un nuevo lenguaje, sino de nuevas
posibilidades que pueden integrarse en las pginas web construidas con HTML.
En conjuncin con HTML, se han desarrollado las llamadas Hojas de estilo (Style
Sheets). Una hoja de estilo es una coleccin de reglas que afecta a la apariencia de un
documento. Actualmente el tipo ms comn de hoja de estilo es la llamada Hoja de
estilo en cascada (Cascading Style Sheets CSS). Estas normas se refieren al modo
en que aparecer un documento en pantalla cuando el usuario utilice un navegador
grfico, controlando por ejemplo el color, el fondo, tipo de fuente, apariencia del borde,
mrgenes, alineacin, espacio entre caracteres, etc.
Las ltimas versiones de HTML como HTML 4.0 han desplazado muchas de las
funciones realizadas por las anteriores versiones hacia las hojas de estilo, reservando
el lenguaje HTML para cuestiones menos formales, relativas a la propia organizacin
del contenido.
XML
XML o eXtensible Markup Language, es un lenguaje de marcado derivado del lenguaje
SGML que proporciona una sintaxis superficial para documentos estructurados, pero
que no impone restricciones semnticas sobre el significado de los mismos. XML
permite suministrar, recibir y procesar informacin en la Web y puede interoperar tanto
con SGML como con HTML.
XML es un estndar desarrollado por el Consorcio World Wide Web (W3C). Se trata de
una versin reducida y especializada en la Web de la norma SGML. Su caracterizacin
como "extensible" se deriva de la no limitacin en el nmero de marcas o etiquetas,
pues permite crear todas aqullas que sean necesarias. Otra de sus caractersticas
principales es que permite enlaces multidireccionales (esto es, que apuntan a varios
documentos).
XML no es una nueva versin de HTML y, aunque ambos proceden de un mismo
metalenguaje, el SGML, el origen y enfoque que se ha seguido en ambos es muy
distinto.
HTML/DHTML
XML
Gramtica
Fija y no ampliable
Extensible
Extensible
Estructura
Monoltica
Jerrquica
Jerrquica
N de marcas
Fijas
Sin lmite
Sin lmite
Complejidad
Baja
Mediana
Alta
CSS o XSL
DSSSL
Diseo de pginas
Simples enlaces
Poderosos
enlaces (XLL)
HyTime
No
Sin validacin
Pueden
validarse
Obligatorio
DTD
Enlaces
Exportabilidad
(formatos/aplicaciones)
Validacin
SGML
Bsquedas
Simple y a veces
resuelta por scripts o
CGI
Potente
bsqueda.
Con
capacidad
para
personalizarla.
Son
posibles
potentes
bsquedas.
Una
Proyectos
descripcin
como TEI,
abierta y
DLI, etc.
personalizable
con el RDF.
Adaptacin de la Tabla de: Mara Isabel Garca Arenas. Curso XML 1 Edicin.
Curso XML
http://geneura.ugr.es/~maribel/xml/introduccion/index.shtml
Esta misma autora aporta el siguiente diagrama que permite aclarar las relaciones
entre los distintos lenguajes citados anteriormente:
aplicaciones para que los diferentes tipos de usuarios pueden compartir la misma
informacin, aunque no compartan el mismo software.
RDF
El Resource Description Framework (RDF) es un lenguaje para representar informacin
sobre los recursos de la World Wide Web y las relaciones entre ellos. Est
particularmente diseado para representar metadatos tales como ttulo, autor, fechas
de las pginas web, copyright e informacin sobre autora y licencias de los
documentos, o para disponer de los listados o catlogos de algunos recursos
compartidos. Sin embargo, al generalizarse el concepto de recurso web, RDF puede
usarse tambin para representar informacin sobre cosas que son identificadas
(identified) en la Web, cuando no pueden ser directamente recuperadas en ella. Esto
incluye informacin sobre productos facilitados por las tiendas online (informacin
sobre especificaciones, precios, etc.) o la descripcin de las preferencias de los
usuarios de la Web para distribuir la informacin.
El World Wide Consortium desarrolla este lenguaje en 6 bloques o especificaciones
distintas:
El RDFCore Working Group ha adoptado las recomendaciones RDF que, junto con
OWL, podr hacer realidad la Web Semntica.
Topic Maps
La especificacin XML Topic Maps (XTM) 1.0. http://www.topicmaps.org/xtm/1.0/ provee
un modelo y una gramtica para representar la estructura de los recursos de
informacin usados para definir tpicos (topics), y las asociaciones (relaciones) entre
los tpicos. Nombres, recursos y las relaciones entre ellos se establecen mediante una
serie de caractersticas de contenidos abstractos, que son llamados "topics". A su vez,
los topics se caracterizan por una serie de elementos como los scopes, esto es, los
mbitos, campos o contextos limitados en los cuales se consideran. Cuando uno o ms
documentos interrelacionados emplean esta gramtica, constituyen lo que se denomina
un mapa temtico o "topic map".
Un Topic Map (TM) tiene como fin normalizar los elementos y la notacin utilizada para
estructurar la informacin mediante la construccin de una red de enlaces semnticos
que relacionen diferentes recursos informativos.
Los Topic Maps son, pues, un estndar que se est implantando con gran xito en la
World Wide Web y que posibilita la navegacin entre conceptos y la inferencia, lo que
constituye un paso adelante en lo que se ha denominado la Web semntica. Adems,
poco a poco aumenta la la utilizacin de los Topic Maps en la Web como una forma de
representacin grfica que permite el acceso y navegacin por los recursos de un
mismo campo del conocimiento mediante los llamados mapas temticos que no son
sino un mapa conceptual aplicado a la World Wide Web.
La implementacin de los Mapas Temticos (TM) se dise para el lenguaje SGML, sin
embargo, la aparicin y auge del lenguaje XML junto con la universalizacin de la
utilizacin de los URIs para la identificacin de las referencias externas, ha conducido
al desarrollo del estndar "Topic Maps para XML" y las URIs, lo que se ha denominado
XTM (XML Topic Maps). En cualquier caso, actualmente se pueden encontrar ejemplos
de ambos lenguajes en la Web y, adems, la ISO ha incluido en la segunda edicin de
la norma 13250, junto a la antigua sintaxis para HyTime, la nueva sintaxis XML:
(http://www.y12.doe.gov/sgml/sc34/document/0322_files/iso13250-2nd-ed-v2.pdf).
XFML
XFML o eXchangeable Faceted Metadata Language. http://www.xfml.org/ Se trata de
un vocabulario para definir definir, distribuir e intercambiar metadatos en forma de
taxonomas o clasificaciones facetadas.
La XFML Specification se encuentra en: http://www.xfml.org/spec/ y consta de 2 partes:
XFML Core: es la versin actual XFML 1.0. Se trata de un formato abierto para
publicar y compartir metadatos facetados de forma jerrquica y productos para
la indizacin. http://www.xfml.org/spec/1.0.html
XFML 2.0 En el futuro, ser publicado XFML 2.0 que posiblemente soportar
vocabularios controlados y caractersticas de tesauros, namespaces y similares.
DAML+OIL
El uso de ontologas es una manera muy poderosa para describir objetos y sus
relaciones con otros objetos. As pues, el lenguaje DAML del programa DARPA Agent
Markup Language (DAML) se desarroll como una extensin del lenguaje XML y del
lenguaje Resource Description Framework (RDF) para establecer ontologas sobre la
Web.
Similar al lenguaje DAML es el lenguaje OIL u Ontology Inference Layer OIL. Se trata
de una propuesta para una representacin basada en la Web y las leyes de inferencia
para ontologas, que combina el uso de primitivas de modelado desde lenguajes
basados en frames (clases) con la semntica formal y los servicios de razonamiento
provistos por descripciones lgicas. OIL es compatible con RDF Schema (RDFS) e
incluye una semntica precisa para describir el significado de trminos y tambin para
describir informacin implicada.
Estos dos lenguajes se fusionaron en uno y la ltima revisin del
lenguaje (DAML+OIL) http://www.daml.org/2001/03/daml+oil-index
ofrece ya un rico conjunto de elementos con los cuales se pueden crear
ontologas y marcar la informacin para que sea legible y comprensible por mquina.
OWL
El OWL (Web Ontology Language) o Lenguaje de Ontologas para la Web, se ha
convertido en recomendacin del W3C el 10 de febrero de 2004
(http://www.w3.org/TR/owl-ref/).
El reciente desarrollo de numerosas ontologas y la puesta en prctica de la Web
Semntica, se ha convertido en el objetivo de este lenguaje. Las ontologas son
metadatos ofrecidos por un vocabulario controlado de trminos definidos de forma
explcita y semnticamente procesables por mquina. Para definir de forma compartida
y comn los dominios tericos, las ontologas ayudan a las personas y a las mquinas
a comunicarse de forma ms efectiva. Esto es algo crucial para el acceso al contenido,
la interoperabilidad y la comunicacin dentro de la World Wide Web. Ejemplos del uso
de ontologas que estn basadas en el acceso al contenido y la interoperabilidad ha
sido, por ejemplo, el proyecto norteamericano SHOE o Simple HTML Ontology
Extensions (con el que HTML ha sido extendido con una ontologa basada en cdigos
de etiquetas semnticos) o el proyecto europeo IST-project ON-TO-KNOWLEDGE (en
el que usan ontologas para facilitar el acceso a intranets). El lenguaje SHOE fue
Sintaxis
La sintaxis del HTML
Para fomentar una slida compresin del HTML, miraremos la estructura del lenguaje propiamente dicho.
El funcionamiento de la sintaxis del HTML es anlogo a la sintaxis de la gramtica espaola, pero, por
supuesto, mucho ms sencillo.
El HTML es en realidad un lenguaje muy lgico. Ciertamente, hay excepciones a las reglas, y hay
modificaciones o interpretaciones de algunas de stas. De todas formas, una vez que asimiles la
estructura bsica, empezars a notar que el HTML es simplemente un conjunto de piezas lgicas que
hacen de l un lenguaje muy cmodo de usar.
Por supuesto, est el tema que se coment en el captulo "Comprendiendo el HTML", de que el HTML es
un lenguaje que evoluciona. Mientras que la evolucin es un estado natural del HTML, estos cambios
normalmente no afectan a las reglas bsicas. Mientras que varios elementos de este lenguaje se hacen
obsoletos y otros nuevos son aadidos, la sintaxis, o la estructura correcta, raramente sufren cambios.
Para comprender el concepto de sintaxis, piensa en una frase. Tu tienes un sujeto y un verbo. Los
adjetivos y los adverbios se aaden para aportar cualidades y comportamiento, haciendo la frase ms
comprensiva.
El HTML es, en el fondo, no muy diferente a una simple frase. De hecho, los componentes del HTML
siguen el mismo concepto de sujeto, verbo y adjetivos/adverbios.
En sentido figurado, la frase "Juan corre rpido" equivale a la estructura sintctica bsica del HTML.
"Juan" es el equivalente a una etiqueta HTML, "corre" se parece mucho a un atributo HTML y "rpido" es
un valor asignado al atributo que describe la manera en la cual actuar la etiqueta.
Etiquetas
Son especficas
Lo primero que hay que saber es el funcionamiento de los documentos HTML, que significa Hyper Text
Markup Language. Son lneas de texto modificadas con unas marcas. Estas marcas se llaman
etiquetas o tags, y es lo que se aprende en ste y cualquier curso de HTML.
Las etiquetas que encierran el texto son la de apertura <xxx> y la de cierre </xxx>. Fjate cmo no hay
espacios entre los signos de mayor y menor, y el lugar y la orientacin de la barra diagonal en la etiqueta
de cierre. Hay etiquetas que requieren la de cierre (como <A> y </A>, otras que pueden tener etiqueta de
cierre o no (como <P>, que no siempre requiere </P>) y otras que no llevan nunca etiqueta de cierre
(como <IMG>, la cual jams lleva </IMG>). Para saber cundo se quiere etiqueta de cierre, necesitars
conocer todas y cada una de ellas, lo irs aprendiendo con la experiencia.
ATRIBUTOS
Los atributos modifican las acciones de las tarjetas. Muchas etiquetas pueden permanecer solas,
mientras que otras neceistan un atributo para darles funcionalidad. Por ejemplo, <HTML> nunca lleva
atributos, mientras que <body> puede llevarlos o no (por ejemplo, <body BGCOLOR...>).
Ten en cuenta que los atributos siempre van en la etiqueta de apertura. nunca en la de cierre. Es absurdo
poner algo del estilo de </body BGCOLOR...>.
VALORES
Definen el atributo al que se lo hemos aplicado. El valor puede ser una palabra (por ejemplo <P
ALIGN="center">...</P>) o un nmero de pixels o porcentaje (como en <TABLE WIDTH="40%"
HEIGHT="500">...</TABLE>). A veces un nmero no define un nmero de pixels concreto, por ejemplo,
al cambiar el tamao de las fuentes (<FONT SIZE="5">...</FONT>) el nmero es simplemente
orientativo, no tiene ninguna relacin con el tamao final. Y el nmero a veces puede ser en formato
CARACTERES ESPECIALES
Caracteres especiales. Hay caracteres que no se pueden escribir tal cual en cdigo HTML, unos por
coincidir con las etiquetas (como <, > y &), otros por no ser compatibles con los navegadores (las letras
con tilde, las ees), etc...
En general se pueden obtener todos los caracteres con la etiqueta &#xxx;, poniendo en xxx el nmero
de carcter correspondiente.
Estos y otros cdigos son:
Cracter
En nmeros
En letras
Carcter
En nmeros
En letras
!
--
"
"
--
#
--
$
--
%
--
&
&
--
'
'
--
(
--
)
--
*
--
+
--
,
--
-
--
.
--
/
--
:
--
;
--
<
<
--
=
--
>
>
--
?
--
@
--
[
--
\
--
]
--
^
--
_
--
`
--
{
--
|
--
}
--
~
--
 
nbsp
¡
iexcl
¢
cent
£
pound
¤
curren
¥
yen
¦
brvbar
§
sect
¨
uml
©
copy
ª
ordf
«
laquo
¬
not
­
shy
®
reg
¯
macr
°
deg
±
plusmn
²
sup2
³
sup3
´
acute
µ
micro
¶
para
·
middot
¸
cedil
¹
sup1
º
ordm
»
raquo
¼
frac14
½
frac12
¾
frac34
¿
iquest
À
Agrave
Á
Aacute
Â
Acirc
Ã
Atilde
Ä
Auml
Å
Aring
Æ
AElig
Ç
Ccedil
È
Egrave
É
Eacute
Ê
Ecirc
Ë
Euml
Ì
Igrave
Í
Iacute
Î
Icirc
Ï
Iuml
Ð
ETH
Ñ
Ntilde
Ò
Ograve
Ó
Oacute
Ô
Ocirc
Õ
Otilde
Ö
Ouml
×
times
Ø
Oslash
Ù
Ugrave
Ú
Uacute
Û
Ucirc
Ü
Uuml
Ý
Yacute
Þ
THORN
ß
szlig
à
agrave
á
aacute
â
acirc
ã
atilde
ä
auml
å
aring
æ
aelig
ç
ccedil
è
egrave
é
eacute
ê
ecirc
ë
euml
ì
igrave
í
iacute
î
icirc
ï
iuml
ð
eth
ñ
ntilde
ò
ograve
ó
oacute
ô
ocirc
õ
otilde
ö
ouml
÷
divide
ø
oslash
ù
ugrave
ú
uacute
û
ucirc
ü
uuml
ý
yacute
þ
thorn
ÿ
yuml
Terminaremos por los espacios. < IMG SRC = " hola.gif " > o <IMGSRC="hola.gif"> es totalmente
incorrecto. El nico espacio debe estar situado entre etiqueta/atributo y
atributo_con_valor/atributo_con_valor. Por ejemplo:
<IMG SRC="hola.gif" ALT="hola">
Si queremos poner espacios en el texto normal y corriente, deberemos usar el carcter especial .
Por ejemplo:
Esta es mi pgina WEB
y
Esta es mi pgina WEB,
se veran de la siguiente forma:
sta es mi pgina WEB
Si queremos poner lo segundo, con cuatro espacios en blanco entre medio habr que poner:
sta es mi pgina WEB
Y, para finalizar, este es un texto <B>en negrita</B>, y este es un texto<B> en negrita</B> dara un
resultado idntico, aunque se recomienda usar lo primero.
SIMETRA
Poner las etiquetas en el orden correcto nos permitir una edicin del documento ms rpida y efectiva
Por ejemplo: <I><B>Hola</B></I> y <I><B>Hola</B></I> dara el mismo resultado, pero es ms
recomendable usar lo segundo: puedes apreciar una simetra horizontal.
<I><B>Hola</B></I>
|
|
|
|
|----------|
|
|---------------------|
1. La parte contenida entre las etiquetas <HEAD> y </HEAD> o cabecera, que es donde se
introduce el ttulo de la pgina (dentro de <TITLE> y </TITLE>, lo que se mostrar en la barra de
ttulo de la ventana del explorador), las etiquetas <META> (que nos servirn principalmente para
dar de alta nuestra pgina en los buscadores de una forma eficiente), los Scripts (para dar un
funcionamiento dinmico a la pgina) y las Hojas de estilo (un mtodo avanzado de
formateado).
2. La parte contenida entre las etiquetas <body> y </body> o cuerpo, que es donde se introducen
los dems elementos que se ven en pantalla, como texto, imgenes, tablas, enlaces,
formularios..., as como el color del fondo o de los diferentes tipos de texto.
En resumen, la estructura es la siguiente:
<HTML>
<HEAD>
<TITLE>Ttulo de la pgina</TITLE>
Aqu van otras etiquetas como las META, scripts y estilos
</HEAD>
<body>
Aqu va lo que se mostrar en pantalla del documento HTML
</body>
</HTML>
A continuacin vamos a ver todas las etiquetas que sirven para colocar y organizar el texto
que se muestra en pantalla de nuestra pgina WEB. Todo ello ir colocado entre <body> y
</body>.
Selectores
Selectores bsicos
Selector universal
Se utiliza para seleccionar todos los elementos de la pgina. El siguiente ejemplo elimina el
margen y el relleno de todos los elementos HTML (por ahora no es importante fijarse en la parte
de la declaracin de la regla CSS):
* {
margin: 0;
padding: 0;
}
Selecciona todos los elementos de la pgina cuya etiqueta HTML coincide con el valor del
selector. El siguiente ejemplo selecciona todos los prrafos de la pgina:
p {
...
}
Para utilizar este selector, solamente es necesario indicar el nombre de una etiqueta HTML (sin
los caracteres < y >) correspondiente a los elementos que se quieren seleccionar.
El siguiente ejemplo aplica diferentes estilos a los titulares y a los prrafos de una pgina HTML:
h1 {
color: red;
}
h2 {
color: blue;
}
p {
color: black;
}
Si se quiere aplicar los mismos estilos a dos etiquetas diferentes, se pueden encadenar los
selectores. En el siguiente ejemplo, los ttulos de seccin h1, h2 y h3 comparten los mismos
estilos:
h1 {
color: #8A8E27;
font-weight: normal;
font-family: Arial, Helvetica, sans-serif;
}
h2 {
color: #8A8E27;
font-weight: normal;
font-family: Arial, Helvetica, sans-serif;
}
h3 {
color: #8A8E27;
font-weight: normal;
font-family: Arial, Helvetica, sans-serif;
}
En este caso, CSS permite agrupar todas las reglas individuales en una sola regla con un selector
mltiple. Para ello, se incluyen todos los selectores separados por una coma (,) y el resultado es
que la siguiente regla CSS es equivalente a las tres reglas anteriores:
h1, h2, h3 {
color: #8A8E27;
font-weight: normal;
font-family: Arial, Helvetica, sans-serif;
}
En las hojas de estilo complejas, es habitual agrupar las propiedades comunes de varios
elementos en una nica regla CSS y posteriormente definir las propiedades especficas de esos
mismos elementos. El siguiente ejemplo establece en primer lugar las propiedades comunes de
los ttulos de seccin (color y tipo de letra) y a continuacin, establece el tamao de letra de cada
uno de ellos:
h1, h2, h3 {
color: #8A8E27;
font-weight: normal;
font-family: Arial, Helvetica, sans-serif;
}
h1 { font-size: 2em; }
h2 { font-size: 1.5em; }
h3 { font-size: 1.2em; }
Selector descendente
Los selectores descendentes siempre estn formados por dos o ms selectores separados entre s
por espacios en blanco. El ltimo selector indica el elemento sobre el que se aplican los estilos y
todos los selectores anteriores indican el lugar en el que se debe encontrar ese elemento.
En el siguiente ejemplo, el selector descendente se compone de cuatro selectores:
p a span em { text-decoration: underline; }
Los estilos de la regla anterior se aplican a los elementos de tipo <em> que se encuentren dentro
de elementos de tipo <span>, que a su vez se encuentren dentro de elementos de tipo <a> que se
encuentren dentro de elementos de tipo <p>.
No debe confundirse el selector descendente con la combinacin de selectores:
/* El estilo se aplica a todos los elementos "p", "a", "span" y "em" */
p, a, span, em { text-decoration: underline; }
/* El estilo se aplica solo a los elementos "em" que se
encuentran dentro de "p a span" */
p a span em { text-decoration: underline; }
Se puede restringir el alcance del selector descendente combinndolo con el selector universal.
El siguiente ejemplo, muestra los dos enlaces de color rojo:
p a { color: red; }
<p><a href="#">Enlace</a></p>
<p><span><a href="#">Enlace</a></span></p>
Sin embargo, en el siguiente ejemplo solamente el segundo enlace se muestra de color rojo:
p * a { color: red; }
<p><a href="#">Enlace</a></p>
<p><span><a href="#">Enlace</a></span></p>
La razn es que el selector p * a se interpreta como
Selector de clase
<body>
<p>Lorem ipsum dolor sit amet...</p>
<p>Nunc sed lacus et est adipiscing accumsan...</p>
<p>Class aptent taciti sociosqu ad litora...</p>
</body>
Cmo se pueden aplicar estilos CSS slo al primer prrafo? El selector universal (*) no se
puede utilizar porque selecciona todos los elementos de la pgina. El selector de tipo o etiqueta
(p) tampoco se puede utilizar porque seleccionara todos los prrafos. Por ltimo, el selector
descendente (body p) tampoco se puede utilizar porque todos los prrafos se encuentran en el
mismo sitio.
Una de las soluciones ms sencillas para aplicar estilos a un solo elemento de la pgina consiste
en utilizar el atributo class de HTML sobre ese elemento para indicar directamente la regla CSS
que se le debe aplicar:
<body>
<p class="destacado">Lorem ipsum dolor sit amet...</p>
<p>Nunc sed lacus et est adipiscing accumsan...</p>
<p>Class aptent taciti sociosqu ad litora...</p>
</body>
A continuacin, se crea en el archivo CSS una nueva regla llamada destacado
Los selectores de clase son imprescindibles para disear pginas web complejas, ya que permiten
disponer de una precisin total al seleccionar los elementos. Adems, estos selectores permiten
reutilizar los mismos estilos para varios elementos diferentes.
A continuacin se muestra otro ejemplo de selectores de clase:
.aviso {
padding: 0.5em;
border: 1px solid #98be10;
background: #f6feda;
}
.error {
color: #930;
font-weight: bold;
}
<span class="error">...</span>
<div class="aviso">...</div>
El elemento <span> tiene un atributo class="error",
ms especfico:
p.destacado { color: red }
El selector p.destacado se interpreta
p, .aviso { ... }
Por ltimo, es posible aplicar los estilos de varias clases CSS sobre un mismo elemento. La
sintaxis es similar, pero los diferentes valores del atributo class se separan con espacios en
blanco. En el siguiente ejemplo:
<p class="especial destacado error">Prrafo de texto...</p>
Al prrafo anterior se le aplican los estilos definidos en las reglas .especial, .destacado
y
.error, por lo que en el siguiente ejemplo, el texto del prrafo se vera de color rojo, en negrita
y con un tamao de letra de 15 pxel:
.error { color: red; }
.destacado { font-size: 15px; }
.especial { font-weight: bold; }
<p class="especial destacado error">Prrafo de texto...</p>
Si un elemento dispone de un atributo class con ms de un valor, es posible
utilizar un selector
ms avanzado:
.error { color: red; }
.error.destacado { color: blue; }
.destacado { font-size: 15px; }
.especial { font-weight: bold; }
<p class="especial destacado error">Prrafo de texto...</p>
En el ejemplo anterior, el color de la letra del texto es azul y no rojo. El motivo es que se ha
utilizado un selector de clase mltiple .error.destacado, que se interpreta como "aquellos
elementos de la pgina que dispongan de un atributo class con al menos los valores error y
destacado".
Selectores de ID
En ocasiones, es necesario aplicar estilos CSS a un nico elemento de la pgina. Aunque puede
utilizarse un selector de clase para aplicar estilos a un nico elemento, existe otro selector ms
eficiente en este caso.
El selector de ID permite seleccionar un elemento de la pgina a travs del valor de su atributo
id. Este tipo de selectores slo seleccionan un elemento de la pgina porque el valor del atributo
id no se puede repetir en dos elementos diferentes de una misma pgina.
La sintaxis de los selectores de ID es muy parecida a la de los selectores de clase, salvo que se
utiliza el smbolo de la almohadilla (#) en vez del punto (.) como prefijo del nombre de la regla
CSS:
#destacado { color: red; }
<p>Primer prrafo</p>
<p id="destacado">Segundo prrafo</p>
<p>Tercer prrafo</p>
En el ejemplo anterior, el selector #destacado
CSS permite la combinacin de uno o ms tipos de selectores para restringir el alcance de las
reglas CSS. A continuacin se muestran algunos ejemplos habituales de combinacin de
selectores.
.aviso .especial { ... }
Ahora, el selector solamente selecciona aquellos elementos de tipo <span> con un atributo
class="especial" que estn dentro de cualquier elemento de tipo <div> que tenga un atributo
class="aviso".
La combinacin de selectores puede llegar a ser todo lo compleja que sea necesario:
ul#menuPrincipal li.destacado a#inicio { ... }
El anterior selector hace referencia al enlace con un atributo id igual a inicio que se encuentra
dentro de un elemento de tipo <li> con un atributo class igual a destacado, que forma parte de
una lista <ul> con un atributo id igual a menuPrincipal.
Tipos de medios
Especificando el medio de destino desde una hoja de estilo con las reglas-arroba @media
o @import.
Especificando el medio de destino dentro del lenguaje del documento. Por ejemplo, en
HTML 4.0 ([HTML40]), el atributo "media" en el elemento LINK especifica el medio de
destino de una hoja de estilo externa:
</HEAD>
<BODY>
<P>El cuerpo...
</BODY>
</HTML>
La regla @media
Una regla @media especifica los tipos de medios de destino (separados por comas) de un juego
de reglas (delimitadas por llaves). La construccin @media le permite a la hoja de estilo reglas
para distintos medios en la misma hoja de estilo:
@media
BODY
}
@media
BODY
}
@media
BODY
}
print {
{ font-size: 10pt }
screen {
{ font-size: 12pt }
screen, print {
{ line-height: 1.2 }
Grupos de medios
Cada definicin de propiedad en CSS especifica los tipos de medios para los cuales la propiedad
debe ser implementada por una aplicacin del usuario con conformidad. Como las propiedades
generalmente se aplican a varios medios, la seccin "Se aplica a los medios" de cada definicin
de propiedad lista los grupos de medios en vez de los tipos de medio individuales. Cada
propiedad se aplica a todos los tipos de medio en los grupos de medios listados en su definicin.
CSS2 define los siguientes grupos de medios:
La siguiente tabla muestra la relacin entre los grupos de medios y los tipos de medios:
Relacin entre los grupos de medios y los tipos de medios
Tipos de
Medios
Grupos de Medios
Modelo de caja
El modelo de caja
El modelo de caja en CSS describe las cajas que se generan a partir de los elementos HTML. El
modelo de caja tambin contiene opciones detalladas en lo referente al ajuste de mrgenes,
bordes, relleno (padding) y contenido de cada elemento. La siguiente imagen muestra cmo se
construye el modelo de caja:
El modelo de caja en CSS
A primera vista, la imagen anterior puede parecer muy terica, as que intentemos usar el modelo
en un caso real con un encabezado y algo de texto. El cdigo HTML de nuestro ejemplo es el
siguiente (extrado de la Declaracin Universal de los Derechos Humanos):
<h1>Artculo 1:</h1>
<p>Todos los hombres nacen libres
e iguales en diginidad y derechos. Estn
dotados de razonamiento y consciencia y
deberan de comportarse entre s con
espritu de hermandad.</p>
si aadimos algo de color e informacin sobre la fuente, el ejemplo se podra presentar as:
El ejemplo contiene dos elementos: el elemento <h1> y el elemento <p>. El modelo de caja para
los dos elementos se puede ilustrar como sigue:T
Aunque puede parecer un poco complicado, la imagen muestra cmo cada elemento HTML est
rodeado por cajas, cajas que se pueden ajustar usando CSS.
Resumen
En esta leccin hemos introducido el modelo de caja. En las tres lecciones siguientes
examinaremos ms detenidamente cmo crear y controlar elementos del modelo de caja.