信我或关注微信号:狮范儿,回复:学习,获取免费学习资源包。
演示效果图:
1、全屏前
2、全屏后
html代码:
<div class="container"> <p><em>单击下面的按钮将元素输入全屏模式</em></p> <div class="element" id="element"><p>我在全屏模式下改变颜色!</p></div> <br /> <button onclick="var el = document.getElementById('element'); el.requestFullscreen();"> 全屏! </button> </div>
css代码:
.container { margin: 40px auto; max-width: 700px; } .element { padding: 20px; height: 300px; width: 100%; background-color: skyblue; } .element p { text-align: center; color: white; font-size: 3em; } .element:-ms-fullscreen p { visibility: visible; } .element:fullscreen { background-color: #e4708a; width: 100vw; height: 100vh; }
来源网络,侵权联系删除
私信我或关注微信号:狮范儿,回复:学习,获取免费学习资源包。
家好,我是大澈!
本文约 700+ 字,整篇阅读约需 1 分钟。
每日分享一段优质代码片段。
今天分享一段 CSS 代码片段,使用 CSS 设置网页全屏背景图片,很简单。
老规矩,先阅读代码片段并思考,再看代码解析再思考,最后评论区留下你的见解!
html {
background: url('images/bg.jpg') no-repeat center center fixed;
background-size: cover;
-webkit-background-size: cover; /* 适用于旧版 WebKit 浏览器 */
-moz-background-size: cover; /* 适用于旧版 Firefox 浏览器 */
-o-background-size: cover; /* 适用于旧版 Opera 浏览器 */
}
分享原因
这段代码展示了如何使用 CSS 设置网页全屏背景图片,使其在不同浏览器中都能完美适应屏幕尺寸。
这对于创建具有视觉吸引力且兼容性良好的网页非常重要。
代码解析
1. background: url('images/bg.jpg') no-repeat center center fixed;
background:简写属性,用于设置所有背景属性。
url('images/bg.jpg'):指定背景图像的路径。
no-repeat:背景图像不重复显示。
center center:背景图像在水平方向和垂直方向都居中显示。
fixed:背景图像固定在视口中,即使页面滚动,背景图像也不会移动。
2. background-size: cover;
background-size: cover:使背景图像按比例缩放,以完全覆盖背景区域。这意味着图像可能会被裁剪以适应容器。
3. 浏览器前缀的使用
-webkit-background-size:适用于旧版 WebKit 浏览器(如旧版 Safari 和 Chrome)。
-moz-background-size:适用于旧版 Firefox 浏览器。
-o-background-size:适用于旧版 Opera 浏览器。
这些浏览器前缀用于处理旧版浏览器的兼容性问题。虽然现代浏览器大多已经支持标准的 background-size 属性,但在代码中加入这些前缀可以确保在老旧浏览器中也能正常显示背景图片。
- end -
前遇到一个需要在浏览器全屏展示页面的效果,我们经常使用的就是requestFullscreen和exitFullscreen,来进行全屏或者退出全屏,但有时候我们可能需要获取打开全屏时的窗口权限信息,这种情况下就需要使用getScreenDetails了
代码如下
<div class="wrap">
<div class="content">
Setting Screen
</div>
<div class="btn">
<button id="full-screen" onclick="fullScreen()">全屏</button>
<button id="exit-full-screen" onclick="exitFullScreen()">退出全屏</button>
</div>
</div>
<script>
//获取全屏元素,可以是具体元素或者body
const wrap = document.querySelector('.wrap')
let primaryScreen = null
async function fullScreen () {
// 检测网页是否有全屏元素
if(!document.fullscreenElement){
console.log('/screen.html [43]--1','full-screen',document.fullscreenElement);
try {
if(!primaryScreen) {
//获取可以全屏的窗口信息
primaryScreen = (await getScreenDetails()).screens.find(
(screen) => screen.isPrimary,
);
}
console.log('/screen.html [54]--1','primaryScreen',primaryScreen);
//将窗口信息传给requestFullscreen,窗口将弹出确认弹框
await wrap.requestFullscreen({ screen: primaryScreen });
} catch (err) {
console.error(err.name, err.message);
}
}
}
function exitFullScreen () {
// 检测网页是否有全屏元素
if(document.fullscreenElement) {
// document 退出全屏
document.exitFullscreen()
console.log('/screen.html [43]--1','exit-full-screen',document.fullscreenElement);
}
}
如图所示,点击允许将获取同意全屏窗口的信息
PS:
*请认真填写需求信息,我们会在24小时内与您取得联系。