@wpbarcelona
Juny 2023
Desenvolupadora full-stack, especialitzada en WordPress. Amant del CSS i l’HTML semàntic, la UX i l'accessibilitat des de sempre. Darrerament trastejant amb React i nodeJS.
Construieixo webs amb WordPress des del 2000.
Co-organitzadora de la meetup WordPress Barcelona des de 2019.
Co-organitzadora de la WordCamp Barcelona 2023 i co-organitzadora de les WordCamp España Online de 2020 i 2021.
Tinc un gat ros que no em fa cas.
@nuriarai
https://www.linkedin.com/in/nuriaramoneda/
Parlo del que sé i opino del que crec, res del que dic s'ha de prendre al peu de la lletra.
Aquesta xerrada no té gifs animats
Tampoc té memes que facin riure
No se'm dona bé preparar xerrades divertides
Prepareu-vos per a molta txitxa sense bromes
NO SÓN "RESPONSIVE"
TENEN BAIX RENDIMENT
Text
El navegador carrega la imatge igualment
JPG
SVG amb fons
SVG sense fons
<img
width="800" height="477"
srcset="
images/exemple_picture/bcn_800_rectangular.webp,
images/exemple_picture/bcn_1400_rectangular.webp 2x,
images/exemple_picture/bcn_2400_rectangular.webp 3x,"
src="images/exemple_picture/bcn_800_rectangular.webp"
alt="Vista de Barcelona des del costat de la
roda del Tibidabo">
DPR: DensityPixelRatio
distingir width & height & intrinsic size
consola: window.devicePixelRatio
390 x 3 = 1170
Responsive CSS
img {
width: 100%;
height: auto;
}
/*optional*/
article img {
object-fit: cover;
}
<img
srcset="
images/muntanya_1_200.webp 200w,
images/muntanya_1_400.webp 400w,
images/muntanya_1_600.webp 600w,"
src="images/muntanya_1_600.webp"
width="600" height="400"
alt="Muntanya nevada">
Responsive HTML: srcset
agafa la imatge que sigui més propera
a la seva mida per sobre (més gran)
<img
srcset="
images/Planteta_1_225.webp 225w,
images/Planteta_1_280.webp 280w,
images/Planteta_1_350.webp 350w,
images/Planteta_1_459.webp 459w,
"
sizes="
(max-width: 280px) 225px,
(max-width: 350px) 350px,
(max-width: 499px) 459px,
(max-width: 899px) 225px, 280px
"
src="images/Planteta_1_459.webp"
width="459" height="574"
alt="Una llengua de gat ben bonica"
>
<picture class="picture">
<source
media="(max-width: 800px)"
width="800" height="477"
srcset="images/exemple_picture/bcn_800_rectangular.webp" />
<source
media="(min-width: 801px)"
width="466" height="475"
srcset="images/exemple_picture/bcn_800_quadrada.webp,
images/exemple_picture/bcn_1400_quadrada.webp 2x,
images/exemple_picture/bcn_2400_quadrada.webp 3x" />
<img src="images/exemple_picture/bcn_800_quadrada.webp"
width="600" height="300"
alt="Vista de Barcelona des del costat de la roda
del Tibidabo">
</picture>
<picture class="picture">
<source
srcset="images/exemple_formats/campanules_1200.avif,"
type="image/avif">
<source
srcset="images/exemple_formats/campanules_1200_.webp"
type="image/webp">
<img src="images/exemple_formats/campanules_1200.jpeg"
width="600" height="800"
alt="Campanules primavera"
loading="lazy"
>
</picture>
<img
srcset="
images/Planteta_1_225.webp 225w,
images/Planteta_1_280.webp 280w,
images/Planteta_1_350.webp 350w,
images/Planteta_1_459.webp 459w,
"
sizes="
(max-width: 280px) 225px,
(max-width: 350px) 350px,
(max-width: 499px) 459px,
(max-width: 899px) 225px, 280px
"
src="images/Planteta_1_459.webp"
width="459" height="574"
alt="Una llengua de gat ben bonica"
>
Imatges amb fons transparent:
Logos, icones, imatges gràfiques,
vectorials:
Imatges sense transparència:
Imatges animades:
Per defecte crea un srcset amb les mides que tinguin el mateix aspect-ratio i dos sizes:
NOMÉS PER A JPG, NO PER A WEBP!
add_action('intermediate_image_sizes_advanced',
'demo_disable_image_sizes');
function demo_disable_image_sizes($sizes)
{
// unset($sizes['medium_large']); // disable medium-large size
unset($sizes['1536x1536']); // disable 2x medium-large size
unset($sizes['2048x2048']); // disable 2x large size
return $sizes;
}
Deshabilitar mides que no vulgueu
add_action('after_setup_theme', 'demo_images_theme_setup');
function demo_images_theme_setup()
{
update_option('thumbnail_size_w', 225);
update_option('thumbnail_size_h', 281);
update_option('medium_size_w', 280);
update_option('medium_size_h', 350);
update_option('medium_large_size_w', 350);
update_option('medium_large_size_h', 433);
update_option('large_size_w', 459);
update_option('large_size_h', 574);
//to add crop to default sizes
update_option('thumbnail_crop', 1);
update_option('medium_crop', 1);
update_option('medium_large_crop', 1);
update_option('large_crop', 1);
}
Modificar mides standards
Mantenir l'aspect-ratio si volem que apareixi a srcset
add_action('after_setup_theme', 'demo_images_theme_setup');
function demo_images_theme_setup()
{
//add new image sizes
add_theme_support('post-thumbnails');
add_image_size('thumbnail-top', 400, 222, array('center', 'center'));
add_image_size('square-medium', 515, 515, array('center', 'center'));
add_image_size('square-large', 672, 672, array('center', 'center'));
add_image_size('square-xl', 900, 954, array('center', 'center'));
}
Afegir noves mides
Mantenir l'aspect-ratio si volem que apareixi a srcset (referència)
add_filter('wp_calculate_image_sizes', 'demo_change_image_sizes');
function demo_change_image_sizes($sizes)
{
return '(max-width: 280px) 225px,
(max-width: 350px) 350px,
(max-width: 499px) 459px,
(max-width: 899px) 225px,
280px';
}
Posar les mides que volem
Generals
WordPress
@wpbarcelona
Juny 2023