transform: skewY(20deg)
вполне справляется с этой задачей + поддержка браузерами есть + адаптивность решается % величинами<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
const http = require('http');
const fs = require('fs');
http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'video/mp4'});
var rs = fs.createReadStream('video.mp4');
rs.pipe(res);
}).listen(8080);
<div id="bg" class="" style="width: 100%; height: 7926.44px;">
<canvas id="mainBgC" width="1120" height="806" style="width: 1120px; height: 806px;"></canvas>
<canvas id="shinesBgC" width="1120" height="806" style="width: 1120px; height: 806px;"></canvas>
<canvas id="animationC" width="1120" height="806" style="width: 1120px; height: 806px;"></canvas>
</div>
const loader = PIXI.loader;
loader
.add('first', '1.jpg')
.add('second', '2.jpg');
loader.load((loader, resources) => {
let scene = new PIXI.Container();
let bg = new PIXI.Sprite(resources.first.texture);
bg.anchor.x = 0.5;
bg.anchor.y = 0.5;
bg.position.x = renderer.width / 2;
bg.position.y = renderer.height / 2;
scene.addChild(bg);
renderer.render(scene);
}
@font-face {
font-family: 'fira_sans';
src: url('firasansbold.eot');
src: url('firasansbold.eot?#iefix') format('embedded-opentype'),
url('firasansbold.woff2') format('woff2'),
url('firasansbold.woff') format('woff'),
url('firasansbold.ttf') format('truetype'),
url('firasansbold.svg#fira_sansbold') format('svg');
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: 'fira_sans';
src: url('firasansregular.eot');
src: url('firasansregular.eot?#iefix') format('embedded-opentype'),
url('firasansregular.woff2') format('woff2'),
url('firasansregular.woff') format('woff'),
url('firasansregular.ttf') format('truetype'),
url('firasansregular.svg#fira_sansregular') format('svg');
font-weight: 400;
font-style: normal;
}
*{
font-family: "fira_sans";
}
.bold{
font-weight: 700
}
.normal{
font-weight: 400
}
const popup = document.querySelectorAll('.popup');
let counter = 0;
setInterval(function() {
popup[counter].classList.remove('show');
counter++;
counter === popup.length ? counter = 0 : console.log('¯\\_(ツ)_/¯')
popup[counter].classList.add('show');
}, 1000)
демонстрация мокапов, очень много изображений которые очень высокого разрешения для ретины
$( "#el" ).on( "swipeleft", fn );
$( "#el" ).on( "swiperight", fn );
$( "#cart" ).on( "mouseenter mouseleave", function( event ) {
$( this ).toggleClass( "active" );
});