HTMLElement实现图片相册点击放大效果代码

代码语言:html

所属分类:画廊相册

代码描述:HTMLElement实现图片相册点击放大效果代码

代码标签: HTMLElement 图片 相册 点击 放大

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

<!DOCTYPE html>
<html lang="en" >

<head>
 
<meta charset="UTF-8">

 
<meta name="viewport" content="width=device-width, initial-scale=1">
<link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/reset.min.css">
 
<style>
html:has(dialog[open]) {
 
overflow: hidden;
 
scrollbar-gutter: stable;
}

body
{
 
display: grid;
 
place-items: center;
 
font-family: system-ui, sans-serif;
}

main
{
 
display: grid;
 
align-items: center;
 
gap: 1rem;
 
padding: 2rem;
 
grid-template-columns: 1fr 1fr;
}

img
{
 
max-width: 100%;
 
height: auto;
 
vertical-align: bottom;
 
border-radius: 1rem;
}

lightbox-image:defined {
 
display: block;
 
cursor: zoom-in;
}

lightbox-image
{
 
max-width: 250px;
}

dialog
{
 
--_gutter: 2rem;
 
padding: 1rem;
 
outline: unset;
 
border: unset;
 
background: unset;
 
max-height: 100vh;
 
cursor: zoom-out;

 
&::-webkit-backdrop {
   
background: blue;
   
opacity: 0.75;
 
}

 
&::backdrop {
   
background: blue;
   
opacity: 0.75;
 
}

  form
{
   
position: absolute;
   
opacity: 0;
 
}

  img
{
   
max-height: calc(100vh - var(--_gutter));
 
}
}

::view-transition-group(active-lightbox-image) {
 
-webkit-animation-duration: 300ms;
         
animation-duration: 300ms;
 
-webkit-animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
         
animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
</style>

 
 
</head>

<body translate="no">
 
<main>
 
<lightbox-image dialog-id="lightbox">
   
<img src='//repo.bfw.wiki/random/300x600/景色' alt=''>
 
</lightbox-image>

  .........完整代码请登录后点击上方下载按钮下载查看

网友评论0