{"id":166,"date":"2017-11-08T17:23:00","date_gmt":"2017-11-08T17:23:00","guid":{"rendered":"https:\/\/alistapart.com\/es\/?post_type=article&#038;p=166"},"modified":"2021-04-03T17:47:03","modified_gmt":"2021-04-03T17:47:03","slug":"creando-proporciones-intrinsecas-para-videos","status":"publish","type":"article","link":"https:\/\/alistapart.com\/es\/article\/creando-proporciones-intrinsecas-para-videos\/","title":{"rendered":"Creando Proporciones Intr\u00ednsecas para Videos"},"content":{"rendered":"\n<p id=\"7fd5\">\u00bfAlguna vez has querido redimensionar un video sobre la marcha, tal como lo har\u00edas con una imagen? Con dimensiones intr\u00ednsecas es posible. Esta t\u00e9cnica permite que los navegadores determinen las dimensiones del video, con base en el tama\u00f1o del ancho del bloque contenedor.<\/p>\n\n\n\n<p id=\"3353\">Con dimensiones intr\u00ednsecas, una nueva anchura provoca un nuevo c\u00e1lculo de la altura, permitiendo a los videos ser redimensionados, d\u00e1ndoles la habilidad de escalar de la misma manera que lo hacen las im\u00e1genes. Revisa el <a href=\"https:\/\/alistapart.com\/d\/creating-intrinsic-ratios-for-video\/example1.html\">primer ejemplo<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"1223\">El Concepto<\/h2>\n\n\n\n<p id=\"d60c\">La idea es crear un contenedor con la proporci\u00f3n correcta (4:3, 16:9, etc.), y luego hacer que el video dentro del contenedor se extienda para ajustarse a las dimensiones del contenedor. Es as\u00ed de simple.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"9c12\">El Truco<\/h2>\n\n\n\n<p id=\"df1f\">La propiedad <code>padding<\/code> es la magia que le da estilo al contendor con una <em>proporci\u00f3n intr\u00ednseca<\/em>. Esto es porque definiremos el <code>padding<\/code> en un <em>porcentaje<\/em>, con base en la <strong>anchura<\/strong> del bloque contenedor.<\/p>\n\n\n\n<p id=\"36d4\">Las reglas CSS de abajo, ilustran c\u00f3mo le damos estilo al padre y al hijo, para crear una \u201cenvoltura m\u00e1gica\u201d\u2500un contenedor que se redimensiona a s\u00ed mismo de manera proporcional dependiendo dela medida del ancho de su padre. Revisa el <a href=\"https:\/\/alistapart.com\/d\/creating-intrinsic-ratios-for-video\/example2.html\">segundo ejemplo<\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.wrapper-with-intrinsic-ratio {<br>    position: relative;<br>    padding-bottom: 20%;<br>    height: 0;<br>}.element-to-stretch {<br>    position: absolute;<br>    top: 0;<br>    left: 0;<br>    width: 100%;<br>    height: 100%;<br>    background: teal;<br>}<\/code><\/pre>\n\n\n\n<p id=\"0928\">Repasemos las declaraciones en cada regla, comenzando con <code>.wrapper-with-intrinsic-ratio<\/code>.<\/p>\n\n\n\n<pre id=\"ae87\" class=\"wp-block-preformatted\"><code><strong>position: relative<\/strong><\/code>\nAl declarar <code>position: relative<\/code> todos los elementos descendientes se posicionar\u00e1n a s\u00ed mismos en relaci\u00f3n a este contenedor.<\/pre>\n\n\n\n<pre id=\"79b1\" class=\"wp-block-preformatted\"><code><strong>padding-bottom: 20%<\/strong><\/code>\nEsta declaraci\u00f3n le da al contenedor un <em>formato<\/em> espec\u00edfico. Utilizando 20% para el <code>padding<\/code> hace que la altura del contenedor sea igual al 20% de su anchura.\n\nEspec\u00edficamente elegimos utilizar <code>padding-bottom<\/code> en vez de <code>padding-top<\/code>. Esto es porque IE5 <em>remueve<\/em> el \u201cespacio\u201d creado por medio de <code>padding-top<\/code> del flujo. En otras palabras, utilizando <code>padding-top: 20%<\/code>  crear\u00eda el dise\u00f1o que queremos, pero el contenedor actuar\u00eda como un  elemento absolutamente posicionado, superponi\u00e9ndose a los siguientes  elementos en el flujo.<\/pre>\n\n\n\n<pre id=\"2892\" class=\"wp-block-preformatted\"><strong>height: 0<\/strong>\nAl especificar una altura de <code>0<\/code> le damos a este elemento un \u201cdise\u00f1o\u201d con el cu\u00e1l tanto IE5 como IE6 dimensionar\u00e1n el contenedor interior de manera correcta. Para aprender m\u00e1s, visita \u201c<a href=\"http:\/\/www.satzansatz.de\/cssd\/onhavinglayout.html\">On having layout<\/a>\u201d.\n\n<strong>Nota:<\/strong> ya que IE5 y IE6 tratan <code>width<\/code> como si fuera la anchura m\u00ednima, <em>no<\/em> deber\u00edas utilizar <code>width: 100%<\/code>  para desencadenar algo en el dise\u00f1o. Esto causa que la caja se expanda  para rellenar su contenedor, en vez de respetar la anchura que definimos  para el contenedor.<\/pre>\n\n\n\n<p id=\"012a\">Ahora, consideremos cada declaraci\u00f3n dentro de nuestra regla <code>.element-to-stretch<\/code>.<\/p>\n\n\n\n<pre id=\"21cf\" class=\"wp-block-preformatted\"><strong>position: absolute<\/strong>\nEsto libera al elemento de la altura l\u00edmite de su padre. De esta manera, puede ser posicionado sobre el \u201c\u00e1rea del <code>padding<\/code>\u201d.<\/pre>\n\n\n\n<pre id=\"c463\" class=\"wp-block-preformatted\"><strong>top: 0<\/strong>\nDefinimos <code>top: 0<\/code> para posicionar el contenedor cerca de la parte superior de su padre.<\/pre>\n\n\n\n<pre id=\"9274\" class=\"wp-block-preformatted\"><strong>left: 0<\/strong>\nEsta declaraci\u00f3n posiciona el contenedor cerca del lado izquierdo de su padre.<\/pre>\n\n\n\n<pre id=\"90e1\" class=\"wp-block-preformatted\"><strong>width: 100%<\/strong>\nAl declarar <code>width: 100%<\/code> hacemos que la caja se estire para rellenar la anchura de su contenedor.<\/pre>\n\n\n\n<pre id=\"6bb5\" class=\"wp-block-preformatted\"><strong>height: 100%<\/strong>\nEsta declaraci\u00f3n hace que la caja se expanda para completar la altura de su contenedor.<\/pre>\n\n\n\n<pre id=\"6f65\" class=\"wp-block-preformatted\"><strong>background: teal<\/strong>\nAplicamos un color para revelar el dise\u00f1o del contenedor.<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"1cda\">El Trato Real<\/h2>\n\n\n\n<p id=\"2ed8\">El <a href=\"https:\/\/alistapart.com\/d\/creating-intrinsic-ratios-for-video\/example3.html\">tercer ejemplo<\/a> utiliza un video de YouTube (con <em>markup<\/em> de YouTube), por lo que necesitamos hacer espacio para el <em>wrapper<\/em>. N\u00f3tese que la altura del <em>wrapper<\/em> es est\u00e1tica: tiene 25 p\u00edxeles de alto, sin importar las dimensiones del video. Tambi\u00e9n cambiamos el valor del <code>padding<\/code> para desplegar el video en un formato de pantalla amplia (16:9).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#containingBlock {<br>    width: 50%;<br>}.videoWrapper {<br>    position: relative;<br>    padding-bottom: 56.25%;<br>    padding-top: 25px;<br>    height: 0;<br>}object,<br>embed {<br>    position: absolute;<br>    top: 0;<br>    left: 0;<br>    width: 100%;<br>    height: 100%;<br>}<\/code><\/pre>\n\n\n\n<p id=\"500c\">Ech\u00e9mos un vistazo m\u00e1s de cerca a nuestros nuevos selectores y declaraciones, comenzando por el selector <code>#containingBlock<\/code>.<\/p>\n\n\n\n<pre id=\"fb1f\" class=\"wp-block-preformatted\"><strong>width: 50%<\/strong>\nEste es \u00fanicamente un contenedor para mostrar el cambio de tama\u00f1o del video, con respecto al ancho de la ventana.<\/pre>\n\n\n\n<p id=\"06b6\">Ahora, es momento de examinar un par de declaraciones bajo el selector <code>.videoWrapper<\/code>.<\/p>\n\n\n\n<pre id=\"2269\" class=\"wp-block-preformatted\"><strong>padding-bottom: 56.25%<\/strong>\nPara crear una proporci\u00f3n de 16:9, debemos dividir 9 entre 16 (0.5625 o 56.25%).<\/pre>\n\n\n\n<pre id=\"d576\" class=\"wp-block-preformatted\"><strong>padding-top: 25px<\/strong>\nPara evitar problemas con el <a href=\"http:\/\/www.456bereastreet.com\/archive\/200612\/internet_explorer_and_the_css_box_model\/\">modelo de caja rota<\/a> (IE5 o IE6 en modo <em>quirks<\/em>), utilizamos <code>padding-top<\/code> en vez de <code>height<\/code> para hacer espacio para el <em>wrapper<\/em>.<\/pre>\n\n\n\n<p id=\"4f78\">Finalmente, utilizamos el selector <code>object, embed<\/code> porque algunos navegadores dependen de <code>object<\/code> (por ejemplo, Safari), mientras que otros utilizan <code>embed<\/code> (por ejemplo, Firefox).<\/p>\n\n\n\n<p id=\"32da\"><strong>Nota:<\/strong> Estoy utilizando el <em>markup<\/em> de YouTube por ahora, pero al final del art\u00edculo estar\u00e9 utilizando <em>markup<\/em> v\u00e1lido y necesitar\u00e9 utilizar <code>embed<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"0517\">Las Soluciones para Internet Explorer<\/h2>\n\n\n\n<p id=\"252f\">Para lograr que esto funcione en Internet Explorer, simplemente a\u00f1adiremos un contenedor extra. (Nunca dije que ser\u00eda bello y limpio). Mira el <a href=\"https:\/\/alistapart.com\/d\/creating-intrinsic-ratios-for-video\/example4.html\">ejemplo cuatro<\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#containingBlock {<br>    width: 50%;<br>}.videoWrapper {<br>    position: relative;<br>    padding-top: 25px;<br>    padding-bottom: 56.25%;<br>    height: 0;<br>}* html .videoWrapper {<br>    margin-bottom: 45px;<br>    margin-bot\\tom: 0;<br>}.videoWrapper div,<br>.videoWrapper embed,<br>.videoWrapper object {<br>    position: absolute;<br>    width: 100%;<br>    height: 100%;<br>    left: 0;<br>    top: 0;<br>}<\/code><\/pre>\n\n\n\n<p id=\"72d3\">Veamos m\u00e1s de cerca a nuestros nuevos selectores y declaraciones, comenzando con el selector <code>.videoWrapper<\/code>.<\/p>\n\n\n\n<pre id=\"edcc\" class=\"wp-block-preformatted\"><strong>height: 0<\/strong>\nTal como lo vimos con el <a href=\"https:\/\/alistapart.com\/d\/creating-intrinsic-ratios-for-video\/example2.html\">ejemplo dos<\/a>, IE5 y IE6 necesitan \u201cdise\u00f1o\u201d.<\/pre>\n\n\n\n<p id=\"dfff\">Ahora, veamos nuestro selector <code>* html .videoWrapper<\/code>. Llamado el \u201cstar html hack\u201d, este selector tiene sentido solo en IE6 y menor, puesto que solo estas versiones traducen las siguientes declaraciones:<\/p>\n\n\n\n<pre id=\"9a30\" class=\"wp-block-preformatted\"><strong>margin-bottom: 45px<\/strong>\nComo en el <a href=\"https:\/\/alistapart.com\/d\/creating-intrinsic-ratios-for-video\/example2.html\">ejemplo dos<\/a>, <code>padding-top<\/code> crea algunos problemas en IE5. Aqu\u00ed utilizamos un valor arbitrario (que deber\u00eda funcionar con varios <em>wrappers<\/em>) para compensar por el \u201cespacio\u201d perdido al utilizar <code>padding-top<\/code>. Esto es para prevenir que el video se sobreponga a los elementos subsecuentes.<\/pre>\n\n\n\n<pre id=\"3636\" class=\"wp-block-preformatted\"><strong>margin-bottom: 0<\/strong>\nLa notaci\u00f3n de escape (car\u00e1cter de barra invertida) con el nombre de la propiedad, act\u00faa como un filtro para definir un valor diferente para IE6. IE6 \u201cve\u201d esta declaraci\u00f3n, mientras que IE5 la ignora. Si prefieres utilizar comentarios condicionales en lugar de los filtros anteriores, si\u00e9ntete libre de mover estas declaraciones a hojas de estilo espec\u00edficas para IE, o elementos <code>style<\/code> en la cabecera del documento.<\/pre>\n\n\n\n<p id=\"54a3\">Finalmente, el selector <code>.videoWrapper div<\/code> es el envoltorio extra que necesitamos para hacer funcionar las cosas en las versiones 5, 6 y 7 de Internet Explorer.<\/p>\n\n\n\n<p id=\"8f09\"><strong>Nota:<\/strong> Utilizamos <code>.videoWrapper div, .videWrapper embed,<\/code> y <code>.videoWrapper object {}<\/code> en vez de <code>.videoWrapper * {}<\/code> para prevenir darle estilo a contenido alternativo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"8646\">La Limpieza<\/h2>\n\n\n\n<p id=\"b27b\">Para lograr que esta soluci\u00f3n sea m\u00e1s vers\u00e1til, removemos las declaraciones <code>padding-top<\/code> de las reglas anteriores y las asociamos con clases. De esta manera, podemos f\u00e1cilmente darle estilo a videos con proporciones distintas y\/o <em>wrappers<\/em>. Mira el <a href=\"https:\/\/alistapart.com\/d\/creating-intrinsic-ratios-for-video\/example5.html\">ejemplo cinco<\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#containingBlock {<br>    width: 50%;<br>}.videoWrapper {<br>    position: relative;<br>    height: 0;<br>}* html .videoWrapper {<br>    margin-bottom: 45px;<br>    margin-bot\\tom: 0;<br>}.videoWrapper div,<br>.videoWrapper embed,<br>.videoWrapper object {<br>    position: absolute;<br>    width: 100%;<br>    height: 100%;<br>    left: 0;<br>    top: 0;<br>}.wideScreen {<br>    padding-bottom: 56.25%;<br>}.fourBYthree {<br>    padding-bottom: 75%;<br>}.chrome_25 {<br>    padding-top: 25px;<br>}.chrome_35 {<br>    padding-top: 35px;<br>}<\/code><\/pre>\n\n\n\n<p id=\"1030\">Ahora veamos las nuevas clases, comenzando con <code>.wideScreen<\/code>.<\/p>\n\n\n\n<pre id=\"ea31\" class=\"wp-block-preformatted\"><strong>.wideScreen<\/strong>\nUtilizamos esta clase para darle estilo a <code>div.videoWrapper<\/code> con una proporci\u00f3n 16:9.<\/pre>\n\n\n\n<pre id=\"216c\" class=\"wp-block-preformatted\"><strong>.fourBYthree<\/strong>\nUtilizamos esta clase para darle estilo a <code>div.videoWrapper<\/code> con una proporci\u00f3n 4:3.<\/pre>\n\n\n\n<pre id=\"65f0\" class=\"wp-block-preformatted\"><strong>.chrome_25<\/strong>\nEsta clase le da espacio al contenedor que tiene 25 p\u00edxeles de alto.<\/pre>\n\n\n\n<pre id=\"39a3\" class=\"wp-block-preformatted\"><strong>.chrome_35<\/strong>\nEsta clase le da espacio al contenedor que tiene 35 p\u00edxeles de alto.<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"7c4a\">El Problema con la Validaci\u00f3n<\/h2>\n\n\n\n<p id=\"7bf4\">Cuando se trata de videos, soportar est\u00e1ndares web no es cosa f\u00e1cil. Primero, la mayor\u00eda de los provedores no codifican et\u2019s (s\u00edmbolo &amp;). A\u00fan m\u00e1s com\u00fanmente, la mayor\u00eda depende del <em>m\u00e9todo <\/em><a href=\"http:\/\/www.alistapart.com\/articles\/flashembedcagematch\/\"><em>twice-cooked<\/em><\/a>(Utilizando el elemento no est\u00e1ndar <code>embed<\/code>).<\/p>\n\n\n\n<p id=\"289d\">Para lograr que nuestro <em>markup<\/em> est\u00e9 acorde al est\u00e1ndar, primero debemos reemplazar todos los et\u2019s en las URLs con \u201c<code>&amp;amp;<\/code>\u201d. Luego, debemos implementar un m\u00e9todo de <em>\u00fanico objecto<\/em>. A diferencia del m\u00e9todo de <a href=\"http:\/\/www.alistapart.com\/articles\/flashembedcagematch\/\">objetos anidados<\/a>, esta t\u00e9cnica proporciona con un \u00fanico objeto a los agentes de usuario, como el c\u00f3digo de ejemplo siguiente. Ve el <a href=\"https:\/\/alistapart.com\/d\/creating-intrinsic-ratios-for-video\/example6.html\">ejemplo seis<\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div id=\"containingBlock\"&gt;<br>  &lt;div class=\"videoWrapper\"&gt;<br>    &lt;div&gt;<br>      &lt;!--&#091;if IE]&gt;<br>      &lt;object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"480\" height=\"295\"&gt;<br>        &lt;param name=\"movie\" value=\"http:\/\/www.youtube.com\/v\/mDRYnaajUcY&amp;amp;hl=en&amp;amp;fs=1&amp;amp;showinfo=0\" \/&gt;<br>      &lt;!&#091;endif]--&gt;<br>      &lt;!--&#091;if !IE]&gt;--&gt;<br>      &lt;object type=\"application\/x-shockwave-flash\" data=\"http:\/\/www.youtube.com\/v\/mDRYnaajUcY&amp;amp;hl=en&amp;amp;fs=1&amp;amp;showinfo=0\" width=\"480\" height=\"295\"&gt;<br>      &lt;!--&lt;!&#091;endif]--&gt;<br>        &lt;param name=\"quality\" value=\"high\" \/&gt;<br>        &lt;param name=\"wmode\" value=\"opaque\" \/&gt;<br>        &lt;p&gt;&lt;a href=\"http:\/\/www.adobe.com\/go\/getflashplayer\"&gt;<br>        &lt;img alt=\"Get Adobe Flash player\" src=\"http:\/\/www.adobe.com\/images\/shared\/download_buttons\/get_flash_player.gif\"\/&gt;&lt;\/a&gt;&lt;\/p&gt;<br>      &lt;\/object&gt;<br>    &lt;\/div&gt;<br>  &lt;\/div&gt;<br>  ...<br>&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<p id=\"4261\">La <em>t\u00e9cnica de \u00fanico objeto<\/em> facilita la generaci\u00f3n de c\u00f3digo seg\u00fan se va \u201cretomando\u201d en un solo lugar el elemento <code>&lt;object&gt;<\/code> en vez de en dos lugares <code>&lt;object&gt;<\/code> y <code>&lt;\/object&gt;<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"a35f\">El Bonus<\/h2>\n\n\n\n<p id=\"7e64\">Puesto que tenemos un elemento posicionado absolutamente dentro de la caja, podemos esconder el contenido \u201cdetr\u00e1s\u201d del video. <strong>Nota:<\/strong> este contenido se encuentra <em>fuera<\/em> del objeto. No es \u201ccontenido alternativo\u201d por as\u00ed decirlo. Mira el <a href=\"https:\/\/alistapart.com\/d\/creating-intrinsic-ratios-for-video\/example7.html\">ejemplo siete<\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div id=\"containingBlock\"&gt;<br>  &lt;div class=\"videoWrapper\"&gt;<br>    &lt;div&gt;<br>      &lt;!--&#091;if IE]&gt;<br>      &lt;object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"480\" height=\"295\"&gt;<br>        &lt;param name=\"movie\" value=\"http:\/\/www.youtube.com\/v\/mDRYnaajUcY&amp;amp;hl=en&amp;amp;fs=1&amp;amp;showinfo=0\" \/&gt;<br>      &lt;!&#091;endif]--&gt;<br>      &lt;!--&#091;if !IE]&gt;--&gt;<br>      &lt;object type=\"application\/x-shockwave-flash\" data=\"http:\/\/www.youtube.com\/v\/mDRYnaajUcY&amp;amp;hl=en&amp;amp;fs=1&amp;amp;showinfo=0\" width=\"480\" height=\"295\"&gt;<br>      &lt;!--&lt;!&#091;endif]--&gt;<br>        &lt;param name=\"quality\" value=\"high\" \/&gt;<br>        &lt;param name=\"wmode\" value=\"opaque\" \/&gt;<br>        &lt;p&gt;&lt;a href=\"http:\/\/www.adobe.com\/go\/getflashplayer\"&gt; &lt;img alt=\"Get Adobe Flash player\" src=\"http:\/\/www.adobe.com\/images\/shared\/download_buttons\/get_flash_player.gif\"&gt;&lt;\/a&gt;&lt;\/p&gt;<br>      &lt;\/object&gt;<br>    &lt;\/div&gt;    &lt;p&gt;The following is the description of the video embeded in this <br>document.&lt;\/p&gt;<br>    &lt;p&gt;This short clip is about YouTube widescreen formatting. It <br>shows the two main formats (16:9, 4:3) and also explains the best way to create a Flash movie according to the new widescreen format.&lt;\/p&gt;<br>  &lt;\/div&gt;<br>  ...<br>&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"cfde\">El Enfoque del Script SWFObject<\/h2>\n\n\n\n<p id=\"1692\">Para automatizar este m\u00e9todo, podemos utilizar el <em>script<\/em> SWFObject para a\u00f1adir la clase <code>.videoWrapper<\/code> que necesitamos para dar estilo y tambi\u00e9n para conectar el <em>wrapper<\/em> que necesitamos para IE. Revisa el <a href=\"https:\/\/alistapart.com\/d\/creating-intrinsic-ratios-for-video\/example8.html\">ejemplo ocho<\/a>. (<strong>Nota:<\/strong> en este \u00faltimo ejemplo, la anchura del bloque contenedor est\u00e1 definida en <code>em<\/code>s).<\/p>\n\n\n\n<p id=\"2b39\">Para a\u00f1adir el c\u00f3digo que necesitamos, reemplazamos la siguiente l\u00ednea en SWFObject v1.5 (cerca de la l\u00ednea 117):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>n.innerHTML = this.getSWFHTML();<\/code><\/pre>\n\n\n\n<p id=\"dd01\">Con las siguientes l\u00edneas:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>n.className += \" videoWrapper\";<br>if (typeof document.documentElement.style.zoom != \"undefined\") {<br>  var wrapper4ie = document.createElement(\"div\");<br>  n.appendChild(wrapper4ie);<br>  wrapper4ie.innerHTML = this.getSWFHTML();<br>} else {<br>  n.innerHTML = this.getSWFHTML();<br>};<\/code><\/pre>\n\n\n\n<p id=\"8814\">Y eso es todo. Con un poco de CSS y tu nuevo <em>know-how<\/em>, tambi\u00e9n t\u00fa puedes redimensionar y escalar videos sobre la marcha. Ve lo que puedes hacer con el m\u00e9todo de proporci\u00f3n intr\u00ednseca y comparte tus resultados en los comentarios.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><em>*Traducci\u00f3n al espa\u00f1ol por<a href=\"https:\/\/twitter.com\/JPYamamoto9\" target=\"_blank\" rel=\"noreferrer noopener\"> Juan Pablo Yamamoto<\/a>.<\/em><\/h5>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfAlguna vez has querido cambiar el tama\u00f1o de un v\u00eddeo sobre la marcha, escal\u00e1ndolo como lo har\u00edas con una imagen? Con la ayuda de los ratios intr\u00ednsecos del v\u00eddeo y la magia de las propiedades de relleno, puedes hacerlo. Thierry Koblentz nos muestra c\u00f3mo hacerlo. <\/p>\n","protected":false},"author":601,"featured_media":167,"comment_status":"open","ping_status":"closed","template":"","categories":[24,52,20,25],"tags":[],"coauthors":[51],"class_list":["post-166","article","type-article","status-publish","has-post-thumbnail","hentry","category-css","category-diseno-adaptable","category-html","category-javascript"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/article\/166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/users\/601"}],"replies":[{"embeddable":true,"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/comments?post=166"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/media\/167"}],"wp:attachment":[{"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/media?parent=166"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/categories?post=166"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/tags?post=166"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/alistapart.com\/es\/wp-json\/wp\/v2\/coauthors?post=166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}