/** * File responsive-embeds.js. * * Make embeds responsive so they don't overflow their container. */ /** * Add max-width & max-height to <iframe> elements, depending on their width & height props. * * @since Twenty Twenty-One 1.0 * * @return {void} */ function twentytwentyoneResponsiveEmbeds() { var proportion, parentWidth; // Loop iframe elements. document.querySelectorAll( 'iframe' ).forEach( function( iframe ) { // Only continue if the iframe has a width & height defined. if ( iframe.width && iframe.height ) { // Calculate the proportion/ratio based on the width & height. proportion = parseFloat( iframe.width ) / parseFloat( iframe.height ); // Get the parent element's width. parentWidth = parseFloat( window.getComputedStyle( iframe.parentElement, null ).width.replace( 'px', '' ) ); // Set the max-width & height. iframe.style.maxWidth = '100%'; iframe.style.maxHeight = Math.round( parentWidth / proportion ).toString() + 'px'; } } ); } // Run on initial load. twentytwentyoneResponsiveEmbeds(); // Run on resize. window.onresize = twentytwentyoneResponsiveEmbeds;
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
customize-helpers.js | File | 1.07 KB | 0644 |
|
customize-preview.js | File | 2.47 KB | 0644 |
|
customize.js | File | 1 KB | 0644 |
|
dark-mode-toggler.js | File | 2.19 KB | 0644 |
|
editor-dark-mode-support.js | File | 1.21 KB | 0644 |
|
editor.js | File | 921 B | 0644 |
|
palette-colorpicker.js | File | 1.56 KB | 0644 |
|
polyfills.js | File | 1.1 KB | 0644 |
|
primary-navigation.js | File | 5.9 KB | 0644 |
|
responsive-embeds.js | File | 1.1 KB | 0644 |
|
skip-link-focus-fix.js | File | 832 B | 0644 |
|