浏览器原生Popover API弹出层用法示例代码

代码语言:html

所属分类:弹出层

代码描述:浏览器原生Popover API弹出层用法示例代码

代码标签: 浏览器 原生 Popover API 弹出层 用法 示例 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Popover API 完整示例</title>
    <style>
        /* 基础样式 */
        body {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
            background: #f5f7fa;
            line-height: 1.6;
        }

        .container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
            margin-top: 30px;
        }

        .card {
            background: white;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }

        h1 {
            color: #2c3e50;
            text-align: center;
            margin-bottom: 30px;
        }

        button {
            padding: 8px 16px;
            margin: 4px;
            border: 1px solid #ddd;
            border-radius: 4px;
            cursor: pointer;
            background: white;
            transition: all 0.2s;
        }

        button:hover {
            background: #f0f0f0;
        }

        button.btn-primary {
            background: #3498db;
            color: white;
            border-color: #3498db;
        }

        button.btn-primary:hover {
            background: #2980b9;
        }

        button.btn-danger {
            background: #e74c3c;
            color: white;
            border-color: #e74c3c;
        }

        button.btn-danger:hover {
            background: #c0392b;
        }

        /* 弹窗样式 */
        [popover] {
            position: fixed;
            top: 50%;
            left: 50%;
            translate: -50% -50%;
            padding: 20px;
            margin: 0;
            border: 1px solid #ddd;
            border-radius: 8px;
            background: white;
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
            max-width: 400px;
            width: 90%;
            opacity: 0;
            transform: scale(0.95);
            transition: opacity 0.2s, transform 0.2s, overlay 0.2s allow-discrete;
        }

        [popover]:popover-open {
            opacity: 1;
            transform: scale(1);
        }

        @starting-style {
            [popover]:popover-open {
                opacity: 0;
                transform: scale(0.95);
            }
        }

        /* 遮罩样式 */
        [popover]::backdrop {
            background: rgba(0,0,0,0.5);
            backdrop-filter: blur(4px);
            opacity: 0;
            transition: opacity 0.2s, overlay 0.2s allow-discrete;
        }

        [popover]:popover-open::backdrop {
            opacity: 1;
        }

        @starting-style {
            [popover]:popover-open::backdrop {
           .........完整代码请登录后点击上方下载按钮下载查看

网友评论0