CSS卡片式輪播是一種常見的網頁滾動效果,它可以在不使用JavaScript的情況下實現動畫效果。下面我們來具體看一下CSS卡片式輪播的實現。
/*CSS代碼*/ .container{ width: 100%; overflow: hidden; } .card{ width: 30%; background-color: #fff; margin-right: 5%; float: left; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); transition: all 0.3s ease-in-out; } .card:hover{ transform: scale(1.05); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3); } .carousel{ width: 280%; margin-left: -100%; transition: all 0.3s ease-in-out; } .carousel:after{ content: ""; clear: both; display: block; } input[name="carousel"]{ display: none; } input[name="carousel"]:checked + .carousel{ margin-left: -200%; } input[name="carousel"]:nth-of-type(1):checked ~ .nav label:nth-of-type(3), input[name="carousel"]:nth-of-type(2):checked ~ .nav label:nth-of-type(1), input[name="carousel"]:nth-of-type(2):checked ~ .nav label:nth-of-type(4), input[name="carousel"]:nth-of-type(3):checked ~ .nav label:nth-of-type(2), input[name="carousel"]:nth-of-type(4):checked ~ .nav label:nth-of-type(3), input[name="carousel"]:nth-of-type(4):checked ~ .nav label:nth-of-type(1){ background-color: rgba(0,0,0,0.1); } .nav label{ display: inline-block; width: 12px; height: 12px; border-radius: 50%; background-color: rgba(0,0,0,0.3); margin-right: 10px; margin-bottom: 10px; transition: all 0.3s ease-in-out; cursor: pointer; }
首先,我們要創建一個具有固定寬度和隱藏溢出的容器,容器中的每個卡片單元使用“float”屬性浮動到左側,同時設置一定的寬度和邊距。卡片的css設置還包括一個簡單的動畫效果,當鼠標懸停在卡片單元上時,卡片單元會放大并顯示更大的陰影。
接下來,我們需要設置一個具有非常寬的尺寸的卡片輪播容器,左側兩個卡片單元重復出現在右側,這就是卡片輪播的核心代碼。卡片輪播容器在激活時使用“transition”動畫屬性平移至左側,從而實現舒適的動態效果。
最后,我們還需要創建一個名稱為“carousel”的隱藏單選按鈕和一個帶有標簽的標簽列表。使用“:checked”偽類選擇器控制標簽和輪播容器之間的交互。您還可以使用“:nth-of-type”偽類選擇器控制標簽的顏色和激活狀態,以更改用戶間的視覺反饋。