html+css+js气泡弹窗

界面 图片没截好,实际字是很清晰的

点赞加关注,谢谢

源代码

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Popup Example</title>

<style>

body {

display: flex;

justify-content: center;

align-items: center;

height: 100vh;

margin: 0;

position: relative;

overflow: hidden;

}

.popup-container {

position: absolute;

top: 0;

left: 0;

width: 100%;

height: 100%;

display: flex;

justify-content: center;

align-items: flex-start;

visibility: hidden;

opacity: 0;

transition: visibility 0s 1.5s, opacity 1.5s;

z-index: 1000;

}

.popup-container.visible {

visibility: visible;

opacity: 1;

transition: visibility 0s, opacity 1.5s;

}

.popup {

background: rgba(255, 255, 255, 0.7);

border-radius: 10px;

box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);

padding: 20px;

width: 300px;

max-height: 0;

overflow: hidden;

margin-top: 20px;

transition: max-height 0.5s ease-in-out, margin-top 0.5s ease-in-out;

}

.popup.open {

max-height: 400px;

margin-top: 0;

}

.popup-overlay {

position: absolute;

top: 0;

left: 0;

width: 100%;

height: 100%;

background: rgba(0, 0, 0, 0.5);

z-index: 999;

display: none;

}

.button {

border: none;

display: inline-block;

background: black;

color: white;

border-radius: 5px;

padding: 10px 20px;

margin-top: 10px;

cursor: pointer;

box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26);

transition: box-shadow 0.3s ease-in-out;

}

.button:active {

box-shadow: none;

}

</style>

</head>

<body>

<button class="button" οnclick="togglePopup()">弹出</button>

<div class="popup-overlay" id="popupOverlay"></div>

<div class="popup-container" id="popupContainer">

<div class="popup" id="popup">

<p>微信安装完成,点击查看</p>

<!-- 注意:这里没有"确认"按钮,因为我们将使用延迟自动关闭 -->

</div>

</div>

<script>

function togglePopup() {

const popupContainer = document.getElementById('popupContainer');

const popup = document.getElementById('popup');

const popupOverlay = document.getElementById('popupOverlay');

// 添加类以显示弹出窗口和遮罩

popupContainer.classList.add('visible');

popup.classList.add('open');

popupOverlay.style.display = 'block';

// 设置1.5秒后自动关闭弹出窗口

setTimeout(() => {

popupContainer.classList.remove('visible');

popup.classList.remove('open');

popupOverlay.style.display = 'none';

}, 1500);

}

// 初始化时自动触发一次弹出窗口(如果需要)

// togglePopup(); // 取消注释以在页面加载时立即显示弹出窗口

</script>

</body>

</html>

相关推荐
小羊没烦恼!7 小时前
T-SQL查询进阶--理解SQL SERVER中的分区表
服务器·开发语言·前端·javascript·html
Highcharts.js8 小时前
AI图表开发工具Highcharts Assist|自然语言生成图表代码
javascript·人工智能·highcharts·开发神器
志尊宝8 小时前
Vue3 零基础每日笔记(087):Vue3 高频面试题(下)
前端·javascript·vue.js·笔记·ecmascript·#vue.js
ShineWinsu10 小时前
对于CSS:弹性布局(Flexbox)的解析
前端·css·面试·浏览器·web·网页·弹性布局
const_qiu10 小时前
第二章 2.6:初始化 NestJS 服务端 —— TypeScript 后端框架体验
前端·javascript·typescript
miofly11 小时前
GitHub 今日推荐|sweety-handdraw-video:文章转手绘口播视频
javascript·开源·github
云老大-阿里云国际站代理商11 小时前
华为云国际站渠道代理商:CSS查询很慢但CPU不高?磁盘I/O、JVM与分片问题怎么排查
css·jvm·华为云
用户831348593069812 小时前
Vue3 事件:常用用法与开发高频坑点
前端·javascript·vue.js
漫步人生走在路上12 小时前
用小语种SEO突破外贸B2B天花板:法语、德语市场的实测数据
开发语言·前端·javascript·人工智能·搜索引擎·ecmascript
ydjs678899-bot13 小时前
您的Next.js中间件匹配器配置可能会跳过您认为它保护的路由
开发语言·javascript·中间件