В этой статье блога мы углубимся в различные методы включения воспроизведения видео при наведении курсора мыши на картах Bootstrap 4. Мы предоставим примеры кода и пояснения для каждого метода, используя простой и разговорный язык. Итак, начнём!
Метод 1: использование CSS-переходов и фоновых изображений
Один из подходов к воспроизведению видео при наведении — использование CSS-переходов и фоновых изображений. Вот как это можно сделать:
HTML:
<div class="card">
<div class="card-img-top">
<div class="video-overlay">
<video src="path/to/video.mp4" muted></video>
</div>
</div>
<div class="card-body">
<h5 class="card-title">Card Title</h5>
<p class="card-text">Card description</p>
</div>
</div>
CSS:
.card-img-top {
position: relative;
overflow: hidden;
}
.video-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 0.3s;
background-size: cover;
}
.card-img-top:hover .video-overlay {
opacity: 1;
}
.video-overlay video {
width: 100%;
height: 100%;
object-fit: cover;
}
Метод 2: использование JavaScript и API видео HTML5.
Другой метод предполагает использование JavaScript и API видео HTML5 для управления воспроизведением видео при наведении курсора мыши. Вот пример:
HTML:
<div class="card">
<div class="card-img-top">
<video src="path/to/video.mp4" muted></video>
</div>
<div class="card-body">
<h5 class="card-title">Card Title</h5>
<p class="card-text">Card description</p>
</div>
</div>
JavaScript:
var videos = document.querySelectorAll('.card-img-top video');
videos.forEach(function(video) {
video.addEventListener('mouseover', function() {
this.play();
});
video.addEventListener('mouseout', function() {
this.pause();
this.currentTime = 0;
});
});
Метод 3: использование наложения видео с помощью CSS и jQuery
Для этого метода мы можем использовать CSS и jQuery для создания наложения видео, которое запускает воспроизведение видео при наведении курсора мыши. Вот код:
HTML:
<div class="card">
<div class="card-img-top">
<div class="video-overlay"></div>
<video src="path/to/video.mp4" muted></video>
</div>
<div class="card-body">
<h5 class="card-title">Card Title</h5>
<p class="card-text">Card description</p>
</div>
</div>
CSS:
.card-img-top {
position: relative;
}
.video-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: none;
}
.card:hover .video-overlay {
display: block;
}
.video-overlay:hover + video,
.video-overlay:hover ~ video {
display: none;
}
jQuery:
$(document).ready(function() {
$('.card').hover(function() {
$(this).find('video').get(0).play();
}, function() {
$(this).find('video').get(0).pause();
$(this).find('video').get(0).currentTime = 0;
});
});
В этой статье мы рассмотрели три различных метода воспроизведения видео при наведении курсора мыши на картах Bootstrap 4. Вы можете выбрать метод, который соответствует требованиям вашего проекта, и реализовать его соответствующим образом. Независимо от того, предпочитаете ли вы переходы CSS, JavaScript с HTML5 Video API или комбинацию CSS и jQuery, эти методы обеспечивают гибкость и интерактивность, повышая удобство использования вашего веб-сайта.