contenido-incrustado.rst 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769
  1. .. 4.7
  2. ====================
  3. Contenido incrustado
  4. ====================
  5. El contenido incrustado importa otro recurso o inserta el contenido de otro
  6. lenguaje de marcado o espacio de nombres en el documento. Los elementos que
  7. pertenecen a esta categoría son: ``audio``, ``canvas``, ``embed``, ``iframe``
  8. , ``img``, ``object``, ``svg``, ``video``.
  9. El elemento ``img``
  10. ===================
  11. El elemento de imagen HTML ``<img>`` representa una imagen en el documento.
  12. La etiqueta ``<img>`` no debe de usarse para mostrar imágenes transparentes.
  13. Tiene dos atributos principales llamados ``src`` y ``alt``.
  14. - ``src``: El atributo ``src`` es la URL de la imagen, este atributo es obligatorio para el elemento <img>.
  15. - ``alt``: Define el texto alternativo que describe la imagen. Los usuarios lo verán si la URL de
  16. la imagen es errónea, la imagen tiene un formato no soportado, o si la imagen aún no se ha descargado.
  17. .. code-block:: html
  18. <a href="https://w3.org">
  19. <img src="images/w3c_home.png" width="72" height="48" alt="W3C web site">
  20. </a>
  21. .. code-block:: html
  22. <img src="piechart.gif"
  23. alt="Pie chart: Browser Share - Internet Explorer 25%, Firefox 40%,
  24. Chrome 25%, Safari 6% and Opera 4%.">
  25. Si la imagen que se va a mostrar es un banner del sitio web es posible dejar vacio
  26. el atributo ``alt``
  27. .. code-block:: html
  28. <header>
  29. <div><img src="border.gif" alt="" width="400" height="30"></div>
  30. <h1>Clara’s Blog</h1>
  31. </header>
  32. <p>Welcome to my blog...</p>
  33. El elemento ``<img>`` se puede utilizar con los siguientes atributos:
  34. - ``crossorigin``. Este atributo enumerado indica si la búsqueda de la imagen debe ser por **CORS** o no.
  35. Imagen hablidata **CORS** puede ser usada en el elemento ``<canvas>`` sin ser pintada.
  36. - ``height``. La altura de la imagen en píxeles.
  37. - ``width``. El ancho de la imagen en **píxeles**
  38. - ``ismap``. Este atributo boleano indica que la imagen es parte del mapa del lado del servidor.
  39. Así que, se envían las coordenadas precisas de un clic.
  40. Este atributo está permitido solo si el elemento ``<img>`` es descendiente de
  41. un elemento ``<a>`` con un atributo ``href`` válido.
  42. - ``sizes`` El atributo ``sizes`` depende del atributo ``srcset``, sin este no funciona. El valor del tamaño de la fuente especifica el tamaño de la imagen incrustada. Se usa el tamaño actual de la fuente para seleccionar las fuentes soportadas por el atributo srcset, cuando esas fuentes son descritas usando el ancho (width). Cada tamaño de la fuente consiste en:
  43. 1. Codición de medios, debe omitirse en el último **ítem**.
  44. 2. Valor del tamaño.
  45. - ``srcset``: El atributo ``srcset`` permite indicar diferentes URL para una misma imagen y que serán usadas dependiendo del tamaño de la pantalla del usuario o sus preferencias. Opcionalmente se puede especificar un ancho (numero entero positivo) seguido directamente por **w**. El ancho se dividirá por el tamaño de
  46. la fuente dada en el atributo sizes para calcular la densidad del píxel.
  47. - ``usemap``. La URL parcial **(empezando con '#')** de un mapa de imagen
  48. asociado a un elemento. No puedes usar este atributo si el elemento
  49. ``<img>`` es descendiente de un elemento ``<a>`` o ``<button>``.
  50. Formatos de imagen soportados
  51. -----------------------------
  52. - JPEG
  53. - GIF, including animated GIFs
  54. - PNG
  55. - APNG
  56. - SVG
  57. - BMP
  58. - BMP ICO
  59. - PNG ICO
  60. .. code-block:: html
  61. <h2>El artículo destacado de hoy</h2>
  62. <img src="/uploads/100-marie-lloyd.jpg" alt="" width="100" height="150">
  63. <p><b><a href="/wiki/Marie_Lloyd">Marie Lloyd</a></b> (1870–1922)
  64. Fue una inglesa <a href="/wiki/Music_hall">cantante </a> teatro de variedades..
  65. .. code-block:: html
  66. <h2>El artículo destacado de hoy</h2>
  67. <img src="/uploads/100-marie-lloyd.jpg"
  68. srcset="/uploads/150-marie-lloyd.jpg 1.5x, /uploads/200-marie-lloyd.jpg 2x"
  69. alt="" width="100" height="150">
  70. <p><b><a href="/wiki/Marie_Lloyd">Marie Lloyd</a></b> (1870–1922)
  71. Fue una inglesa <a href="/wiki/Music_hall">cantante</a> teatro de variedades..
  72. .. code-block:: html
  73. <img src="image-src.png" srcset="image-1x.png 1x, image-2x.png 2x, image-3x.png 3x, image-4x.png 4x">
  74. El elemento ``picture``
  75. =======================
  76. El elemento HTML ``<picture>`` es un contenedor utilizado para especificar
  77. múltiples elementos ``<source>`` de un elemento ``<img>`` específico contenido en él.
  78. El navegador elegirá la fuente más adecuada según el diseño actual de
  79. la página (las restricciones del cuadro en el que aparecerá la imagen)
  80. y el dispositivo en el que se mostrará (por ejemplo, un dispositivo normal
  81. o un dispositivo hiDPI).
  82. El elemento ``<picture>`` en sí no muestra nada. Simplemente proporciona un
  83. contexto para el contenido ``<img>`` elemento que le permite elegir entre
  84. múltiples **URL**.
  85. .. code-block:: html
  86. <picture>
  87. <source media="(min-width: 45em)" srcset="large.jpg">
  88. <source media="(min-width: 32em)" srcset="med.jpg">
  89. <img src="small.jpg" alt="The wolf runs through the snow.">
  90. </picture>
  91. El elemento ``source`` cuando es usado con el elemento ``picture``
  92. ==================================================================
  93. Los requisitos de creación de esta sección sólo se aplican si el elemento de
  94. ``<source>`` tiene un elemento primario que es un elemento de ``<picture>``.
  95. El elemento ``<source>`` permite a los autores especificar múltiples conjuntos
  96. de fuentes alternativos para los elementos ``<img>``, no representa nada por sí solo.
  97. El elemento ``iframe``
  98. ======================
  99. El elemento HTML ``<iframe>`` representa un contexto de navegación
  100. anidada, que permite incorporar **otra página HTML** en la **página actual**.
  101. Cada ``iframe`` tiene su historial de sesión y su propio objeto Document.
  102. El contexto de navegación que incluye el contenido implícito se llama contexto
  103. de navegación principal. El contexto de navegación de nivel superior que no tiene padre
  104. es típicamente la ventana del navegador.
  105. .. code-block:: html
  106. <script type="text/javascript">
  107. var iframe = window.getElementsByTagName( "iframe" )[ 0 ];
  108. alert( "Frame title: " + iframe.contentWindow.title );
  109. </script>
  110. <iframe src="page.html" width="300" height="300">
  111. <p>Your browser does not support iframes.</p>
  112. </iframe>
  113. El elemento ``<iframe>`` puede usarse con los siguientes atributos:
  114. - ``height``. Indica la altura del ``frame``
  115. - ``width``. Indica el ancho del ``frame``
  116. - ``src``. Indica la dirección de una página que debe contener una página web.
  117. - ``srcdoc``. Indica el contenido de la página que debe contener el contexto
  118. de navegación anidada. El valor del atributo es el origen de un **document** ``iframe srcdoc``.
  119. Si está presente, debe tener un valor utilizando la sintaxis ``HTML`` que consiste
  120. en los siguientes componentes sintácticos, en el orden dado:
  121. El siguiente ejemplo utiliza el atributo ``srcdoc`` junto con los atributos de ``sandbox``
  122. que se describen a continuación para proporcionar a los usuarios que admiten esta
  123. función una capa adicional de protección contra la inyección de guiones en los
  124. comentarios del blog:
  125. .. code-block:: html
  126. <article>
  127. <h1>Ya tengo mi propia revista!</h1>
  128. <p>Despues de mucho esfuerzo,Finalmente he publicado mi articulo,
  129. Estoy muy feliz por ello!</p>
  130. <footer>
  131. <p>Escrito hace<a href="/users/cap">cap</a>, 1 hora.
  132. </footer>
  133. <article>
  134. <footer> Hace 30 minutos, <a href="/users/ch">ch</a> escribio: </footer>
  135. <iframe sandbox srcdoc="<p>¿ Has cogido la imagen de fondo ?"></iframe>
  136. </article>
  137. <article>
  138. <footer> Hace 9 minutos , <a href="/users/cap">cap</a> escribio: </footer>
  139. <iframe sandbox srcdoc="<p>Si , tu puedes verlo <a href=&quot;/gallery?mode=cover&amp;amp;page=1&quot;>dentro de la galeria</a>."></iframe>
  140. </article>
  141. <article>
  142. <footer> Hace 5 minutos, <a href="/users/ch">ch</a> escribio: </footer>
  143. <iframe sandbox srcdoc="<p>Si realmente esta ,
  144. <p>debes de avisarme en la proxima revisions."></iframe>
  145. </article>
  146. - ``name``. Un nombre para el contexto de exploración incrustado (marco o *frame*). Esto se puede
  147. usar como el valor del atributo de destino de un elemento ``<a>`` o ``<form>``, o el
  148. atributo **formtarget** de un elemento ``<input>`` o ``<button>``.
  149. - ``sandbox``. Si se especifica como una cadena vacía, este atributo permite restricciones
  150. adicionales en el contenido que puede aparecer en el marco en línea.
  151. El valor del atributo puede ser una lista separada por espacios de fichas que
  152. levantan determinadas restricciones.
  153. .. code-block:: html
  154. <iframe title="Maps" sandbox="allow-same-origin allow-forms allow-scripts"
  155. src="https://maps.example.com/embedded.html"></iframe>
  156. En este ejemplo, se incrusta un **gadget** de otro sitio. El gadget tiene scripts y
  157. formularios habilitados, y se levantan las restricciones de sandbox de origen,
  158. permitiendo que el gadget se comunique con su servidor de origen. Sin embargo,
  159. el atributo ``sandbox`` sigue siendo útil, ya que deshabilita los complementos
  160. y ventanas emergentes, reduciendo así el riesgo de que el usuario esté expuesto
  161. a programas maliciosos y otras molestias.
  162. Los **tokens** válidos son:
  163. - ``allow-forms`` Permite que el contexto de exploración incrustado envíe formularios.
  164. Si no se utiliza esta palabra clave, esta operación no está permitida.
  165. - ``allow-same-origin``. Permite que el contenido sea tratado como siendo de su origen normal.
  166. Si no se utiliza esta palabra clave, se considera que el contenido incrustado es de origen único.
  167. - ``allow-top-navigation``. Permite que el contexto de exploración incrustado navegue
  168. (cargue) el contenido al contexto de navegación de nivel superior. Si
  169. no se utiliza esta palabra clave, esta operación no está permitida.
  170. - ``allow-scripts``: Permite que el contexto de exploración incrustado
  171. ejecute secuencias de comandos (pero no cree ventanas emergentes). Si no se
  172. utiliza esta palabra clave, esta operación no está permitida.
  173. - ``allowfullscreen``: Atributo booleano. Cuando se especifica, indica que los objetos **document**
  174. en el contexto de exploración del elemento ``<iframe>`` deben poder utilizar
  175. **requestFullscreen()** (si no está bloqueado por otras razones, por ejemplo,
  176. existe otro ``<iframe>`` ancestral sin este atributo).
  177. .. code-block:: html
  178. <article>
  179. <header>
  180. <p><img src="/usericons/1627591962735"> <b>Pedro Picapiedra</b></p>
  181. <p><a href="/posts/3095182851" rel=bookmark>12:44</a> — <a href="#acl-3095182851">Mensaje privado</a></p>
  182. </header>
  183. <main>
  184. <p>Mira mi nuevo paseo!</p>
  185. <iframe title="Video" src="https://video.example.com/embed?id=92469812" allowfullscreen></iframe>
  186. </main>
  187. </article>
  188. En el ejemplo anterior, un ``<iframe>`` se utiliza para incrustar un video desde un sitio web de vídeos.
  189. El atributo ``allowfullscreen`` es necesario para permitir que el reproductor
  190. muestre su pantalla completa de vídeo.
  191. El elemento ``embed``
  192. =====================
  193. Proporciona un punto de integración para una aplicación externa (normalmente no HTML)
  194. o un contenido interactivo, **pluging**.
  195. Puede usarse con los siguientes atributos:
  196. - ``src``. Indica la dirección del recurso que se está incrustando.
  197. - ``width``. La anchura del elemento.
  198. - ``height``. La altura del elemento.
  199. - ``type``. Si está presente, indica el tipo MIME por el cual se selecciona
  200. el complemento para instanciar. El valor debe ser un tipo MIME válido.
  201. Si el atributo ``type`` y el atributo ``src`` están presentes, el atributo ``type``
  202. debe especificar el mismo tipo que los metadatos explícitos **Content-Type**
  203. del recurso dado por el atributo ``src``.
  204. .. code-block:: html
  205. <embed src="catgame.swf" quality="high">
  206. El elemento ``object``
  207. ======================
  208. El elemento HTML ``<object>`` representa un recurso externo, que puede tratarse
  209. como una imagen, un iframe o un recurso que debe manejar un complemento(plugin).
  210. Puede utilizarse con los siguientes atributos:
  211. - ``data``. Especifica la dirección del recurso.
  212. - ``type``. Si está presente, especifica el tipo del recurso. Si está presente, el atributo
  213. debe ser un tipo **MIME** válido.
  214. - ``form``.El elemento de formulario, si existe, al que está asociado el elemento de objeto
  215. (su propietario de formulario). El valor del atributo debe ser un ID de un
  216. elemento ``<form>`` en el mismo documento.
  217. - ``height``. La altura del recurso mostrado, en píxeles.
  218. - ``width``. El ancho del recurso mostrado, en píxeles.
  219. - ``name``. El nombre del contexto de exploración válido en HTML 5.
  220. - ``type``. El tipo de contenido del recurso especificado por los datos. Debe definirse al
  221. menos uno de los datos y del tipo.
  222. - ``typemustmatch``. Este atributo **booleano** indica si el tipo y el recurso de tipo de contenido
  223. real deben coincidir en orden de éste que se va a utilizar.
  224. - ``usemap``. Una referencia al nombre de **hash** de un elemento ``<map>``;
  225. Esto es **#** seguido por el valor de un nombre de un elemento de mapa.
  226. .. code-block:: html
  227. <!-- Embeber un video FLASH-->
  228. <object data="movie.swf"
  229. type="application/x-shockwave-flash"></object>
  230. <!-- Embeber una pelicula FLASH con parametros-->
  231. <object data="movie.swf" type="application/x-shockwave-flash">
  232. <param name="foo" value="bar">
  233. </object>
  234. .. code-block:: html
  235. <p>Mira mi video:
  236. <object type="application/x-shockwave-flash">
  237. <param name=movie value="https://video.example.com/library/watch.swf">
  238. <param name=allowfullscreen value=true>
  239. <param name=flashvars value="https://video.example.com/vids/315981">
  240. <video controls src="https://video.example.com/vids/315981">
  241. <a href="https://video.example.com/vids/315981">Ver video</a>.
  242. </video>
  243. </object>
  244. </p>
  245. El siguiente ejemplo muestra cómo se puede utilizar un complemento en **HTML**
  246. (en este caso, el complemento de Flash, para mostrar un archivo de vídeo).
  247. El respaldo **'fallback'** se proporciona para los usuarios que no tienen habilitado Flash,
  248. en este caso usando el elemento de video para mostrar el video para aquellos que
  249. usan agentes de usuario que soportan video y finalmente proporcionar un enlace
  250. al video para aquellos que no tienen Flash ni video en el navegador
  251. El elemento ``param``
  252. =====================
  253. El elemento ``<param>`` define parámetros para complementos invocados por
  254. elementos de ``<objet>``. No representa nada por sí solo.
  255. Puede usarse con los siguientes atributos:
  256. - ``name``. El nombre del parámetro.
  257. - ``value``. El valor del parámetro
  258. .. code-block:: html
  259. <!DOCTYPE HTML>
  260. <html lang="en">
  261. <head>
  262. <title>O3D Utah Teapot</title>
  263. </head>
  264. <body>
  265. <p>
  266. <object type="application/vnd.o3d.auto">
  267. <param name="o3d_features" value="FloatingPointTextures">
  268. <img src="o3d-teapot.png"
  269. title="3D Utah Teapot ilustración prestados utilizando O3D.."
  270. alt="Cuando O3D rinde la tetera de Utah, aparece como una tetera squat
  271. con un acabado metálico brillante en el que se reflejan los alrededores,
  272. con una leve sombra causada por la iluminación">
  273. <p>Para ver la tetera realmente renderizada por O3D en su computadora
  274. , descargue e instalee <a>
  275. href="https://code.google.com/apis/o3d/docs/gettingstarted.html#install">O3D plugin</a>.</p>
  276. </object>
  277. <script src="o3d-teapot.js"></script>
  278. </p>
  279. </body>
  280. </html>
  281. El elemento ``video``
  282. =====================
  283. El elemento ``<video>`` se utiliza para incrustar vídeos en un documento HTML.
  284. Puedes consultar la `lista siguiente de formatos<https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats>`_. admitidos por los elementos de audio y vídeo.
  285. Puede usarse con los siguientes atributos:
  286. - ``autoplay``. Un atributo booleano; si se especifica, el video comenzará a reproducirse
  287. automáticamente tan pronto como sea posible, sin detenerse para terminar de cargar los datos.
  288. - ``controls``. Si está presente este atributo, el navegador ofrecerá controles
  289. para permitir que el usuario controle la reproducción de video, incluyendo
  290. volumen, búsqueda y pausar/reanudar reproducción.
  291. - ``height``. La altura del área de visualización del vídeo en píxeles CSS.
  292. - ``loop``. Un atributo **booleano**; si se especifica, al alcanzar el final del video,
  293. volverá a reproducirse automáticamente desde el principio.
  294. - ``preload``. El objetivo de este atributo enumerado es proporcionar una
  295. sugerencia al navegador sobre qué cree el autor que llevará a la mejor
  296. experiencia para el usuario.
  297. Puede tener uno de los siguientes valores:
  298. - ``none``. Sugiere bien que el autor cree que el usuario no tendrá que
  299. consultar ese video, bien que el servidor desea minimizar su tráfico;
  300. es decir, esta sugerencia indica que no se debe almacenar en caché este video.
  301. - ``metadata``. Indica que solo carga los metadatos del vídeo (por ejemplo,
  302. longitud del vídeo).
  303. - ``auto``. Indica que el vídeo entero puede ser descargado, incluso
  304. si no se espera que el usuario vaya a usarlo.
  305. - ``cadena vacía``. Que es un sinónimo del valor **auto**.
  306. - ``poster``. La URL de la imagene que se muestra antes de reproducir el
  307. vídeo.
  308. .. code-block:: html
  309. <video src="video.webm" autoplay controls></video>
  310. - ``src``. La URL del vídeo que se va a insertar. Es opcional; podrás optar, en su lugar,
  311. por el elemento ``<source>`` dentro del bloque de vídeo para especificar el
  312. video que se va a incrustar.
  313. - ``width``. La anchura del área de visualización del vídeo en píxeles CSS.
  314. Este ejemplo muestra un mensage cuando el vídeo no se puede reproducir
  315. correctamente:
  316. .. code-block:: html
  317. <video src="videofile.ogg" autoplay poster="posterimage.jpg">
  318. Tu navegador no admite el elemento <code>video</code>.
  319. </video>
  320. El elemento ``audio``
  321. =====================
  322. Un elemento ``<audio>`` sirve para incrustar audios.
  323. Se puede proporcionar contenido dentro del elemento de audio para los navegadores
  324. que no pueden reproducir audio.
  325. Se puede utilizar con los siguientes atributos:
  326. - ``autoplay``. Un atributo booleano; si se especifica incluso aunque el valor sea **false**,
  327. el sonido comenzará a reproducirse automáticamente en cuanto sea posible,
  328. sin detenerse para terminar de cargar los datos.
  329. - ``controls``. Si está presente este atributo, el navegador ofrecerá controles
  330. para permitir que el usuario controle la reproducción de audio, incluyendo
  331. volumen, búsqueda y pausar/reanudar reproducción.
  332. - ``preload``. El objetivo de este atributo enumerado es proporcionar una sugerencia al navegad or sobre qué cree el autor que proporcionará la mejor experiencia para el usuario .
  333. Puede tener uno de los siguientes valores:
  334. - ``none``. Sugiere bien que el autor cree que el usuario no tendrá que consultar ese
  335. video, bien que el servidor desea minimizar su tráfico; es decir, esta
  336. sugerencia indica que no se debe almacenar en caché este video;
  337. - ``metadata``. Sugiere que aunque el autor piensa que el usuario no tendrá que
  338. consultar ese audio, es razonable capturar los metadatos (p. ej. longitud);
  339. - ``auto``. Sugiere que el usuario necesita tener prioridad; es decir, esta sugerencia
  340. indica que, si es necesario, se puede descargar el video completo, incluso
  341. aunque el usuario no vaya a usarlo;
  342. - cadena vacía. Hace lo mismo que el valor **auto**.
  343. - ``loop``. Un atributo **booleano**; si se especifica, al alcanzar el final del audio,
  344. este vuelve a reproducirse desde el principio.
  345. .. code-block:: html
  346. <audio src="http://developer.mozilla.org/@api/deki/files/2926/=AudioTest_(1).ogg"
  347. autoplay>
  348. Your browser does not support the <code>audio</code> element.
  349. </audio>
  350. El elemento ``source``
  351. ======================
  352. El elemento ``<source>`` permite a los autores especificar múltiples recursos
  353. de medios alternativos para elementos de medios. No representa nada por sí solo.
  354. Se usa para especificar los recursos de medios múltiples para los elementos
  355. ``<audio>`` y ``<video>`` en HTML 5. Se trata de un elemento vacío.
  356. Puede usarse con los siguientes atributos:
  357. - ``src``. Da la dirección del recurso de medios. El valor debe ser una URL no vacía válida
  358. potencialmente rodeada de espacios. Este atributo debe estar presente.
  359. - ``type``. El contenido de este atributo indica el tipo del recurso multimedia,
  360. para ayudar al navegador a determinar si puede reproducir este recurso multimedia
  361. medios antes de buscarlo. Si se especifica, su valor debe ser un tipo MIME válido.
  362. .. code-block:: html
  363. <video controls>
  364. <source src="foo.ogg" type="video/ogg"> <!-- Picked by Firefox -->
  365. <source src="foo.mov" type="video/quicktime"> <!-- Picked by Safari -->
  366. I'm sorry; your browser doesn't support HTML 5 video.
  367. </video>
  368. Este ejemplo muestra cómo ofrecer un video en formato **Ogg** para los usuarios cuyos
  369. navegadores son compatibles con formato **Ogg** y un video en formato **QuickTime** para
  370. los usuarios cuyos navegadores son compatibles con él. Si el elemento audio o
  371. video no es compatible con el navegador, se muestra un aviso en su lugar.
  372. Si el navegador es compatible con el elemento, pero no es compatible con
  373. cualquiera de los formatos especificados, se produce un evento error y los
  374. controles multimedia (si están activados) indicarán un error.
  375. .. code-block:: html
  376. <script>
  377. function fallback(video) {
  378. // replace <video> dentro del contenido
  379. while (video.hasChildNodes()) {
  380. if (video.firstChild instanceof HTMLSourceElement)
  381. video.removeChild(video.firstChild);
  382. else
  383. video.parentNode.insertBefore(video.firstChild, video);
  384. }
  385. video.parentNode.removeChild(video);
  386. }
  387. </script>
  388. <video controls autoplay>
  389. <source src='video.mp4' type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
  390. <source src='video.ogv' type='video/ogg; codecs="theora, vorbis"'
  391. onerror="fallback(parentNode)">
  392. </video>
  393. Si el autor no está seguro de si los navegadores podrán procesar los
  394. recursos de medios proporcionados, podrá escuchar el evento de error
  395. en el último elemento de origen y activar el comportamiento de **fallback**.
  396. El elemento ``track``
  397. =====================
  398. Permite a los autores especificar recursos explícitos de texto externo
  399. para elementos multimedia. No representa nada por sí solo.
  400. Puede utilizarse con los siguientes atributos:
  401. - ``default``. Este atributo indica que ``<track>`` debe estar habilitado a menos que las
  402. preferencias del usuario indiquen que otro ``<track>`` es más apropiado.
  403. Esto sólo puede utilizarse en un elemento de ``<track>`` para los elementos
  404. multimedia.
  405. - ``kind``. Puede tener los siguientes valores:
  406. - ``subtitles``. Transcripción o traducción del diálogo, adecuada para cuando el sonido está
  407. disponible pero no se entiende (por ejemplo, porque el usuario no entiende
  408. el idioma de la pista de audio del recurso multimedia). Sobrepuesto en el video.
  409. - ``captions``. Transcripción o traducción del diálogo, efectos de sonido, pistas musicales
  410. relevantes y otra información de audio relevante, adecuada para cuando el
  411. sonido no está disponible o no es claramente audible. Por ejemplo, porque
  412. está silenciado, ahogado por el ruido ambiental o porque el usuario está sordo.
  413. - ``description``. Descripciones textuales del componente de vídeo del recurso de medios, destinado
  414. a la síntesis de audio cuando el componente visual está oscurecido, no disponible
  415. o no utilizable ``ejemplo``, porque el usuario está interactuando con la
  416. aplicación sin pantalla durante la conducción o porque el usuario está ciego).
  417. Sintetizado como audio.
  418. - ``chapters``. Títulos de capítulos, destinados a ser utilizados para navegar por el recurso
  419. multimedia. Se muestra como una lista interactiva (potencialmente anidada)
  420. en la interfaz del navegador.
  421. - ``metadata``. Pistas destinadas para su uso desde el script. No se muestra en el agente de usuario.
  422. - ``label``. Título legible por el usuario del ``<track>`` de texto que utiliza el navegador
  423. al listar los ``<track>`` de texto disponibles.
  424. - ``src``. URL de la pista **(archivo .vtt)**. Debe ser una URL válida.
  425. Este atributo debe indicado siempre.
  426. - ``srclang``. Idioma de los datos del texto del ``<track>``.
  427. .. code-block:: html
  428. <video controls poster="/images/sample.gif">
  429. <source src="sample.mp4" type="video/mp4">
  430. <source src="sample.ogv" type="video/ogv">
  431. <track kind="captions" src="sampleCaptions.vtt" srclang="en">
  432. <track kind="descriptions"
  433. src="sampleDescriptions.vtt" srclang="en">
  434. <track kind="chapters" src="sampleChapters.vtt" srclang="en">
  435. <track kind="subtitles" src="sampleSubtitles_de.vtt" srclang="de">
  436. <track kind="subtitles" src="sampleSubtitles_en.vtt" srclang="en">
  437. <track kind="subtitles" src="sampleSubtitles_ja.vtt" srclang="ja">
  438. <track kind="subtitles" src="sampleSubtitles_oz.vtt" srclang="oz">
  439. <track kind="metadata" src="keyStage1.vtt" srclang="en"
  440. label="Key Stage 1">
  441. <track kind="metadata" src="keyStage2.vtt" srclang="en"
  442. label="Key Stage 2">
  443. <track kind="metadata" src="keyStage3.vtt" srclang="en"
  444. label="Key Stage 3">
  445. <!-- Fallback -->
  446. Tu navegador no puede reproducir el vídeo. Actualízalo, por favor.
  447. </video>
  448. El elemento ``map``
  449. ===================
  450. El elemento ``<map>``, junto con un elemento ``<img>`` y cualquier descendiente
  451. de elemento de ``<area>``, define el mapa de imagen.
  452. Se utiliza con el atributo ``name``. Este le da al mapa un nombre para que
  453. pueda ser referenciado. El atributo debe estar presente y debe tener un
  454. valor no vacío sin caracteres de espacio.
  455. .. code-block:: html
  456. <!DOCTYPE HTML>
  457. <TITLE>Tienda Online</TITLE>
  458. <HEADER>
  459. <h1>Juguetes</h1>
  460. <IMG SRC="/images/menu.gif"
  461. ALT="Navegacion del menu Tienda Online . Seleccion el departamento al que quiere ir."
  462. USEMAP="#NAV">
  463. </HEADER>
  464. ...
  465. <FOOTER>
  466. <MAP NAME="NAV">
  467. <P>
  468. <A HREF="/clothes/">Ropa</A>
  469. <AREA ALT="Clothes" COORDS="0,0,100,50" HREF="/clothes/"> |
  470. <A HREF="/toys/">Juguetes</A>
  471. <AREA ALT="Toys" COORDS="100,0,200,50" HREF="/toys/"> |
  472. <A HREF="/food/">Comida</A>
  473. <AREA ALT="Food" COORDS="200,0,300,50" HREF="/food/"> |
  474. <A HREF="/books/">Libros</A>
  475. <AREA ALT="Books" COORDS="300,0,400,50" HREF="/books/">
  476. </P>
  477. </MAP>
  478. </FOOTER>
  479. El elemento ``area``
  480. ====================
  481. Sirve para crear las distintas secciones en las que se puede dividir un mapas
  482. de imágenes en el cliente.
  483. Representa un hipervínculo con algún texto y un área correspondiente en un mapa
  484. de imagen, o un área muerta en un mapa de imagen.
  485. El elemento ``<area>`` debe tener un elemento ``<map>`` o ``<template>``
  486. como padre.
  487. Los atributos ``shape`` y ``coords`` especifican el area.
  488. Puede ser utilizado con los siguientes atributos:
  489. - ``alt``. Texto que se muestra cuando las imágenes no pueden ser cargadas.
  490. - ``coords``. Coordenadas para las formas que se crean en un mapa de imagen.
  491. - ``download``. Si está presente, el navegador descarga el elemento en vez
  492. de mostrarlo.
  493. - ``href``. La dirección del recurso.
  494. - ``hreflang``. El idioma del recurso enlazado.
  495. - ``rel``. La relación del documento actual con el recurso enlazado.
  496. - ``shape``. Tipo de forma a ser creada en un mapa de imagen. Puede tener los
  497. siguientes valores:
  498. - ``circle``. Forma de círculo.
  499. - ``default``. Forma predeterminada (por defecto rectángulo).
  500. - ``poly``. Forma de polígolo.
  501. - ``rect``. Forma de rectángulo.
  502. - ``target``. El contexto de navegación.
  503. - ``type``. El tipo de recurso referenciado.
  504. .. image:: imagenes/sample-usemap.png
  505. .. code-block:: html
  506. <p>
  507. Por favor, selecciona una forma:
  508. <img src="shapes.png" usemap="#shapes"
  509. alt="Four shapes are available: a red hollow box, a green circle, a blue triangle, and a yellow four-pointed star.">
  510. <map name="shapes">
  511. <area shape=rect coords="50,50,100,100"> <!-- El agujero de la caja roja -->
  512. <area shape=rect coords="25,25,125,125" href="red.html" alt="Caja roja.">
  513. <area shape=circle coords="200,75,50" href="green.html" alt="Círculo verde.">
  514. <area shape=poly coords="325,25,262,125,388,125" href="blue.html" alt="Triángulo azul.">
  515. <area shape=poly coords="450,25,435,60,400,75,435,90,450,125,465,90,500,75,465,60"
  516. href="yellow.html" alt="Estrella amarilla.">
  517. </map>
  518. </p>
  519. MathML
  520. ======
  521. MathML es una especificación para representar contenido matemático y
  522. científico que se puede usar en páginas web. La especificación oficial
  523. se encuentra en la siguiente dirección: https://www.w3.org/Math/.
  524. El elemento ``<math>`` se utiliza para hacer uso de esta tecnología.
  525. El siguiente ejemplo muestra cómo se representa en HTML la fórmula del
  526. teorema de Pitágoras.
  527. .. code-block:: html
  528. <!DOCTYPE html>
  529. <html>
  530. <head>
  531. <title>Fórmula del teorema de Pitágoras</title>
  532. </head>
  533. <body>
  534. <math>
  535. <mrow>
  536. <mrow>
  537. <msup>
  538. <mi>a</mi>
  539. <mn>2</mn>
  540. </msup>
  541. <mo>+</mo>
  542. <msup>
  543. <mi>b</mi>
  544. <mn>2</mn>
  545. </msup>
  546. </mrow>
  547. <mo>=</mo>
  548. <msup>
  549. <mi>c</mi>
  550. <mn>2</mn>
  551. </msup>
  552. </mrow>
  553. </math>
  554. </body>
  555. </html>
  556. SVG
  557. ===
  558. SVG (*Scalable Vector Graphics*) es un formato de gráficos vectoriales
  559. bidimensionales, tanto estáticos como animados, en formato XML, cuya
  560. especificación es un estándar abierto desarrollado por el W3C desde
  561. el año 1999. La especificación oficial se encuentra en https://www.w3.org/TR/SVG/.
  562. El elemento ``<svg>`` se utiliza para hacer uso de esta tecnología.
  563. A continuación, se muestra un ejemplo que dibuja un círculo.
  564. .. code-block:: html
  565. <!DOCTYPE HTML>
  566. <html lang="es">
  567. <head>
  568. <meta charset="UTF-8">
  569. <title>Círculo</title>
  570. </head>
  571. <body>
  572. <svg width="100" height="100">
  573. <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
  574. </svg>
  575. </body>
  576. </html>