亚洲青青视频一区|8MAV在线观看|天天看AV天天看|中日成人手机在线|欧美激情五区六区|亚洲婷婷天堂级片|亚洲天堂网7777|欧美日韩其他另类|手机在线成人AV|成人性大片一区二区三区四区五区

284292114@qq.com 中國站
新聞中心 網(wǎng)絡(luò)推廣 網(wǎng)站建設(shè) 優(yōu)化推廣 首頁>新聞中心>網(wǎng)站建設(shè)

使用 HTML5 dialog 制作簡單好用的 lightbox 效果

時(shí)間:2023-02-25   訪問量:0

直接貼代碼了喲。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.dowebok {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-flow: row dense;
    width: 90%;
    margin: auto;
}

.dowebok img {
    max-width: 100%;
    height: auto;
}

.dowebok > :nth-child(7n + 1) {
    grid-column: span 2;
    grid-row: span 2;
}

.dowebok img {
    display: block;
    aspect-ratio: 1/1;
    border-radius: 6px;
    -o-object-fit: cover;
    object-fit: cover;
    overflow: hidden;
}

dialog.lightbox {
    border: none;
    padding: 0;
    -webkit-animation: fadeIn 0.3s ease-out;
    animation: fadeIn 0.3s ease-out;
    background-color: transparent;
}

dialog.lightbox::-webkit-backdrop {
    background-color: rgba(0, 0, 0, 0.4);
}

dialog.lightbox::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
}

dialog.lightbox img {
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
    overflow: hidden;
    height: 100%;
    width: 100%;
    max-width: 90vw;
    max-width: 90dvw;
    max-height: 90vh;
    max-height: 90dvh;
    border-radius: 6px;
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
</style>
</head>
<body>
<div>
    <img src="1.jpg" alt="">
     <img src="1.jpg" alt="">
     <img src="1.jpg" alt="">
     <img src="1.jpg" alt="">
     <img src="1.jpg" alt="">
     <img src="1.jpg" alt="">
     <img src="1.jpg" alt="">
     <img src="1.jpg" alt="">
      <img src="1.jpg" alt="">
       <img src="1.jpg" alt="">
</div>

<script>
document.querySelectorAll('.dowebok img').forEach((img) => {
    img.addEventListener('click', (e) => {
        // 創(chuàng)建 dialog
        const dialog = document.createElement('dialog')
        dialog.className = 'lightbox'

        // 克隆 img 并放入 dialog 中
        const imgClone = img.cloneNode()
        dialog.appendChild(imgClone)

        // 把 dialog 插入到 body 中
        document.body.appendChild(dialog)
        dialog.showModal()
        document.body.setAttribute('inert', true)

        // 關(guān)閉 dialog 事件
        dialog.addEventListener('click', (e) => {
            if (e.target === e.currentTarget) {
                dialog.close()
            }
        })

        // dialog 關(guān)閉方法
        dialog.addEventListener('close', (e) => {
            dialog.parentNode.removeChild(dialog)
            document.body.removeAttribute('inert')
        })
    })
})
</script>
</body>
</html>


服務(wù)咨詢
1對(duì)1咨詢,專業(yè)客服為您解疑答惑
聯(lián)系銷售
15899750475
在線咨詢
聯(lián)系在線客服,為您解答所有的疑問
ARE YOU INTERESTED IN ?
感興趣嗎?

有關(guān)我們服務(wù)的更多信息,請(qǐng)聯(lián)系項(xiàng)目經(jīng)理

15899750475 楊先生