So che questo è vecchio, tuttavia molte soluzioni che vedo sopra hanno un problema con l'immagine / il video troppo grandi per il contenitore, quindi in realtà non si comportano come una copertina di dimensioni di sfondo. Tuttavia, ho deciso di creare "classi di utilità" in modo che funzionasse per immagini e video. È sufficiente assegnare al contenitore la classe .media-cover-wrapper e l'elemento multimediale stesso la classe .media-cover
Quindi hai il seguente jQuery:
function adjustDimensions(item, minW, minH, maxW, maxH) {
item.css({
minWidth: minW,
minHeight: minH,
maxWidth: maxW,
maxHeight: maxH
});
} // end function adjustDimensions
function mediaCoverBounds() {
var mediaCover = $('.media-cover');
mediaCover.each(function() {
adjustDimensions($(this), '', '', '', '');
var mediaWrapper = $(this).parent();
var mediaWrapperWidth = mediaWrapper.width();
var mediaWrapperHeight = mediaWrapper.height();
var mediaCoverWidth = $(this).width();
var mediaCoverHeight = $(this).height();
var maxCoverWidth;
var maxCoverHeight;
if (mediaCoverWidth > mediaWrapperWidth && mediaCoverHeight > mediaWrapperHeight) {
if (mediaWrapperHeight/mediaWrapperWidth > mediaCoverHeight/mediaCoverWidth) {
maxCoverWidth = '';
maxCoverHeight = '100%';
} else {
maxCoverWidth = '100%';
maxCoverHeight = '';
} // end if
adjustDimensions($(this), '', '', maxCoverWidth, maxCoverHeight);
} else {
adjustDimensions($(this), '100%', '100%', '', '');
} // end if
}); // end mediaCover.each
} // end function mediaCoverBounds
Quando lo chiami assicurati di occuparti del ridimensionamento della pagina:
mediaCoverBounds();
$(window).on('resize', function(){
mediaCoverBounds();
});
Quindi il seguente CSS:
.media-cover-wrapper {
position: relative;
overflow: hidden;
}
.media-cover-wrapper .media-cover {
position: absolute;
z-index: -1;
top: 50%;
left: 50%;
-ms-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
Sì, potrebbe richiedere jQuery ma risponde abbastanza bene e si comporta esattamente come lo sfondo: copertina e puoi usarlo su immagini e / o video per ottenere quel valore SEO aggiuntivo.