全屏背景视频和混合模式文本的实现

本文转载自:众成翻译
译者:chajn
链接:http://www.zcfy.cc/article/1275
原文:http://thenewcode.com/1136/Fullscreen-Background-Video-with-mix-blend-mode-Overlay-Text?utm_source=CSS-Weekly&utm_campaign=Issue-230&utm_medium=email

我之前谈过网页的全屏背景视频的案例,我还说过如何使用mix-blend-mode属性来创建混合模式的文本,但我从没把两者结合起来,本文由此诞生。

最近时尚网站Everlane展示了这种结合,它触发了我写这篇文章的灵感。首先这里面的代码比起之前的全屏视频要明显简单的多,其次我们假定浏览者使用的也是更新的浏览器(MS Edge还不支持mix-blend-mode),所以视频背景只能在IE10以上版本中可运行。

HTML代码

我们从 video 开始,加上playsinline属性,来按序播放(在iOS10系统中允许页内重放),再加上mute属性 ,以让视频静音。

全屏视频 -> 自动播放的循环视频 -> 不出声。

<video poster="fashion.jpg" playsinline autoplay muted loop><source src="fashion.webm" type="video/webm"><source src="fashion.mp4" type="video/mp4">
</video>

在关联的Codepen中,我加了一个header节点并fixed定位到页面顶端:

<header><h1>ZIGGY</h1><nav><a href="#">Men</a><a href="#">Women</a><a href="#">Stores</a><a href="#">Contact</a></nav>
</header>

我在导航项下加入了一些内容,这个文本需要短一些(最好只包含几个词),因为事实证明较长的文本进行混合模式的时候体验很不好:

<div id="fashion"><h2>There’s a brand new dance but I don’t know its name…</h2>
</div>

CSS代码

video节点要设置绝对定位,根据 object-fit 所述,以设置宽度和高度百分百来覆盖全屏:

video { position: absolute;top: 0;left: 0;width: 100%;height: 100%;object-fit: cover;object-position: center;
}

注意:视频本身并没有用fixed进行定位,以上代码完美适用于内容集中的情况,你怎么移动它都不会超过浏览器窗口的范围。

将body的 margin0

body {margin: 0;background: #000;
}

hover时切换标题元素的颜色和背景:

header {position: fixed;width: 100%;text-align: center;color: white;transition: .4s;
}
header:hover {background: rgba(255,255,255,0.8);color: #000;
}

用flexbox可以将div里的文本始终保持居中,并且会根据窗口大小缩放:

div#fashion {min-height: 100vh;display: flex;align-items: center;justify-content: center;
}

中间的文本使用mix-blend-mode: overlay,用difference也可以。

h2 { font-family: Century Schoolbook, Georgia, serif;margin: 2rem 3rem 0;mix-blend-mode: overlay;color: #fff;}

在关联的CodePen实例中我设定font-sizevmin,因为它能和对应的设计完美匹配;我会在下一篇文章中详细探讨vmin和vmax。


全屏背景视频和混合模式文本的实现相关推荐

  1. html全屏背景视频特效,HTML5全屏背景视频特效插件Vidage.js源码

    下面我们对HTML5全屏背景视频特效插件Vidage.js源码文件阐述相关使用资料和HTML5全屏背景视频特效插件Vidage.js源码文件的更新信息. HTML5全屏背景视频特效插件Vidage.j ...

  2. html全屏背景视频特效,HTML – 中心全屏背景视频

    我最近玩过html5并且遇到了使用的想法 使用以下HTML代码作为网站背景的全屏视频: 另外,我使用以下css代码来正确对齐它: #video_background{ position: absolu ...

  3. html背景视频铺满网页,HTML – 中心全屏背景视频

    这是一个JQuery函数,我写了很长一段时间才使视频成为全屏背景.基本上,如果窗口的纵横比高于视频的纵横比,则使高度100%和宽度自动,反之亦然,以获得更宽的纵横比窗口. // Resize the ...

  4. 网页插入全屏背景视频

    目录 使用场景 video标签 细节 全屏样式 预览图 Safari不自动播放 注意 使用场景 在做酷炫页面的时候,经常需要加一个背景视频,就是在背景上默默播放的视频. video标签 与一般vide ...

  5. 全屏css,CSS之全屏背景图

    吐槽啦:Yeah  明天就是国庆了o(* ̄▽ ̄*)o!哈哈,提前祝福各位园友国庆快乐.假期愉快.生活美满.天天开心!国庆我要回家一趟,把一些不用的东西带回家,走访一下亲朋好友,在家打几天酱油~~~ 言 ...

  6. 全屏背景:15个jQuery插件实现全屏背景图像或媒体

    动态网站通常利用背景图像或预加载屏幕,以保证所有资源都加载到页面上,在浏览器中充分呈现.现在很多网站都炫耀自己的图像作为背景图像全屏背景,追溯到旧的Flash网站却用自己的方式在HTML资源重布局. ...

  7. wordpress 背景_如何在WordPress中添加全屏背景图片

    wordpress 背景 Full screen background image seems to be a new design trend that is becoming fashionabl ...

  8. vue 视频播放插件vue-video-player自定义样式、自动播放设置、设置一开始全屏播放视频

    1.背景 项目中有涉及视频播放的需求,并且UI设计了样式,与原生的视频video组件有差异,所以使用了vue-video-player插件,并对vue-video-player进行样式改造,自定义播放 ...

  9. 【UGUI】 全屏背景图片等比例拉伸自适应

    效果如下: 首先感叹一下,UGUI的自适应做的还是非常不错的,RectTransform中提供了非常多种的自适应方式.对做界面来说还是很友好的. 如果界面上需要有个全屏的背景图(UI界面一般都是有的吧 ...

最新文章

  1. 基于Pytorch再次解读NiN现代卷积神经网络和批量归一化
  2. 将keras的h5模型转化为onnx
  3. 喜提 Go Contributor
  4. SAP Cloud for Customer和SAP S4HANA的Customer - Business partner
  5. PXE装机+kickstart无人值守安装
  6. 基于vue2+nuxt构建的高仿饿了么(2018版)
  7. mysqlbinlog 查看binlog时报错unknown variable 'default-character-set=utf8'
  8. 使用h5py操作hdf5文件
  9. java websocket注解_【websocket】spring boot 集成 websocket 的四种方式
  10. 改进我个人知识管理手段
  11. 能做多大的单片机项目程序开发,就代表了你的敲代码的水平
  12. 计算机方向关键字,从计算机的角度理解volatile关键字
  13. DBeaver数据库可视化工具
  14. 橡胶支座抗压弹性模量计算公式_板式橡胶支座抗压弹性模量检测方法的试验研究...
  15. H5大番薯(源码+数据库脚本)
  16. factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class ..
  17. 【网络攻防课实验】一:本地系统密码破解
  18. Android网络图片加载三级缓存
  19. 【有料c++题目周刊 | 第四期】贝克街神探
  20. 手把手教会你如何玩转SpringMVC

热门文章

  1. 【漏洞复现】CVE-2020-0796永恒之黑漏洞复现
  2. LATEX强制放置表格图片在固定的位置
  3. Java、JSP实验室预约管理系统
  4. Java项目:ssh实验室预约管理系统
  5. 《增强现实:原理、算法与应用》读书笔记(5)运动恢复结构(上)初始化、相机位姿估计、集束调整
  6. XEN的启动信息输出到“Platform timer is 14.318MHz HPET”就暂停接收的解决办法
  7. contest17 CF593 div2 ooxxx ooxxx ooooo
  8. 高数下|级数6|手写笔记(幂级数求和)
  9. PLC PLSY 指令
  10. [BZOJ1513]Tet-Tetris 3D