全屏背景视频和混合模式文本的实现
全屏背景视频和混合模式文本的实现
本文转载自:众成翻译
译者: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的 margin
为 0
:
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-size
为vmin
,因为它能和对应的设计完美匹配;我会在下一篇文章中详细探讨vmin和vmax。
全屏背景视频和混合模式文本的实现相关推荐
- html全屏背景视频特效,HTML5全屏背景视频特效插件Vidage.js源码
下面我们对HTML5全屏背景视频特效插件Vidage.js源码文件阐述相关使用资料和HTML5全屏背景视频特效插件Vidage.js源码文件的更新信息. HTML5全屏背景视频特效插件Vidage.j ...
- html全屏背景视频特效,HTML – 中心全屏背景视频
我最近玩过html5并且遇到了使用的想法 使用以下HTML代码作为网站背景的全屏视频: 另外,我使用以下css代码来正确对齐它: #video_background{ position: absolu ...
- html背景视频铺满网页,HTML – 中心全屏背景视频
这是一个JQuery函数,我写了很长一段时间才使视频成为全屏背景.基本上,如果窗口的纵横比高于视频的纵横比,则使高度100%和宽度自动,反之亦然,以获得更宽的纵横比窗口. // Resize the ...
- 网页插入全屏背景视频
目录 使用场景 video标签 细节 全屏样式 预览图 Safari不自动播放 注意 使用场景 在做酷炫页面的时候,经常需要加一个背景视频,就是在背景上默默播放的视频. video标签 与一般vide ...
- 全屏css,CSS之全屏背景图
吐槽啦:Yeah 明天就是国庆了o(* ̄▽ ̄*)o!哈哈,提前祝福各位园友国庆快乐.假期愉快.生活美满.天天开心!国庆我要回家一趟,把一些不用的东西带回家,走访一下亲朋好友,在家打几天酱油~~~ 言 ...
- 全屏背景:15个jQuery插件实现全屏背景图像或媒体
动态网站通常利用背景图像或预加载屏幕,以保证所有资源都加载到页面上,在浏览器中充分呈现.现在很多网站都炫耀自己的图像作为背景图像全屏背景,追溯到旧的Flash网站却用自己的方式在HTML资源重布局. ...
- wordpress 背景_如何在WordPress中添加全屏背景图片
wordpress 背景 Full screen background image seems to be a new design trend that is becoming fashionabl ...
- vue 视频播放插件vue-video-player自定义样式、自动播放设置、设置一开始全屏播放视频
1.背景 项目中有涉及视频播放的需求,并且UI设计了样式,与原生的视频video组件有差异,所以使用了vue-video-player插件,并对vue-video-player进行样式改造,自定义播放 ...
- 【UGUI】 全屏背景图片等比例拉伸自适应
效果如下: 首先感叹一下,UGUI的自适应做的还是非常不错的,RectTransform中提供了非常多种的自适应方式.对做界面来说还是很友好的. 如果界面上需要有个全屏的背景图(UI界面一般都是有的吧 ...
最新文章
- 基于Pytorch再次解读NiN现代卷积神经网络和批量归一化
- 将keras的h5模型转化为onnx
- 喜提 Go Contributor
- SAP Cloud for Customer和SAP S4HANA的Customer - Business partner
- PXE装机+kickstart无人值守安装
- 基于vue2+nuxt构建的高仿饿了么(2018版)
- mysqlbinlog 查看binlog时报错unknown variable 'default-character-set=utf8'
- 使用h5py操作hdf5文件
- java websocket注解_【websocket】spring boot 集成 websocket 的四种方式
- 改进我个人知识管理手段
- 能做多大的单片机项目程序开发,就代表了你的敲代码的水平
- 计算机方向关键字,从计算机的角度理解volatile关键字
- DBeaver数据库可视化工具
- 橡胶支座抗压弹性模量计算公式_板式橡胶支座抗压弹性模量检测方法的试验研究...
- H5大番薯(源码+数据库脚本)
- factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class ..
- 【网络攻防课实验】一:本地系统密码破解
- Android网络图片加载三级缓存
- 【有料c++题目周刊 | 第四期】贝克街神探
- 手把手教会你如何玩转SpringMVC
热门文章
- 【漏洞复现】CVE-2020-0796永恒之黑漏洞复现
- LATEX强制放置表格图片在固定的位置
- Java、JSP实验室预约管理系统
- Java项目:ssh实验室预约管理系统
- 《增强现实:原理、算法与应用》读书笔记(5)运动恢复结构(上)初始化、相机位姿估计、集束调整
- XEN的启动信息输出到“Platform timer is 14.318MHz HPET”就暂停接收的解决办法
- contest17 CF593 div2 ooxxx ooxxx ooooo
- 高数下|级数6|手写笔记(幂级数求和)
- PLC PLSY 指令
- [BZOJ1513]Tet-Tetris 3D