jQuery: rendere le immagini di Flexslider perfettamente responsive

Il plugin Flexslider è perfettamente responsive ma ha un difetto: le immagini delle slide non scalano in modo proporzionale quando viene ridimensionata la finestra del browser. Vediamo come ovviare a questo problema.

Trasformeremo le immagini presenti nel DOM in immagini di sfondo delle slide ed useremo la proprietà CSS background-size per il ridimensionamento proporzionale. Per prima cosa definiamo questi stili nel nostro file CSS:


.flexslider .slides li {
	background-size: cover;
	background-repeat: no-repeat;
}

Quindi operiamo sulle slide con jQuery:


$( "li", ".slides" ).each(function() {
	var $slide = $( this ),
		$img = $slide.find( "img" ),
		src = $img.attr( "src" );
		
		$slide.css( "backgroundImage", "url(" + src + ")" );
		$img.remove();	
});

Le immagini originali non sono più necessarie quindi possono essere rimosse.

Torna su