Если посмотреть на миниатюру заметки, можно увидеть какой-то видео-ролик, который можно стартовать, нажав на «play». Это довольно частый элемент на сайтах, где размещаются видео-материалы. Сделать его можно, использовав картинку png с прозрачным фоном. Ну и наложить её на фото из ролика — а ля «preview».
Попробуем сделать это так и сделать без картинки play.
Сделаем превью для видео, используя кадр + картинку «play»:
<div class="video"> <img class="video__img" src="/media/uploads/2017/08/28/moinerobot2217-1920x1080.jpg"> <img class="video__play-icon" src="/media/uploads/2017/08/30/play.png"> </div> <style> .video { /* чтобы можно было внутри всё разместить через absolute */ position: relative; width: 825px; height: 510px; } .video__img { position: absolute; top: 0; left: 0; } .video__play-icon { position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; } </style>
Выглядеть это будет примерно так:
Второй вариант интереснее — мы не будем использовать картинку значка play, а нарисуем его через CSS:
<div class="video"> <img class="video__img" src="/media/uploads/2017/08/28/moinerobot2217-1920x1080.jpg"> <div class="video__play-icon"> <div class="video__play-triangle"></div> </div> </div> <style> .video { /* чтобы можно было внутри всё разместить через absolute */ position: relative; width: 825px; height: 510px; } .video__img { position: absolute; top: 0; left: 0; } .video__play-icon { height: 44px; width: 44px; padding: 32px; border-radius: 50%; border: 3px solid #fff; background: rgba(0, 0, 0, 0.8); position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; } .video__play-triangle { width: 0; height: 0; margin-left: 8px; border-style: solid; border-width: 22px 0 22px 37px; border-color: transparent transparent transparent #ffffff; } </style>
Вся «магия» происходит в правилах border
для класса .video__play-triangle
.
Само свойство border
не подразумевает создание треугольника, но если задать нулевую ширину и высоту элемента, а также установить толстую границу, то мы увидим набор из четырёх треугольников:
<div style=" width: 0; height: 0; border: 100px solid transparent; border-color: #c0c #cc0 #000 #0cc; "> </div>
В свойстве border-color
цвета бордюров указываются по кругу, по часовой стрелке: сверху, справа, снизу, слева.
Соответственно, чтобы оставить только треугольник, нужно 3 стороны покрасить «прозрачным», а четвёртую обычным цветом:
<div style=" width: 0; height: 0; border: 100px solid transparent; border-color: transparent transparent transparent #0cc; "> </div>
В свойстве border-width задаётся ширина границ также по кругу, по часовой стрелке. За счёт этого можно «вытянуть» треугольник:
<div style=" width: 0; height: 0; border: solid; border-color: transparent transparent transparent #0cc; border-width: 100px 100px 100px 170px; "> </div>
На этом всё, добро пожаловать в треугльнико-строение!