Merge pull request #1333 from crazyserver/MOBILE-2408

MOBILE-2408 formattext: Add video responsive classes
main
Juan Leyva 2018-06-11 16:53:31 +02:00 committed by GitHub
commit 59ff1a588b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 68 additions and 0 deletions

View File

@ -681,3 +681,61 @@ canvas[core-chart] {
.ion-page { .ion-page {
background-color: $background-color; background-color: $background-color;
} }
// Embed video responsive classes.
// Taken from https://github.com/twbs/bootstrap/blob/v4-dev/scss/utilities/_embed.scss
.embed-responsive {
position: relative;
display: block;
width: 100%;
padding: 0;
overflow: hidden;
&::before {
display: block;
content: "";
}
.embed-responsive-item,
iframe,
embed,
object,
video {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
iframe iframe {
width: 100%;
height: 100%;
}
}
.embed-responsive-21by9 {
&::before {
padding-top: percentage(9 / 21);
}
}
.embed-responsive-16by9 {
&::before {
padding-top: percentage(9 / 16);
}
}
.embed-responsive-4by3 {
&::before {
padding-top: percentage(3 / 4);
}
}
.embed-responsive-1by1 {
&::before {
padding-top: percentage(1 / 1);
}
}

View File

@ -470,6 +470,16 @@ export class CoreFormatTextDirective implements OnChanges {
if (!iframe.height) { if (!iframe.height) {
iframe.height = height; iframe.height = height;
} }
// Do the iframe responsive.
if (iframe.parentElement.classList.contains('embed-responsive')) {
iframe.addEventListener('load', () => {
const css = document.createElement('style');
css.setAttribute('type', 'text/css');
css.innerHTML = 'iframe {width: 100%;height: 100%;}';
iframe.contentDocument.head.appendChild(css);
});
}
} }
} }
} }