@dvlden/vidage
v1.0.1
Published
Set video as the background of your website. Fallbacks to the image, when required.
Downloads
3
Readme
Vidage
This JS module will treat video as a background. It will determine when to hide/show & pause/play the video. Touch devices and/or smaller devices with width of 34em will display image provided as fallback.
Installation (pick one)
npm i @dvlden/vidage
pnpm i @dvlden/vidage
yarn add @dvlden/vidage
CDN (pick one)
Usage
Preferred way...
Add base structure and replace video source paths
<div class="vidage">
<video id="vidage" class="vidage-video" preload="metadata" loop autoplay muted>
<source src="videos/bg.webm" type="video/webm">
<source src="videos/bg.mp4" type="video/mp4">
</video>
</div>
Setup and import required styles
// set the fallback-cover image
$vdg-fallback-image: url('../images/fallback.jpg');
// import package
@import '~vidage/src/styles/vidage';
Import the JS module and create new instance
import Vidage from 'vidage'
new Vidage('#vidage')
Old fashioned way...
Below you will find complete
html
example...
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Document</title>
<link rel="stylesheet" href="dist/vidage.css">
<style>
/* Override the cover image. Set the path to the actual image... */
.vidage::before {
background-image: url('images/fallback.jpg');
}
</style>
</head>
<body>
<div class="vidage">
<video id="vidage" class="vidage-video" preload="metadata" loop autoplay muted>
<source src="videos/bg.webm" type="video/webm">
<source src="videos/bg.mp4" type="video/mp4">
</video>
</div>
<!-- START: Rest of your site content -->
...
<!-- END: Rest of your site content -->
<script src="dist/vidage.js"></script>
<script>
new Vidage('#vidage')
</script>
</body>
</html>
JS Arguments
Instance of Vidage accepts two arguments. First argument is the actual selector of the video, that instance will control. Second argument is the actual object for the options.
| Argument | Required Type |
| ---------- | ------------- |
| selector
| string/node
|
| options
| object
|
| Key | Default Value | Required Type |
| -------------- | -------------- | ------------- |
| helperClass
| vidage-ready
| string
|
| videoRemoval
| false
| bool
|
SCSS Variables
| Variable | Default Value |
| --------------------- | ---------------------------- |
| $vdg-fallback-image
| url('../images/cover.jpg')
|
Browser Support
Yet to be determined. All modern browsers should be alright.