欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

純js和css3圖片畫(huà)廊

在網(wǎng)頁(yè)設(shè)計(jì)中,圖片畫(huà)廊是一個(gè)重要的設(shè)計(jì)元素。當(dāng)用戶瀏覽網(wǎng)頁(yè)時(shí),一個(gè)美觀的圖片畫(huà)廊可以讓用戶獲得更好的體驗(yàn)。純JS和CSS3實(shí)現(xiàn)圖片畫(huà)廊是一個(gè)很好的選擇,下面我們來(lái)了解一下這種實(shí)現(xiàn)方式。

HTML結(jié)構(gòu):
<div class="gallery">
<ul>
<li><a href="#"><img src="1.jpg" alt="1"></a></li>
<li><a href="#"><img src="2.jpg" alt="2"></a></li>
<li><a href="#"><img src="3.jpg" alt="3"></a></li>
</ul>
</div>
CSS代碼:
.gallery ul{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
list-style: none;
width: 100%;
}
.gallery li{
width: calc(33.3% - 10px);
margin-bottom: 20px;
position: relative;
}
.gallery li img{
width: 100%;
height: auto;
}
.gallery li a:before{
content: "";
opacity: 0;
display: block;
position: absolute;
top: 0;
left: 0;
z-index: 2;
width: 100%;
height: 100%;
background-color: #000;
transition: opacity .3s ease;
}
.gallery li a:hover:before{
opacity: .8;
}
.gallery li a img{
position: relative;
z-index: 1;
}
JS代碼:
var galleryItems = document.querySelectorAll('.gallery li a');
var galleryLength = galleryItems.length;
for(var i = 0; i < galleryLength; i++){
galleryItems[i].addEventListener('click', openLightbox);
}
function openLightbox(event){
event.preventDefault();
var imgSrc = this.querySelector('img').getAttribute('src');
var modal = document.createElement('div');
modal.className = 'lightbox-modal';
modal.innerHTML = '<img src="'+imgSrc+'">';
document.body.appendChild(modal);
modal.addEventListener('click', closeLightbox);
}
function closeLightbox(event){
event.preventDefault();
var modal = document.querySelector('.lightbox-modal');
modal.parentElement.removeChild(modal);
}

以上代碼實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的圖片畫(huà)廊。在HTML中,我們使用<ul>和<li>標(biāo)簽創(chuàng)建畫(huà)廊的列表,每個(gè)列表項(xiàng)包含一個(gè)鏈接和一個(gè)圖片。在CSS中,我們使用了Flex布局和偽元素實(shí)現(xiàn)了鼠標(biāo)懸停時(shí)圖片的黑色遮罩效果。在JS中,我們對(duì)所有圖片鏈接添加了一個(gè)點(diǎn)擊事件,在點(diǎn)擊時(shí)創(chuàng)建了一個(gè)模態(tài)框,并在其中顯示對(duì)應(yīng)的圖片,同時(shí)對(duì)模態(tài)框添加了一個(gè)點(diǎn)擊事件,在點(diǎn)擊時(shí)關(guān)閉模態(tài)框。

這種純JS和CSS3實(shí)現(xiàn)方式不依賴(lài)于第三方庫(kù)和框架,可以輕松地把它集成到其他Web應(yīng)用程序中。同時(shí),它還可以通過(guò)修改CSS樣式表來(lái)定制畫(huà)廊的風(fēng)格和布局,使它更符合我們的設(shè)計(jì)需求。