{"id":361,"date":"2014-04-22T09:24:59","date_gmt":"2014-04-22T07:24:59","guid":{"rendered":"http:\/\/www.atrioweb.com\/blog\/?p=361"},"modified":"2014-04-22T10:49:27","modified_gmt":"2014-04-22T08:49:27","slug":"picturefill-imagenes-responsive-con-picture-en-html5-hoy","status":"publish","type":"post","link":"https:\/\/www.atrioweb.com\/blog\/html5\/picturefill-imagenes-responsive-con-picture-en-html5-hoy","title":{"rendered":"Picturefill permite usar ya im\u00e1genes &#8216;responsive&#8217; con el elemento &#8216;picture&#8217;"},"content":{"rendered":"<p>Por fin se puede utilizar con tranquilidad el nuevo elemento de HTML5 &lt;picture&gt;, que permite un uso &#8216;responsivo&#8217; de im\u00e1genes, gracias a la librer\u00eda JS <a href=\"http:\/\/scottjehl.github.io\/picturefill\/\" target=\"_blank\">Picturefill<\/a>.<\/p>\n<p>Con &lt;picture&gt; se pueden se\u00f1alar varias fuentes http para una misma imagen (tama\u00f1os prque\u00f1os, mediano, grande&#8230;), que s\u00f3lo se  cargar\u00e1n y mostrar\u00e1n en el navegador en funci\u00f3n de la anchura de la  pantalla o de cualquier otro par\u00e1metro  filtrable v\u00eda &#8216;media query&#8217;.  Picturefill.js se encargar\u00e1 de hacer los &#8216;arreglillos&#8217; necesarios para  que el elemento picture funcione incluso en navegadores antiguos que no  lo soportan.<\/p>\n<p><a rel=\"attachment wp-att-364\" href=\"http:\/\/www.atrioweb.com\/blog\/html5\/picturefill-imagenes-responsive-con-picture-en-html5-hoy\/attachment\/fireshot-screen-capture-156-picturefill-scottjehl_github_io_picturefill\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-364\" src=\"http:\/\/www.atrioweb.com\/blog\/wp-content\/uploads\/2014\/04\/FireShot-Screen-Capture-156-Picturefill-scottjehl_github_io_picturefill-530x181.png\" alt=\"picturefill\" width=\"530\" height=\"181\" srcset=\"https:\/\/www.atrioweb.com\/blog\/wp-content\/uploads\/2014\/04\/FireShot-Screen-Capture-156-Picturefill-scottjehl_github_io_picturefill-530x181.png 530w, https:\/\/www.atrioweb.com\/blog\/wp-content\/uploads\/2014\/04\/FireShot-Screen-Capture-156-Picturefill-scottjehl_github_io_picturefill-300x102.png 300w, https:\/\/www.atrioweb.com\/blog\/wp-content\/uploads\/2014\/04\/FireShot-Screen-Capture-156-Picturefill-scottjehl_github_io_picturefill.png 709w\" sizes=\"auto, (max-width: 530px) 100vw, 530px\" \/><\/a><\/p>\n<p><!--more-->Ya puedes descargar Picturefill en <a href=\"http:\/\/scottjehl.github.io\/picturefill\/\" target=\"_blank\">http:\/\/scottjehl.github.io\/picturefill\/<\/a><\/p>\n<p>Su uso es extremadamente sencillo. S\u00f3lo hay que cargar la librer\u00eda  (cuyo peso es m\u00edn\u00fasculo en versi\u00f3n minimizada, s\u00f3lo 6kb) en el &lt;head&gt; y utilizar el elemento picture con normalidad, por ejemplo:<\/p>\n<pre class=\"xhtml\">&lt;picture&gt;\r\n\t&lt;source srcset=\"img\/extragrande.jpg\" media=\"(min-width: 1024px)\"&gt;\r\n\t&lt;source srcset=\"img\/grande.jpg\" media=\"(min-width: 728px)\"&gt;\r\n\t&lt;source srcset=\"img\/mediana.jpg\"&gt;\r\n\t&lt;img srcset=\"examples\/images\/mediana.jpg\" alt=\"Imagen de ejemplo\"&gt;\r\n&lt;\/picture&gt;<\/pre>\n<p>En el elemento &lt;picture&gt; se definen tres fuentes distintas a trav\u00e9s del subelemento &lt;source&gt;, y un subelemento &lt;img&gt; para los navegadores que no soportan &lt;picture&gt; ni &lt;source&gt;. En cada &lt;source&gt; hay dos par\u00e1metros, srcset, en el que se define la fuente http de la imagen, y media, en el cual se establece un filtro &#8216;media query&#8217;.<\/p>\n<p>En el ejemplo anterior, s\u00f3lo se cargar\u00e1 y mostrar\u00e1 la imagen extragrande.jpg en pantallas con un ancho m\u00ednimo de 1024, grande.jpg en pantallas con un ancho m\u00ednimo de 728px, y mediana.jpg en los dem\u00e1s casos.<\/p>\n<p>Seg\u00fan se explica en la p\u00e1gina de los autores del proyecto, es necesario utilizar un peque\u00f1o &#8216;truco&#8217; para que el sistema funcione en IE9:<\/p>\n<pre class=\"xhtml\">&lt;picture&gt;\r\n    &lt;!--[if IE 9]&gt;&lt;video style=\"display: none;\"&gt;&lt;![endif]--&gt;\r\n    &lt;source srcset=\"img\/extragrande.jpg\" media=\"(min-width: 1024px)\"&gt;\r\n    &lt;source srcset=\"img\/grande.jpg\" media=\"(min-width: 728px)\"&gt;\r\n    &lt;source srcset=\"img\/mediana.jpg\"&gt;\r\n    &lt;!--[if IE 9]&gt;&lt;\/video&gt;&lt;![endif]--&gt;\r\n    &lt;img srcset=\"examples\/images\/mediana.jpg\" alt=\"Imagen de ejemplo\"&gt;\r\n&lt;\/picture&gt;<\/pre>\n<p>Se trata de incrustar en el HTML un elemento &lt;video&gt; no visible, que a trav\u00e9s del filtro condicional de IE (<code>[if IE 9]<\/code>) sea reconocible s\u00f3lo por el navegador de Microsoft en su versi\u00f3n 9.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Por fin se puede utilizar con tranquilidad el nuevo elemento de HTML5 &lt;picture&gt;, que permite un uso &#8216;responsivo&#8217; de im\u00e1genes, gracias a la librer\u00eda JS Picturefill. Con &lt;picture&gt; se pueden se\u00f1alar varias fuentes http para una misma imagen (tama\u00f1os prque\u00f1os, &hellip; <a href=\"https:\/\/www.atrioweb.com\/blog\/html5\/picturefill-imagenes-responsive-con-picture-en-html5-hoy\">Sigue leyendo <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,14],"tags":[],"class_list":["post-361","post","type-post","status-publish","format-standard","hentry","category-html5","category-js"],"_links":{"self":[{"href":"https:\/\/www.atrioweb.com\/blog\/wp-json\/wp\/v2\/posts\/361","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.atrioweb.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.atrioweb.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.atrioweb.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.atrioweb.com\/blog\/wp-json\/wp\/v2\/comments?post=361"}],"version-history":[{"count":22,"href":"https:\/\/www.atrioweb.com\/blog\/wp-json\/wp\/v2\/posts\/361\/revisions"}],"predecessor-version":[{"id":363,"href":"https:\/\/www.atrioweb.com\/blog\/wp-json\/wp\/v2\/posts\/361\/revisions\/363"}],"wp:attachment":[{"href":"https:\/\/www.atrioweb.com\/blog\/wp-json\/wp\/v2\/media?parent=361"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.atrioweb.com\/blog\/wp-json\/wp\/v2\/categories?post=361"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.atrioweb.com\/blog\/wp-json\/wp\/v2\/tags?post=361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}