Andrea Verlicchi's Blog
Hello! I'm Andrea and I wrote...
On April 6th 2019, Addy Osmany wrote about native image lazy-loading. Two days later Yvain, a front-end developer from Paris, asked me if my vanilla-lazyload could be a loading attribute polyfill, inspiring me to develop and release version 12 of the script, which features a new
use_native option to enable native lazy-loading where supported. You can already use it today.
Today I updated my iPhone to iOS 12.2 beta 4 which features the new version of Safari (also 12.2) with support to the IntersectionObserver API. I wanted to see it clearly so I’ve created a web page that detects and reveals to you if it’s supported.Read more →
How to make a potentially wide table fit on small devices, without losing readability and accessibility? Here are simple solutions to make tables look like lists, lists look like tables, in responsive and accessible design.Read more →
I just returned from Barcellona where I attended the Full Stack Fest Conference, which was I think the best one I’ve ever attended in the latest years.Read more →
What would you do if somebody asked you to load a DOM element only if it stays inside the viewport for a given time? You would use vanilla-lazyload, wouldn’t you? 😉 This is exactly what the GitHub community asked for as new feature in LazyLoad, to avoid loading elements which users skipped by scrolling fast beyond them. In this post, I’d like to share the solution with you.Read more →
In August 2017 a new exciting browser API finally gained quite a wide support: the Intersection Observer, which we can use to know when two DOM elements intersect, or when a given DOM element enters the browser viewport. Lazy loading of images is just the case.Read more →
Here I show you how you can CSS variables, popular name of CSS custom properties, to scale your layout spaces across different media queries.Read more →
If you had to change the color of some fixed-positioned text based on the lightness of its scrolling background, how would you do that? CSS filters, blend modes? But what if you had to support all browsers, including Internet Explorer? Here are a couple of ways to do that using CSS
I’m currently in Warsaw, Poland, attending the 2017 edition of the Front-Trends conference. You can find my personal notes on Github.Read more →
It’s official. Responsive images are a W3C recommendation since November 2016, featuring the brand new
picture tag and new attributes for the
e On March 17th 2017 I spoke about responsive images, an HTML 5.1 standard at the CSS Day 2017 Conference in Faenza, Italy. The speech was on web performance, since using responsive images is a way to serve lighter images to smaller screens (and viceversa) and images optimization. I also took a sneak peek on how to generate the right size for your images in the cloud using a software as a service.Read more →
On October 6th 2016 I spoke about 5 tips to code accessible e-commerce websites at the Fronteers Conference 2016 Jam Session in Amsterdam. Here are my slides. Video coming soon. Maybe also a blog post :)Read more →
Say you have a responsive website layout where images are sized at 100% of the container, but the container is not always as wide as the viewport. Do we need to use the
picture tag, or the
img tag is enough? The
img tag can do it, using its
srcset attributes. Here’s how.
On Tuesday, 22nd September 2015 the first YOOXlabs tech event took place in Bologna, Italy and I spoke about agile CSS development using SASS and Compass.Read more →
Spriting is a way to improve performance in your website by putting many images (or icons) in a single larger image, in order to make a single HTTP request instead of many. Here’s how you can do sprites using Compass.Read more →
In the latest days I’ve been working on websites performance optimization and I realized that there is no way to take advantage of the progressive JPEG image format on websites if you’re using jQuery_lazyload. So after sending a pull request to its author, I decided to write my own lazy load, which turned out to be better, because:Read more →