UNPKG

@exadel/esl

Version:

Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components

84 lines (72 loc) 1.71 kB
// ESL Media core definition mixin .esl-media-init(@tagName: esl-media) { @{tagName} { display: block; .esl-media-inner { display: block; width: 100%; } .esl-media-inner:not(audio) { height: 100%; } iframe.esl-media-inner { border: 0; } &.esl-media-bg { position: relative; .esl-media-inner { z-index: -1; pointer-events: none; } &::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; } } &[fill-mode='cover'], &[fill-mode='inscribe'] { position: relative; overflow: hidden; height: 100%; .esl-media-inner { position: absolute; top: var(--esl-media-y-offset, 50%); left: var(--esl-media-x-offset, 50%); transform: translate( calc(var(--esl-media-x-offset, 50%) * -1), calc(var(--esl-media-y-offset, 50%) * -1) ); // Safari & FF are not recognize video size otherwise min-width: 1px; min-height: 1px; } } &:not([wide])[fill-mode='cover'] .esl-media-inner, &[wide][fill-mode='inscribe'] .esl-media-inner { width: auto; height: 100%; } &:not([wide])[fill-mode='inscribe'] .esl-media-inner, &[wide][fill-mode='cover'] .esl-media-inner { width: 100%; height: auto; } // Alignments &.esl-media-top { --esl-media-y-offset: 0%; } &.esl-media-bottom { --esl-media-y-offset: 100%; } &.esl-media-left { --esl-media-x-offset: 0%; } &.esl-media-right { --esl-media-x-offset: 100%; } } }