por Gilberto Pacheco Gallegos
Este sitio presenta conceptos básicos de HTML y CSS.
A partir de la lección 11 se requiere que uses el contenido de https://gilpgijs.github.io y https://gilpgpoojs.github.io.
Puedes ver el listado de mis sitios educativos en https://gilpgcl.github.io.
Los siguientes controles te permitirán navegar por todo el contenido del sitio.
Oculta el menú de navegación.
Muestra el menú de navegación.
Regresa a la página anterior.
Avanza a la página siguiente.
En esta lección se presenta el lenguaje SGML.
Es un lenguaje que consta de texto y marcas, también conocidas como etiquetas.
Las
marcas
Inician con el caracter
<
y terminan con
>
.
Indican como desplegar el texto; por ejemplo, el texto entre
<h1>
y
</h1>
resalta más.
Es una etiqueta que define las etiquetas permitidas en un documento y sus características.
Es la marca inicial de un archivo SGML y para algunos navegadores debe ser la primera línea del archivo.
Aparte de HTML hay otros tipos de documentos; por ejemplo SVG.
El DOCTYPE de HTML5 está definido de forma muy técnica en https://html.spec.whatwg.org/multipage/.
Inicia con
<!--
y termina con
-->
.
Puede ocupar más de un renglón.
No puede llevar 2 guiones seguidos
(--
).
No es procesado por el lenguaje.
No se despliega en la página.
Permite añadir información para entender mejor el código.
Normalmente se pone al final de la línea que explican o una línea antes.
El contenido y otras partes de la página se representan con texto.
La forma de mostrar el texto se puede cambiar usando marcas.
Es un objeto que representa una forma de procesar el texto.
Normalmente se indican usando marcas.
Cada elemento tiene asociado un tipo, que representa su forma de procesamiento.
Cada tipo de elemento tiene un funcionamiento preestablecido por el navegador, aunque también es posible crear elementos personalizados.
El tipo es la primera palabra de la etiqueta.
Los elementos tienen preestablecidas características llamadas atributos.
Cada atributo tiene asociado un nombre y un valor.
Los atributos tienen valores predeterminados que se pueden modificar en el código.
Los atributos se colocan en una etiqueta después del tipo de elemento.
Se coloca el nombre del atributo, seguido por el signo
=
,
seguido por el valor entre comillas
("
).
Hay atributos que solo pueden valer
true
o
false
,
también llamados booleanos. En este caso, solo se pone el nombre del
atributo y se asume que vale
true
;
cuando valen
false
,
simplemente no se ponen.
Hay un atributo especial, llamado
id
,
que pueden definir todos los elementos y los
identifica de forma única, para HTML, CSS y JavaScript. Su valor no
se puede repetir en ningún otro elemento del documento.
Lleva:
tipo,
atributos (opcionalmente) y
contenido (opcionalmente), que incluye texto y más etiquetas.
Se escribe usando 2 tipos de etiquetas:
Inicia la definición del elemento.
Lleva el tipo y opcionalmente los atributos.
Termina la definición del elemento.
Inicia con / y luego el tipo del elemento que cierra.
El contenido se coloca entre la etiquetas inicial y final.
El doctype determina si un elemento lleva contenido.
Lleva:
tipo
atributos (opcionalmente)
Se escribe usando solo una etiqueta inicial.
El doctype determina si un elemento no lleva contenido.
Un elemento es padre de todos los textos, comentarios, y elementos que formen parte de su contenido.
Un elemento es hijo de otro elemento si pertenece al contenido de este último.
En esta lección se definieron los siguientes conceptos:
SGM.
DOCTYPE.
Comentario de SGML.
Texto.
Elemento.
Atributo.
Elemento con contenido.
Elemento sin contenido.
Elemento padre.
Elemento hijo.
En esta lección se introduce el doctype HTML.
Este ejemplo muestra la estructura básica de un archivo HTML.
En esta lección se explica dicha estructura.
html
El elemento
html
representa una página. Es el elemento principal. Solo puede haber uno de
estos elementos en un archivo.
El elemento
body
tiene 2 elementos hijos:
head
y
body
.
El atributo
lang
indica el código del idioma del documento y se aconseja anotarlo en todos
los documentos.
La especificación técnica del elemento
html
está en
https://html.spec.whatwg.org/multipage/semantics.html#the-html-element
head
El elemento
head
define la forma de procesar el archivo.
Es uno de los elementos hijos de
html
.
La especificación técnica del elemento
head
está en
https://html.spec.whatwg.org/multipage/semantics.html#the-head-element
Los caracteres son los diferentes símbolos de comunicación que puede usar una computadora, por ejemplo: letras, dígitos, signos de puntuación o emojis.
La codificación de un archivo es asignar a cada caracter del archivo una combinación de varios 1 y 0.
El elemento
meta
define información sobre el archivo, también conocida como
metadato.
El atributo
charset
define la codifcación del archivo.
El estándar UTF-8 es un sistema de codificación para muchos idiomas del mundo entero y está definido en https://home.unicode.org/.
La especificación técnica del elemento
meta
está en
https://html.spec.whatwg.org/multipage/semantics.html#the-meta-element.
viewport
El metadato viewport indica como manejar la pantalla en navegadores de dispositivos móviles.
Si no se pone esta etiqueta y la página se muestra en un navegador móvil, aparece reducida en tamaño.
También se usa el elemento
meta
.
El atributo
name
permite definir un metadato.
El atributo
content
permite definir el valor de un metadato.
El content
width
indica el ancho de la página en dispositivos móviles.
El valor
device-width
indica que el ancho de la página en dispositivos móviles es el ancho
del dispositivo.
title
El elemento con contenido
title
define el título de la página. No se muestra en el contenido de la
página, sino en las pestañas o en las barras de título de las ventanas
que muestran la página.
La especificación técnica del elemento
title
está en
https://html.spec.whatwg.org/multipage/semantics.html#the-title-element
body
El elemento
body
define el contenido que se muestra.
La especificación técnica del elemento
body
está en
https://html.spec.whatwg.org/multipage/sections.html#the-body-element
Se usa para representar caracteres que son complicados de incluir en el texto, o para evitar que sean interpretados como parte del lenguaje de marcas.
Inicia con
&
y termina con
;
La especificación técnica de la referencia a caracter está en https://html.spec.whatwg.org/multipage/syntax.html#character-references
En esta lección se revisaron los siguientes elementos:
html
.
head
.
meta
title
body
También se revisaron los siguientes conceptos:
Especificar la codificación de caracteres.
Especificar el metadato
viewport
.
Referencias a caracteres.
En esta lección se introducen los elementos básicos de HTML.
Este es un ejemplo típico de un archivo HTML.
Representa el texto de un documento y los elementos que lo modifican.
No implica ninguna jerarquía ni estructura.
Se puede colocar dentro de otros elementos que si implican estructura; por ejemplo, párrafos, títulos, tablas, etcétera.
a
abbr
area
(si es descendiente de map)
audio
b
bdi
bdo
br
button
canvas
cite
code
data
datalist
del
dfn
em
embed
i
iframe
img
input
ins
kbd
label
link
(si se permite dentro de body)
map
mark
math
de MathMLmeta
(si el atributo itemprop está presente)
meter
noscript
object
output
picture
progress
q
ruby
s
samp
script
select
slot
small
span
strong
sub
sup
svg
de SVGtemplate
textarea
time
u
var
video
wbr
Son los elementos
h1
,
h2
,
h3
,
h4
,
h5
y
h6
.
Normalmente se muestran separados del resto del texto, con un tipo de letra más grande y en negritas.
Representan títulos de secciones.
Su contenido es de fraseo.
Los elementos tienen una categoría en base a su número, donde
h1
es la categoría más alta y
h6
es la más baja.
Títulos de una misma categoría o mayor definen nuevas secciones.
Títulos de una categoría más baja definen subsecciones que son parte de la anterior.
Se recomienda que haya un solo
h1
en una página y sea el título del documento.
La especificación técnica de los títulos está en https://html.spec.whatwg.org/multipage/sections.html#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements
p
El elemento
p
representa un párrafo de un documento.
Por defecto se muestra separado 1 renglón del contenido previo y otro del contenido que le sigue.
Solo puede llevar contenido de fraseo en su interior.
Si encuentra en su interior un elemento no permitido, automáticamente termina el párrafo y el elemento prohibido queda fuera del párrafo.
La especificación técnica del elemento
p
está en
https://html.spec.whatwg.org/multipage/grouping-content.html#the-p-element
address
article
aside
blockquote
details
div
dl
fieldset
figcaption
figure
footer
form
h1
h2
h3
h4
h5
h6
header
hgroup
hr
main
menu
nav
ol
p
pre
section
table
ul
El elemento
p
también cierra si no hay más contenido en el elemento padre, el cual no es:
a
audio
del
ins
map
noscript
video
a
Es un elemento de fraseo.
Se le conoce como ancla.
Cuando tiene el atributo
href
,
representa un hipervínculo. El texto que muestra es su contenido,
que debe ser de fraseo.
href
URL válida del recurso que muestra. Puede estar rodeada por espacios.
target
El valor
_blank
Hace que el enlace se abra en otra pestaña.
La especificación técnica del elemento
a
está en
https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-a-element
nav
El elemento
nav
es una sección de la página que contiene enlaces a otras páginas o a
otras partes de la misma página.
La especificación técnica del elemento
nav
está en
https://html.spec.whatwg.org/multipage/sections.html#the-body-element
footer
Representa el pie de la página o de una sección.
Típicamente contiene información de quien escribió la página o sección, enlaces a documentos relacionados, copyright y cosas similares.
Cuando contiene secciones, representan apéndices, índices, acuerdos de licencia y contenidos similares.
Es normal poner hipervínculos en su interior sin necesidad de usar
elementos
nav
.
La especificación técnica del elemento
footer
está en
https://html.spec.whatwg.org/multipage/sections.html#the-footer-element
En esta lección se revisaron los siguientes elementos:
h1
,
h2
,
h3
,
h4
,
h5
y
h6
p
a
nav
footer
Elementos de fraseo
Elementos que cierran
p
En esta lección se introduce el lenguaje CSS.
Las hojas de estilo, también conocidas como Cascade Style Sheets (CSS) permiten definir la apariencia de una página escrita en un lenguaje de marcas.
La página oficial de CSS3 está en https://www.w3.org/Style/CSS/
La sintacis de CSS3 está en https://www.w3.org/TR/css-syntax-3/
style
El elemento
style
debe colocarse en el elemento de tipo
head
y contiene el código CSS3 que define la apariencia de la página.
Los comentarios inician con
/*
y terminan con
*/
.
Pueden ocupar más de un renglón.
Se colocan dentro de un elemento
style
.
Una expresión que permite identificar a uno o varios elementos de HTML.
Una secuencia de selectores separadas por coma
(,
).
Una expresión del tipo
nombre: valor
Una secuencia de declaraciones de propiedades separadas por punto
y coma
(;
)
y encerradas entre llaves
({
}
).
Une lista de selectores con una lista de declaraciones de propiedades.
La definición de una regla de estilo está en https://www.w3.org/TR/css-syntax-3/#style-rule
Una forma simple de selector es el selector de tipo, que consiste en usar el tipo de un elemento. Hace que una regla se aplique a todos los elementos de ese tipo.
La definición de una selector de tipo está en https://www.w3.org/TR/selectors-3/#type-selectors
Se declaran con una expresión del tipo
nombre: valor
En CSS3 se pueden definir constantes y usar su valor a lo largo del código CSS.
El nombre de la propiedad personalizada debe iniciar con 2 guiones
(--
).
Deben definirse en la regla para el elemento raíz, que en este caso es
(html
).
Para usar el valor, debe colocarse dentro de la expresión
var(--propiedad)
.
En esta lección se definieron los siguientes conceptos:
El elemento style
.
Comentarios de CSS.
Reglas de estilo de CSS.
Selector de tipo de CSS.
Propiedades de CSS.
Propiedades personalizadas de CSS.
En esta lección se presentan las propiedades básicas de CSS.
Cada símbolo que se puede representar en una familia de fuentes se conoce como glifo o pictograma.
serif
Es el tipo de letra que lleva adornos.
Cada glifo puede tener un ancho diferente al de los otros de la misma familia.
Permite leer cómodamente textos largos.
Viene predefinida, pero la familia exacta depende de cada navegador web.
Ejemplo de Serif.
sans-serif
Es el tipo de letra que no lleva adornos.
Luce más en títulos, textos cortos e interfaces de usuario.
Cada glifo puede tener un ancho diferente al de los otros de la misma familia.
Viene predefinida, pero la familia exacta depende de cada navegador web.
Ejemplo de Sans Serif.
font-family
Define el tipo de letra.
Los colores se expresan como una combinación de los colores primarios:
Rojo (red en inglés)
Verde (green en inglés)
Azul (blue en inglés)
Estas son algunas formas de expresar los colores primarios en las definiciones que aparecen después:
Valor decimal entre 0 y 255. Indica la cantidad de rojo que lleva un color.
Valor decimal entre 0 y 255. Indica indica la cantidad de verde que lleva un color.
Valor decimal entre 0 y 255. Indica la cantidad de azul que lleva un color.
Valor decimal fraccionario entre 0 y 1. Indica lo transparente que es un color: 0 - totalmente transparente, 1 - totalmente opaco.
Valor de 2 cifras hexadecimales entre 00 y ff. Indica la cantidad de rojo que lleva un color.
Valor de 2 cifras hexadecimales entre 00 y ff. Indica la cantidad de verde que lleva un color.
Valor de 2 cifras hexadecimales entre 00 y ff. Indica la cantidad de azul que lleva un color.
Valor de 2 cifras hexadecimales entre 00 y ff. Indica lo transparente que es un color. 00 - totalmente transparente, ff - totalmente opaco.
transparent
Color transparente.
Los nombres de colores que se pueden usar están definidos en https://www.w3.org/TR/css-color-3/#html4. y en https://www.w3.org/TR/css-color-3/#svg-color.
Ejemplo:
blue
rgb(num_rojo, num_verde, num_azul)
Representa la mezcla de colores rojo, verde y azul en notación decimal.
Ejemplo:
rgb(155, 255, 43)
rgba(num_rojo, num_verde, num_azul, num_transp)
Representa la mezcla de rojo, verde, azul y transparencia en notación decimal.
Ejemplo:
rgba(155,255,43,0.7)
#rrggbb
Representa la mezcla de colores rojo, verde y azul en notación hexadecimal.
Ejemplo:
#a2fe09
Representa la mezcla de rojo, verde, azul y transparencia en notación hexadecimal.
Ejemplo:
#0b467380
Una herramienta muy interesante para el uso de colores en sitios web es https://paletton.com/
color
Especificar el color del trazo, por ejemplo, del texto.
La especificación técnica de la propiedad
color
está en
https://www.w3.org/TR/css-color-3/#color0
background-color
Especifica el color del fondo de un elemento.
La definición de la propiedad
background-color
está en
https://www.w3.org/TR/css-backgrounds-3/#the-background-color
La especificación técnica de la propiedad
background-color
está en
https://www.w3.org/TR/css-backgrounds-3/#the-background-color
En esta lección se definieron los siguientes conceptos:
Fonts.
La propiedad font-family
.
Colores en CSS
La propiedad color
La propiedad background-color
.
display
En esta lección se presenta el concepto de polimorfismo.
div
Es un elemento sin significado que agrupa otros elementos.
Puede usarse con los atributos
class
,
lang
y
title
para definir la semántica común a un grupo de elementos
consecutivos.
Puede usarse en un elemento
dl
para envolver grupos de elementos
dt
y
dd
.
Se recomienda que el elemento
div
se utilice como último recurso cuando no se pueda usar ningún otro
elemento.
El uso de elementos más apropiados propicia una mejor accesibilidad para lectores y un mantenimiento más fácil para los autores.
La especificación técnica del elemento
div
está en
https://html.spec.whatwg.org/multipage/grouping-content.html#the-div-element
span
Es un elemento de fraseo sin significado.
Puede usarse con los atributos globales, por ejemplo
class
,
lang
o
dir
.
Se recomienda que el elemento
span
se utilice como último recurso cuando no se pueda usar ningún otro
elemento.
El uso de elementos más apropiados propicia una mejor accesibilidad para lectores y un mantenimiento más fácil para los autores.
La especificación técnica del elemento
span
está en
https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-span-element
display
Indica la forma en que un elemento se depliega.
La definición oficial de esta propiedad está en proceso de cambio.
El contenido de texto no tiene la propiedad display.
Esta propiedad no afecta la semántica de los elementos, pero si puede cambiar como se despliegan.
En las diapositivas siguientes se explican algunos de los valores posibles.
none
El elemento completo, incluyendo todo su contenido, el contenido de su contenido y así sucesivamente no se muestra, incluyendo texto y cajas.
inline
Solo contiene elementos de tipo
inline
,
inline-block
y texto.
De forma predeterminada, los elementos de fraseo como
span
,
em
,
del
,
o
strong
tienen este tipo de despliegue, pero se puede cambiar.
El contenido se despliega de forma horizontal, uno tras otro. Si
llega al final del elemento padre más próximo que sea
block
o
inline-block
,
continuá al inicio del siguiente renglón.
block
Contiene elementos de cualquir tipo de despliegue.
De forma predeterminada, los elementos de agrupamiento como
p
,
header
footer
o
div
tienen este tipo de despliegue, pero se puede cambiar.
Si contiene solo elementos de despliegue
inline
,
inline-block
y texto, estos se despliegan de forma horizontal uno tras otro,
iniciando en la parte superior del elemento. Si llega al final
de un renglón, continuá al inicio del siguiente.
Si contiene solo elementos de despliegue
block
,
estos se despliegan de forma vertical uno tras otro,
utilizando todo el ancho permitido por el elemento que los
contiene.
Si contiene mezclados elementos
inline
,
inline-block
,
texto y
block
,
los
inline
,
inline-block
y textos consecutivos se agrupan en una caja de tipo
block
imaginaria y se aplica el despliegue cuando todos los elementos
son de tipo
block
.
inline-block
El nombre de este tipo de despliegue está por cambiar.
De forma predeterminada, los elementos de formulario como
button
,
o
input
tienen este tipo de despliegue, pero se puede cambiar.
Su contenido sigue las reglas de un display
block
.
Sus padres lo ven como un elemento
inline
,
pero el elemento ocupa un solo renglón del elemento padre más
próximo que sea
block
o
inline-block
.
En esta lección se introdujeron los siguientes conceptos:
El elemento div
.
El elemento span
.
La propiedad display
.
El valor none
.
El valor inline
.
El valor block
.
El valor inline-block
.
En esta lección se presenta el concepto de excepciones y como procesarlas.
Hay algunas propiedades que expresan tamaños o distancias. Por ejemplo:
font-size
Indica el tamaño de letra.
Los valores son números decimales, que opcionalmente son fraccionales y son seguidos sin espacio por las unidades de medición. Ejemplos: 3em, 2.4rem.
El cero se puede expresar sin unidades; por ejemplo: 0.
Algunas unidades de medición son:
em
La altura de un renglón de texto, usando el tamaño de letra del elemento.
rem
La altura de un renglón de texto, usando el tamaño de letra del elemento raíz (que en HTML, es el elemento html).
vh
1% de la altura del puerto de visión (la ventana).
vw
1% del ancho del puerto de visión (la ventana).
%
Porcentaje del espacio que el elemento padre permite que sus hijos ocupen.
px
Pixeles.
Es un espacio transparente que separa un elemento de otro.
Es una línea (que puede ser una figura con adornos) alrededor de un elemento.
Es una espacio entre el contenido y el borde. Su color de fondo es el mismo que el color de fondo del contenido.
Se pueden especificar con las siguientes propiedades:
margin-top
Solo especifica el tamaño del margen en la parte superior de la caja.
Ejemplo:
margin-top: 3vh
margin-bottom
Solo especifica el tamaño del margen en la parte inferior de la caja.
Ejemplo:
margin-bottom: 50%
margin-left
Solo especifica el tamaño del margen en el lado izquierdo de la caja.
Ejemplo:
margin-left: 8px
margin-right
Solo especifica el tamaño del margen en el lado derecho de la caja.
Ejemplo:
margin-right: 3vw
margin: tamaño
Especifica el mismo tamaño de margen arriba, abajo, a la izquierda y a la derecha.
Ejemplo:
margin: 1em
El margen mide 1 renglón en todas las direcciones alrededor
del elemento.
margin: tam_vertical tam_horizontal
tam_vertical es el tamaño de los márgenes superior e inferior.
tam_horizontal es el tamaño de los márgenes izquierdo y derecho.
Ejemplo:
margin: 1em 2em
El margen mide 1 renglón arriba y abajo, 2 renglones a la
izquierda y derecha.
margin: tam_arr tam_der tam_ab tam_izq
tam_arr es el tamaño del márgen superior.
tam_der es el tamaño del márgen derecho.
tam_ab es el tamaño del márgen inferior.
tam_izq es el tamaño del márgen izquierdo.
Ejemplo:
margin: 3em 2em 4em 1em
El margen mide 3 renglones arriba, 2 a la derecha, 4 abajo y
1 a la izquierda.
Se puede especificar con las siguientes propiedades:
padding-top
Solo especifica el tamaño del relleno en la parte superior de la caja.
Ejemplo:
padding-top: 3vh
padding-bottom
Solo especifica el tamaño del relleno en la parte inferior de la caja.
Ejemplo:
padding-bottom: 50%
padding-left
Solo especifica el tamaño del relleno en el lado izquierdo de la caja.
Ejemplo:
padding-left: 8px
padding-right
Solo especifica el tamaño del relleno en el lado derecho de la caja.
Ejemplo:
padding-right: 3vw
padding: tamaño
Especifica el mismo tamaño de relleno arriba, abajo, a la izquierda y a la derecha.
Ejemplo:
padding: 1em
El relleno mide 1 renglón en todas las direcciones alrededor
del elemento.
padding: tam_vertical tam_horizontal
tam_vertical es el tamaño de los rellenos superior e inferior.
tam_horizontal es el tamaño de los rellenos izquierdo y derecho.
Ejemplo:
padding: 1em 2em
El relleno mide 1 renglón arriba y abajo, 2 renglones a la
izquierda y derecha.
padding: tam_arr tam_der tam_ab tam_izq
tam_arr es el tamaño del relleno superior.
tam_der es el tamaño del relleno derecho.
tam_ab es el tamaño del relleno inferior.
tam_izq es el tamaño del relleno izquierdo.
Ejemplo:
padding: 3em 2em 4em 1em
El relleno mide 3 renglones arriba, 2 a la derecha, 4 abajo
y 1 a la izquierda.
Puede expresarse como un tamaño o con alguno de estos valores:
thin
medium
thick
Si no se pone, su valor por omisión es:
medium
.
Puede expresarse con alguno de estos valores:
none
Sin borde.
dotted
El borde es una serie de puntos redondos.
dashed
El borde es una serie de guiones de esquinas cuadradas.
solid
El borde es una sola línea sólida.
double
El borde consiste en 2 líneas sólidas paralelas con espacio entre ellas.
La suma del ancho de las líneas y espacio debe ser igual al ancho del borde.
groove
El borde parece como si estuviera tallado dentro de la superficie.
ridge
El borde parece como si saliera de la superficie.
inset
Parece como si el contenido dentro del borde estuviera hundido en la superficie.
outset
Parece como si el contenido dentro del borde saliera de la superficie.
Si no se pone, su valor por omisión es:
none
.
Se especifica como un color cualquiera.
Si no se pone, su valor por omisión es el color del texto del elemento.
border-top-width
Ancho del borde en la parte superior de la caja.
border-top-style
Estilo del borde en la parte superior de la caja.
border-top-color
Color del borde en la parte superior de la caja.
border-bottom-width
Ancho del borde en la parte inferior de la caja.
border-bottom-style
Estilo del borde en la parte inferior de la caja.
border-bottom-color
Color del borde en la parte inferior de la caja.
border-left-width
Ancho del borde en el lado izquierdo de la caja.
border-left-style
Estilo del borde en el lado izquierdo de la caja.
border-left-color
Color del borde en el lado izquierdo de la caja.
border-right-width
Ancho del borde en el lado derecho de la caja.
border-right-style
Estilo del borde en el lado derecho de la caja.
border-right-color
Color del borde en el lado derecho de la caja.
Combina las tres partes de un borde. Las partes pueden ir en
cualquier orden y 1 o 2 de los valores pueden faltar, en cuyo caso
se toman los valores por omisión
(medium
,
none
y color actual).
border-top
Ancho, estilo y color del borde en la parte superior de la caja.
border-bottom
Ancho, estilo y color del borde en la parte inferior de la caja.
border-left
Ancho, estilo y color del borde en el lado izquierdo de la caja.
border-right
Ancho, estilo y color del borde en el lado derecho de la caja.
border
Ancho, estilo y color del borde único en las partes izquierda, derecha, superior e inferior de la caja.
Las esquinas de la caja pueden ser redondas aunque no lleven borde.
border-top-right-radius
Tamaño del radio de la esquina superior derecha de la caja.
border-top-left-radius
Tamaño del radio de la esquina superior izquierda de la caja.
border-bottom-right-radius
Tamaño del radio de la esquina inferior derecha de la caja.
border-bottom-left-radius
Tamaño del radio de la esquina inferior izquierda de la caja.
border-radius: tam
tam es el tamaño del radio de las 4 esquinas de la caja.
border-radius: tam_arrizq_abder tam_arrder_abizq
tam_arrizq_abder es el tamaño del radio de las esquinas superior izquierda e inferior derecha de la caja.
tam_arrder_abizq es el tamaño del radio de las esquinas superior derecha e inferior izquierda de la caja.
border-radius: tam_arrizq tam_arrder_abizq tam_abder
tam_arrizq es el tamaño del radio de la esquina superior izquierda de la caja.
tam_arrder_abizq es el tamaño del radio de las esquinas superior derecha e inferior izquierda de la caja.
tam_abder es el tamaño del radio de las esquinas inferior derecha de la caja.
border-radius: tam_arrizq tam_arrder tam_abder tam_abizq
tam_arrizq es el tamaño del radio de la esquina superior izquierda de la caja.
tam_arr es el tamaño del radio de las esquinas superior derecha de la caja.
tam_abder es el tamaño del radio de las esquinas inferior derecha de la caja.
tam_abizq es el tamaño del radio de la esquina inferior izquierda de la caja.
width
Ancho de un elemento. Se indica usando un número decimal, opcionalmente fraccionario, seguido de la unidad.
Solo aplica para para los elementos con
display
block
o
inline-block
.
Ejemplo:
width: 100%
height
Altura de un elemento. Se indica usando un número decimal, opcionalmente fraccionario, seguido de la unidad.
Solo aplica para para los elementos con
display
block
o
inline-block
.
Ejemplo:
height: 3em
box-sizing
Indica como calcular el tamaño de un componente. Aplica para las
propiedades
width
y
height
.
Los valores que puede tomar esta propiedad son:
content-box
El tamaño es solo el tamaño del contenido. Cuando en se especifica esta propiedad para un elemento, este es el valor que se utiliza (valor por omisión).
border-box
El tamaño incluye el tamaño del contenido, más el espacio ocupado por los bordes y el relleno.
En esta lección se presentaron los siguientes conceptos:
Longitudes en CSS.
El modelo de cajas.
Márgenes.
Relleno.
Bordes.
Esquinas redondas.
Propiedades para tamaños.
En esta lección se presenta el concepto de posicionamiento.
Es posible cambiar el modelo de cajas, usando un método que permita controlar por coordenadas la posición de algunos elementos dentro de la ventana. Para ello se utilizan las siguientes propiedades:
position
Controla la forma de colocar un elemento en la ventana.
Los valores que puede tomar se explican a lo largo de esta lección y son:
static
Es el posicionamiento normal y no usa las propiedades de posicionamiento.
fixed
Es relativo a la ventana del navegador.
relative
Es relativo a la posición normal del elemento.
absolute
Es relativo a la posición de su ancestro más inmediato que no
tenga posicionamiento
static
.
sticky
Usa posicionamiento
relative
mientras el elemento está en el área visible de la ventana y se
vuelve
fixed
cuando sale del área visible de la ventana.
top
Posición de la parte superior del elemento con respecto a la
posición original (posicionamiento
relative
) o al elemento
contenedor.
bottom
Posición de la parte inferior del elemento con respecto a la
posición original (posicionamiento
relative
) o al elemento
contenedor.
left
Posición de la parte izquierda del elemento con respecto a la
posición original (posicionamiento
relative
)
o al elemento contenedor.
right
Posición de la parte izquierda del elemento con respecto a la
posición original (posicionamiento
relative
)
o al elemento contenedor.
width
Ancho de un elemento. Se indica usando un número decimal, opcionalmente fraccionario, seguido de la unidad.
height
Altura de un elemento. Se indica usando un número decimal, opcionalmente fraccionario, seguido de la unidad.
z-index
Los elementos se pueden colocar en capas y ocultarse unos a otros.
Un elemento se coloca sobre los elementos hermanos con
posicionamiento no
static
que aparecen antes en el texto. La propiedad
z-index
se usa para cambiar ese orden. El número
z-index
más grande está arriba y tapa a todos los que tienen un valor
menor. Empieza desde 1.
fixed
relative
absolute
sticky
En esta lección se revisaron los siguientes conceptos:
Propiedades de posicionamiento
El posicionamiento fixed
El posicionamiento relative
El posicionamiento absolute
El posicionamiento sticky
En esta lección se presentan algunos selectores de CSS.
*
Selecciona todos los elementos.
#identificador
Selecciona el valor del atributo id.
.clase
Seleciona los elementos cuyo atributo
class
contenga el identificador después del punto
(.
).
sel1 > sel2
Seleciona los elementos que cumplan con el selector de la derecha y que sean hijos directos de los elementos que cumplan con el seletor de la izquierda.
sel1 sel2
Seleciona los elementos que cumplan con el selector de la derecha y que sean descendientes en cualquier nivel de anidamiento de los elementos que cumplan con el seletor de la izquierda.
sel1 + sel2
Seleciona los elementos que cumplan con el selector de la derecha y que sean hermanos inmediatamente después de los elementos de la izquierda. No se toma en cuenta el contenido tipo texto.
sel1 ~ sel2
Seleciona los elementos que cumplan con el selector de la derecha y que sean hermanos después de los elementos de la izquierda, aunque no aparezcan juntos.
sel1 , sel2
Seleciona los elementos que cumplan con cualquiera de los selectores que
aparecen separados por coma
(,
).
:active
Seleciona los elementos que estén activos; por ejemplo al hacerles clic.
:focus
Seleciona al elemento que en el momento actual reciba el control del teclado, estado que también se conoce como foco.
En cualquier momento, solo un componente gráfico tiene el foco.
En esta lección se revisaron los siguientes selectores:
El selector *
.
El selector #identificador
.
El selector .clase
.
El selector sel1 > sel2
.
El selector sel1 sel2
.
El selector sel1 + sel2
.
El selector sel1 ~ sel2
.
La lista de selectores sel1 , sel2
.
La pseudoclase :active
.
La pseudoclase :focus
.
En esta lección se presentan algunos elementos para el manejo de multimedia.
Hay varios tipos de elementos especializados en mostrar imágenes.
img
Es un elemento de fraseo que muestra una imagen.
Puede tener los siguientes atributos:
src
URL del recurso.
alt
Texto que se muestra cuando no se puede descargar la imagen.
figure
Es un elemento de agrupamiento específicamente diseñado para mostrar imágenes.
figcaption
Es un elemento de agrupamiento específicamente diseñado para mostrar el
texto que describe el contenido de un
figure
.
La especificación técnica del elemento
img
está en
https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element
La especificación técnica del elemento
figure
está en
https://html.spec.whatwg.org/multipage/grouping-content.html#the-figure-element
La especificación técnica del elemento
figcaption
está en
https://html.spec.whatwg.org/multipage/grouping-content.html#the-figcaption-element
Respeta las licencias de uso del contenido que coloques en tu sitio.
Los 2 elementos se pueden usar para reproducir tanto audio como video. La
principal diferencia es que el elemento
audio
no tiene espacio para desplegar contenido visual (como video o subtítulos),
mientras que el elemento
video
si lo tiene.
Los elementos multimedia
audio
y
video
tienen los siguientes atributos en común:
src
La URL del recurso de audio o video a desplegar. Si está presente, debe contener una URL no vacía. Puede rodearse con espacios.
crossorigin
Especifica el valor CORS (Cross-origin resource sharing), que puede ser:
anonymous
use-credentials
preload
Puede tener los siguientes valores:
none
El recurso no se descarga antes de reproducirse, pues no se espera que el usuario necesite el recurso, o el servidor espera minimizar tráfico innecesario. No se proporciona ningún indicio sobre la agresividad para descargar el recurso una vez que se empieza a reproducir.
metadata
Descargar solamente los metadatos del recurso (dimensiones, lista de títulos, duración, etc.) y aún unos pocos cuadros del inicio. Una vez iniciada la reproducción, los datos se descargan a la velocidad más baja que garantice una reproducción consistente.
auto
El usuario puede descargar el recurso agresivamente sin riesgo para el servidor, incluyendo la descarga total antes de reproducirse.
autoplay
Es un atributo booleano. Cuando está presente, se inicia la reproducción del recurso tan pronto como se pueda, sin detenerse. Se recomienda no usar esta característica y permitir al usuario iniciar la reproducción explícitamente.
loop
Es un atributo booleano. Si está presente, indica que cuando la reproducción del recurso termine, debe reiniciar.
muted
Es un atributo booleano. Su presencia silencia la salida de audio, potencialmente contraviniendo las preferencias del usuario.
controls
Es un atributo booleano. Cuando se especifica, indica que se deben mostrar los controles del elemento.
audio
Permite manejar una transmisión de audio o video.
Aunque este elemento puede llevar contenido, por ejemplo texto, este no se
muestra al usuario; es para desplegarse en navegadores que no soportan el
elemento
audio
,
para poder probar con plugins o para indicar como acceder al contenido.
Si el contenido incluye subtítulos o lenguaje de señas, es mejor usar el
elemento
video
.
La especificación técnica del elemento
audio
está en
https://html.spec.whatwg.org/multipage/media.html#the-audio-element
video
Se usa para desplegar sonidos, videos o películas.
Aunque este elemento puede llevar contenido, por ejemplo texto, este
no se muestra al usuario; es para desplegarse en navegadores que no
soportan el elemento
video
,
para poder probar con plugins o indicar como acceder al contenido.
Para que tu video se despliegue en el navegador Safari para las computadoras Apple (iPad, iPhone, Mac), tu servidor web debe soportar byte-range request. No todos los servidores soportan este tipo de solicitudes.
Una opción es usar Giphy que en formato de video es más rápido y eficiente que en el formato GIF. Al seleccionar una imagen, haz clic en Media y copia la URL del formato MP4.
poster
Proporciona la URL de una imagen que se muestra mientras no se haya cargado ningún byte del video.
La especificación técnica del elemento
video
está en
https://html.spec.whatwg.org/multipage/media.html#the-video-element
En esta lección se revisaron los siguientes elementos:
Elementos para mostrar imágenes.
audio
.
video
.
También se revisó cómo poner una imagen de fondo.
En esta lección se presentan algunos elementos para elaborar formularios.
A partir de esta lección 11 se requiere que uses el contenido de https://gilpgijs.github.io y https://gilpgpoojs.github.io.
form
Representa un hiperenlace.
El atributo
action
es el enlace a una URL
para procesar su contenido. Puede indicar también procesamiento
local con el JavaScript de la página.
Puede manipularse por medio de una colección de elementos asociados.
Algunos de los elementos asociados pueden representar valores editables que se pueden enviar para su procesamiento en un servidor o localmente.
El atributo
name
de la forma, representa el nombre único de la forma dentro de la
colección de formas dentro de la página.
Las formas pueden tener uno o más elementos asociados de tipo
<button type="submit"></button>
.
Hay varias maneras de activar la forma:
Haciendo clic en un elemento
<button type="submit"></button>
asociado con la forma.
Usando el tabulador hasta llegar a un elemento
<button type="submit"></button>
asociado con la forma y oprimir la tecla ESPACIO.
Posicionarse en alguno de los campos de captura y oprimir la tecla ENTER.
La especificación técnica del elemento
form
está en
https://html.spec.whatwg.org/multipage/forms.html#the-form-element
Los siguientes atributos son comunes en los elementos asociados con una forma.
value
Propiedad de JavaScript para asignar o recuperar el valor de captura.
Para
textarea
,
select
y controles de texto del elemento
input
.
Se puede usar en HTML para controles de texto del elemento
input
.
name
Nombre único del elemento (y sus valores asociados) dentro de la forma.
disabled
Atributo booleano. Cuando está presente indica que el elemento está deshabilitado y no responde a la interacción del usuario.
maxlength
Para
textarea
y controles de texto del elemento
input
.
Es el número máximo de caracteres que el usuario puede introducir.
minlength
Para
textarea
y controles de texto del elemento
input
.
Es el número mínimo de caracteres que el usuario puede introducir para que la captura sea válida.
required
Atributo booleano. Cuando está presente indica que el valor de captura del elemento no puede estar vacío.
label
Representa un rótulo o etiqueta asociado a un control de una forma.
El contenido del elemento es el rótulo.
Se puede asignar a su atributo
for
el identificador del elemento con que se desea asociar la etiqueta.
También se puede hacer que el elemento label tenga como hijo al control para que queden asociados.
La especificación técnica del elemento
label
está en
https://html.spec.whatwg.org/multipage/forms.html#the-label-element
button
Representa un botón cuya superficie muestra el contenido del elemento.
El contenido del elemento es el rótulo.
El atributo
type
controla el comportamiento del botón al ser activado. Sus valores posibles
son:
submit
Cuando el botón se activa, el contenido de la forma se envía.
Es el valor por omisión.
reset
Cuando el botón se activa, el contenido de la forma regresa a su estado inicial.
button
Cuando el botón se activa, no tiene un comportamiento definido, pero
puede
configurar por medio de un script o con el atributo
onclick
.
La especificación técnica del elemento
button
está en
https://html.spec.whatwg.org/multipage/form-elements.html#the-button-element
input
Puede desplegar una gran cantidad de controles según el valor de atributo
type
.
Los campos con formato se validan antes de realizar submit.
Los valores más usados para
type
son:
hidden
Campo invisible cuyo no puede se examinado o manipulado por el usuario.
text
Manipula texto plano.
search
Usa texto para búsquedas. Se despliega con la apariencia preferida por la plataforma donde se ejecuta.
tel
Texto que representa un número telefónico válido.
url
Texto que representa una URL válida.
email
Texto que representa un email válido.
password
Texto que representa una contraseña y por lo mismo no se muestra.
number
Maneja números.
range
Maneja un rango de números.
valueAsNumber
Propiedad de JavaScript para asignar o recuperar el valor numérico de captura.
Para controles numéricos del elemento
input
.
Devuelve un número.
Si el texto es una cadena vacía o no representa un número, el valor devuelto es NaN (o sea que no es un número).
pattern
Para los tipos que manejan texto.
Expresión regular para validar el contenido. Abarca desde el inicio hasta el final del texto.
min
Para controles numéricos y de fecha.
Valor mínimo que se puede capturar.
max
Para controles numéricos y de fecha.
Valor máximo que se puede capturar.
step
Para controles numéricos y de fecha.
Granularidad o separación entre los valores que se pueden capturar. Por ejemplo, step=0.1 indica que los valores pueden ser 0, 0.1, 0.2, 0.3, etcétera. Aplica también para fechas.
El valor por omisión para controles numéricos es 1.
La especificación técnica del elemento
input
está en
https://html.spec.whatwg.org/multipage/input.html#the-input-element
output
Muestra el resultado de un cálculo.
El contenido del elemento es el valor que muestra.
El valor mostrado puede consultar o cambiar desde JavaScript con la
propiedad
value
.
La especificación técnica del elemento
output
está en
https://html.spec.whatwg.org/multipage/form-elements.html#the-output-element
El siguiente orograma usa el tipo de elemento
select
.
La especificación técnica del elemento
select
está en
https://html.spec.whatwg.org/multipage/form-elements.html#the-select-element
En esta lección se revisaron los elementos principales para elaborar formularios y se presentaron algunos ejemplos.
En esta lección se presentan los custom elements.
Mecanismo para declarar elementos personalizados que incluyan apariencia y comportamiento.
Su tipo de elemento debe llevar al menos un guión (-).
Son elementos de fraseo, por lo que su display predeterminado es
inline-block
.
Siempre se pone la etiqueta de inicio y la de final.
Esta tecnología ya viene incluida dentro de los navegadores, pero hay otros productos que implementan componentes web, como son:
Para definir contenido y comportamiento propio debes crear una clase que
extienda
HTMLElement
.
El método
connectedCallback
se invoca cuando el elemento se agrega a la página y en el debe agregarse
el contenido propio y el manejo de eventos.
Luego hay que asociar un tipo de elemento con esa clase usando la
instrucción
customElements.define("tipo-de-elemento", Clase)
.
Posteriormente también puedes definirle reglas de estilo.
En este ejemplo, el contenido HTML se añade desde una plantilla de texto. Por medio de un plugin de Visual Studio Code se colorea el texto para que puedas distinguir los elementos y sus atributos. También es posible usar archivos de extensión jsx que permiten poner directamente las etiquetas en el código, pero requieren compilar el programa para generar un archivo JavaScript, que es el que se añade al sitio web.
Los atributos de la etiqueta HTML se recuperan con
this.getAttribute(nombreDelAtributo)
.
En el caso de los atributos booleanos, sSe puede verificar si están
presentes en la etiqueta HTML usando
this.hasAttribute(nombreDelAtributo)
.
En esta lección se revisó el uso básico de los custom element.
En esta lección se presentan técnicas para elaborar juegos.
En esta lección se revisaron los elementos principales para elaborar formularios y se presentaron algunos ejemplos.
En esta lección se presentan ejemplos de adornos en una página web.
En esta lección se revisó como poner adornos a una página web.