溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用HTML、CSS和JS創(chuàng)建響應(yīng)式可過濾的游戲

發(fā)布時間:2021-09-15 10:08:35 來源:億速云 閱讀:120 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“如何使用HTML、CSS和JS創(chuàng)建響應(yīng)式可過濾的游戲”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何使用HTML、CSS和JS創(chuàng)建響應(yīng)式可過濾的游戲”這篇文章吧。

使用 HTML、CSS 和 JS 創(chuàng)建響應(yīng)式可過濾的游戲+工具展示頁面。

該網(wǎng)站適用于諸如此類的簡單操作。

出于以上原因我做出了一些決定:

該網(wǎng)站應(yīng)盡可能地易于訪問任何頁面都不得大于 30kB每個工具都應(yīng)該有一個返回到首頁的按鈕

如何使用HTML、CSS和JS創(chuàng)建響應(yīng)式可過濾的游戲

響應(yīng)式可過濾的游戲用于各種網(wǎng)站以按類別對作品進(jìn)行排序。在本文中,我將向您展示如何借助 HTML CSS 和 javascript 創(chuàng)建響應(yīng)式可過濾的游戲+工具展示頁面。響應(yīng)式可過濾的游戲看看的地址:http://haiyong.site/moyu

可過濾作品集是一種流行的網(wǎng)絡(luò)元素,可用于各種網(wǎng)站。它是一種作品畫廊,大量作品整齊地排列在一起。值得注意的一點(diǎn)是,所有作品都可以在這里按類別排序。有一個導(dǎo)航欄,其中對所有類別進(jìn)行了排序。單擊這些類別中的任何一個時。然后可以看到該類別中的所有作品,而隱藏其余作品。結(jié)果,用戶可以輕松地找到他選擇的圖像。

我首先在網(wǎng)頁上創(chuàng)建了一個導(dǎo)航欄。在這里創(chuàng)建了五類按鈕,一共使用了15張圖片。如果需要,您可以使用這更換作品或者添加更多作品。在導(dǎo)航欄中的分類中,你可以看到與您點(diǎn)擊的分類相關(guān)的作品。同樣,當(dāng)您單擊另一個類別時,該類別的作品將被看到,其余的將被隱藏。我讓它完全響應(yīng),以便它可以在所有設(shè)備上使用。

在線演示

在線演示地址http://haiyong.site/moyu

提示:源碼相信大家應(yīng)該都知道怎么獲取,直接F12 或者ctrl+u ,感興趣的小伙伴可以把網(wǎng)址收藏起來,后面我會繼續(xù)更新,打造一個擁有100個游戲+工具的摸魚網(wǎng)站。目前進(jìn)度:17/100

如何使用 HTML 和 CSS 創(chuàng)建可過濾的游戲+工具展示頁面

我已經(jīng)通過下面的圖文向初學(xué)者展示了如何為初學(xué)者制作它的完整步驟。當(dāng)然,你也可以使用文章底部的下載按鈕,從Github上下載所需的源代碼。

我使用下面的 CSS 代碼完成了網(wǎng)頁的基本設(shè)計(jì)。

body{
	line-height: 1.5;
	font-family: sans-serif;
}
*{
	margin:0;
	box-sizing: border-box;
}

.row{
	display: flex;
	flex-wrap: wrap;
}
img{
	max-width: 100%;
	vertical-align: middle;
}

第 1 步:創(chuàng)建基本結(jié)構(gòu)

我已經(jīng)使用我自己的 HTML 和 CSS 代碼創(chuàng)建了這個圖片庫的基本結(jié)構(gòu)。這里我用background-color: # 2a2932min-height: 100vh。

HTML

<section class="gallery">
	<div class="container">
  
	</div>
</section>

CSS

.gallery{
   width: 100%;
   display: block;
   min-height: 100vh;
   background-color: #2a2932;
   padding: 100px 0;
}

.container{
	max-width: 1170px;
	margin:auto;
}

演示效果

如何使用HTML、CSS和JS創(chuàng)建響應(yīng)式可過濾的游戲

是的,你沒看錯,現(xiàn)在就是一團(tuán)黑。

第 2 步:為類別創(chuàng)建導(dǎo)航欄

現(xiàn)在我已經(jīng)使用下面的 HTML 和 CSS 代碼創(chuàng)建了一個導(dǎo)航欄。正如我之前所說,有一個導(dǎo)航欄,所有類別都在其中進(jìn)行了排序。在這里,我使用了 5 個主題和 15 個圖片。如果需要,你可以增加或減少類別的數(shù)量。

類別中的文本具有按鈕的形狀。這些按鈕中的文字是font-size: 17px 并且顏色是白色的。 Border: 2px solid white 用于制作按鈕大小的文本。

HTML

<div class="row">
 <div class="gallery-filter">
   <span class="filter-item active" data-filter="all">所有</span>
   <span class="filter-item" data-filter="tool">工具</span>
   <span class="filter-item" data-filter="game">游戲</span>
   <span class="filter-item" data-filter="3D">3D風(fēng)格游戲</span>
   <span class="filter-item" data-filter="cellphone">手機(jī)端游戲</span>
 </div>
</div>

CSS

.gallery .gallery-filter{
   padding: 0 15px;
   width: 100%;
   text-align: center;
   margin-bottom: 40px;
}
.gallery .gallery-filter .filter-item{
   color: #ffffff;
   font-size: 17px;
   border: 2px solid white;
   text-transform: uppercase;
   display: inline-block;
   border-radius: 20px;
   margin-right: 8px;
   cursor: pointer;
   padding: 8px 20px 8px 20px;
   line-height: 1.2;
   transition: all 0.3s ease;
}

演示效果

如何使用HTML、CSS和JS創(chuàng)建響應(yīng)式可過濾的游戲

我用下面的一些 CSS 代碼設(shè)計(jì)了活動按鈕。也就是說你在此處單擊的類別會發(fā)生一些變化。這里的變化由下面的 CSS 代碼決定。背景顏色和邊框顏色將變?yōu)樗{(lán)色。

CSS

.gallery .gallery-filter .filter-item.active{
  color: white;
  border-color : #16b5ef;
  background: #16b5ef;
}

演示效果

如何使用HTML、CSS和JS創(chuàng)建響應(yīng)式可過濾的游戲

第 3 步:將圖片添加到圖庫

現(xiàn)在我已經(jīng)使用以下 HTML 代碼添加了所有圖像。在這里我添加了 15 個項(xiàng)目。在第一個 div (<div> </div>) 中給出了所使用的類別。這里我為每個圖像使用了兩個 div。

HTML

<div class="row">
	<div class="gallery-item game 3D cellphone">
		<div class="gallery-item-inner">
			<a href="http://haiyong.site/aircraft-avoid-obstacles"><img src="http://haiyong.site/wp-content/uploads/2021/07/aircraft-avoid-obstacles.png"></a>
		</div>
	</div>

	<div class="gallery-item game 3D cellphone">
		<div class="gallery-item-inner">
			<a href="http://haiyong.site/penhuolong"><img src="http://haiyong.site/wp-content/uploads/2021/08/penhuolong.png"></a>
		</div>
	</div>
	
	<div class="gallery-item game 3D cellphone">
		<div class="gallery-item-inner">
			<a href="http://haiyong.site/game/lion"><img src="http://haiyong.site/wp-content/uploads/2021/07/lion.png"></a>
		</div>
	</div>

	<div class="gallery-item game cellphone">
		<div class="gallery-item-inner">
			<a href="http://haiyong.site/santa-claus"><img src="http://haiyong.site/wp-content/uploads/2021/07/santa-claus.png"></a>
		</div>
	</div>
 
   //...等等一共15個小項(xiàng)目,太長我就不一一列出影響閱讀了,需要源碼在文首或文末自取
</div>

第 4 步:設(shè)計(jì)上面添加的項(xiàng)目

現(xiàn)在我已經(jīng)使用 CSS 代碼精美地排列了這些項(xiàng)目。在這里我在每列中使用了三個項(xiàng)目。使用代碼width: calc (100% / 3)將這三個項(xiàng)目放在每一列中。在這里,如果你想在每列中放置四個圖像可以使用 4 替換 3。

CSS

.gallery .gallery-item{
	width: calc(100% / 3);
	padding: 15px;

}
.gallery .gallery-item-inner img{
	width: 100%;
    border: 3px solid #d4dad9;
}

演示效果

如何使用HTML、CSS和JS創(chuàng)建響應(yīng)式可過濾的游戲

我通過@keyframes 使用了動畫。當(dāng)你單擊一個類別時,這些類別中的每一個都將與圖像并排顯示。例如,如果您單擊具有四個圖像的類別。第一行有兩個圖像,第二行有兩個圖像。

當(dāng)您單擊此類別時,該類別其余部分中的所有圖像將被隱藏,所有四個圖像將并排顯示。以下代碼已用于使此重定位更加生動。此處使用了 0.5 秒,這意味著更改該位置需要 0.5 秒。

CSS

.gallery .gallery-item.hide{
	display: none;
}

第 5 步:使可過濾的圖片庫具有響應(yīng)性

現(xiàn)在我已經(jīng)使用 CSS 代碼的媒體查詢使它具有響應(yīng)性。在這里,我們?yōu)橐苿釉O(shè)備和標(biāo)簽添加了單獨(dú)的信息。

CSS

@media(max-width: 491px){
	.gallery .gallery-item{
		width: 50%;
	}
}
@media(max-width: 667px){
    .gallery .gallery-item{
		width: 100%;
	}
	.gallery .gallery-filter .filter-item{
		margin-bottom: 10px;
	}
}

在我手機(jī)上的演示效果

如何使用HTML、CSS和JS創(chuàng)建響應(yīng)式可過濾的游戲

第 6 步:現(xiàn)在使用 JavaScript 執(zhí)行此設(shè)計(jì)

上面我們剛剛設(shè)計(jì)了它,現(xiàn)在我們將使用 JavaScript 代碼實(shí)現(xiàn)它。換句話說,如果我們點(diǎn)擊此導(dǎo)航中的類別,我們將執(zhí)行該類別的圖像,以便可以看到它們。

首先設(shè)置gallery-filter 和gallery-item 的常量。因?yàn)槲覀冎涝?JavaScript 中沒有任何 ID 或類函數(shù)可以直接使用。

JavaScript

const filterContainer = document.querySelector(".gallery-filter");
const galleryItems = document.querySelectorAll(".gallery-item");

我已經(jīng)使用下面的 JavaScript 代碼實(shí)現(xiàn)了這些類別按鈕。

JavaScript

filterContainer.addEventListener("click", (event) =>{
   if(event.target.classList.contains("filter-item")){

     // 停用現(xiàn)有的 active 'filter-item'
   	filterContainer.querySelector(".active").classList.remove("active");

     // 啟用新的 'filter-item'
   	event.target.classList.add("active");

   	const filterValue = event.target.getAttribute("data-filter");

   	galleryItems.forEach((item) =>{

       if(item.classList.contains(filterValue) || filterValue === 'all'){
       	item.classList.remove("hide");
       	 item.classList.add("show");
       }

       else{
       	item.classList.remove("show");
       	item.classList.add("hide");
       }

   	 });
   }
 });

以上是“如何使用HTML、CSS和JS創(chuàng)建響應(yīng)式可過濾的游戲”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI