CSS實現(xiàn)一個交互感不錯的卡片列表功能
發(fā)布時間:2023-08-24 15:19:54 作者:薛定諤的殼
我要評論

這篇文章主要介紹了CSS實現(xiàn)一個交互感不錯的卡片列表,涉及到知識塊本文結(jié)合實例代碼給大家講解的非常詳細,需要的朋友可以參考下
0、需求分析
- 橫向滾動
- 鼠標懸停時突出顯示
- 默認堆疊展示
- 鼠標懸停時,完整展示當前塊+適當旋出效果
- 移動端樣式優(yōu)化、磁吸效果
- 美化滾動條
1、涉及的主要知識塊
- flex 布局
- css 簡單變換+過渡
- transform、transition
- 漸變色函數(shù)
- linear-gradient
- …
- 偽類、偽元素
- 滾動條、::after、 ::before
- …
2、實現(xiàn)效果
3、代碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>卡片</title> <style> :root{ --pcWidth: 700px; --mbWidth: calc(100%-30px); } *{ margin: 0; padding: 0; } body{ background-color: #3a3939; } @media (min-width: 1200px) { .wrapper{ width: calc(var(--pcWidth) + 30px); } .article-wrapper{ width: var(--pcWidth); } } @media (max-width: 1200px){ .wrapper{ width: var(--mbWidth); } .article-wrapper{ width: var(--mbWidth); } } .wrapper{ height: fit-content; position: relative; margin: 0 auto; } .wrapper::after{ content: " "; position: absolute; top: 50px; bottom: 28px; right: 0; width: 6px; background: linear-gradient(45deg, #df0684, #c90700 20%, #f2a500 90%); border-radius: 3px 2px 2px 3px; z-index: 2; box-shadow: -8px 0 12px 2px #000; } .article-wrapper{ position: relative; overflow-x: scroll; scroll-snap-type: x mandatory; display: flex; color: white; padding: 50px 0 20px 30px; } .article-wrapper::-webkit-scrollbar{ width: 8px; height: 8px; } .article-wrapper::-webkit-scrollbar-thumb{ height: 5px; background: linear-gradient(.8deg, #05CB98, #0098C9 40%, #F25A00 80%); border-radius: 10px; } .wrapper .item{ min-width: 180px; background: linear-gradient(85deg, #4e4e4e, #222222); border-radius: 9px; box-shadow: -73px 0 66px -20px #000000; transition: .2s; scroll-snap-align: start; scroll-snap-stop: always; } .wrapper .item:not(:first-child){ margin-left: -50px; } .wrapper .item:hover{ transform: translateY(-8px) rotate(2deg); } .wrapper .item:hover~.item{ transform: translateX(59px); } .wrapper .item .title{ overflow-y: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin: 6px 8px; } .wrapper .item .cover{ width: 100%; height: 150px; background: linear-gradient(134deg, #05CB98, #0098C9 40%, #F25A00 80%); } .wrapper .item .detail{ font-size: 14px; overflow-y: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; padding: 0 9px; margin: 8px 0; } </style> </head> <body> <div class="wrapper"> <div class="article-wrapper"> <article class="item"> <h5 class="title">這是一個標題,可能會有好多個字,然后導致兩行展示不了,需要省略一下</h5> <div class="cover"></div> <div class="detail">黑夜從大地上升起遮住了光明的天空豐收后荒涼的大地黑夜從你內(nèi)部升起你從遠方來, 我到遠方去遙遠的路程經(jīng)過這里天空一無所有為何給我安慰豐收之后荒涼的大地人們?nèi)∽吡艘荒甑氖粘扇∽吡思Z食騎走了馬留在地里的人, 埋的很深草叉閃閃發(fā)亮, 稻草堆在火上稻谷堆在黑暗的谷倉谷倉中太黑暗, 太寂靜, 太豐收</div> </article> <article class="item"> <h5 class="title">這是一個標題,可能會有好多個字,然后導致兩行展示不了,需要省略一下</h5> <div class="cover"></div> <div class="detail">黑夜從大地上升起遮住了光明的天空豐收后荒涼的大地黑夜從你內(nèi)部升起你從遠方來, 我到遠方去遙遠的路程經(jīng)過這里天空一無所有為何給我安慰豐收之后荒涼的大地人們?nèi)∽吡艘荒甑氖粘扇∽吡思Z食騎走了馬留在地里的人, 埋的很深草叉閃閃發(fā)亮, 稻草堆在火上稻谷堆在黑暗的谷倉谷倉中太黑暗, 太寂靜, 太豐收</div> </article> <article class="item"> <h5 class="title">這是一個標題,可能會有好多個字,然后導致兩行展示不了,需要省略一下</h5> <div class="cover"></div> <div class="detail">黑夜從大地上升起遮住了光明的天空豐收后荒涼的大地黑夜從你內(nèi)部升起你從遠方來, 我到遠方去遙遠的路程經(jīng)過這里天空一無所有為何給我安慰豐收之后荒涼的大地人們?nèi)∽吡艘荒甑氖粘扇∽吡思Z食騎走了馬留在地里的人, 埋的很深草叉閃閃發(fā)亮, 稻草堆在火上稻谷堆在黑暗的谷倉谷倉中太黑暗, 太寂靜, 太豐收</div> </article> <article class="item"> <h5 class="title">這是一個標題,可能會有好多個字,然后導致兩行展示不了,需要省略一下</h5> <div class="cover"></div> <div class="detail">黑夜從大地上升起遮住了光明的天空豐收后荒涼的大地黑夜從你內(nèi)部升起你從遠方來, 我到遠方去遙遠的路程經(jīng)過這里天空一無所有為何給我安慰豐收之后荒涼的大地人們?nèi)∽吡艘荒甑氖粘扇∽吡思Z食騎走了馬留在地里的人, 埋的很深草叉閃閃發(fā)亮, 稻草堆在火上稻谷堆在黑暗的谷倉谷倉中太黑暗, 太寂靜, 太豐收</div> </article> <article class="item"> <h5 class="title">這是一個標題,可能會有好多個字,然后導致兩行展示不了,需要省略一下</h5> <div class="cover"></div> <div class="detail">黑夜從大地上升起遮住了光明的天空豐收后荒涼的大地黑夜從你內(nèi)部升起你從遠方來, 我到遠方去遙遠的路程經(jīng)過這里天空一無所有為何給我安慰豐收之后荒涼的大地人們?nèi)∽吡艘荒甑氖粘扇∽吡思Z食騎走了馬留在地里的人, 埋的很深草叉閃閃發(fā)亮, 稻草堆在火上稻谷堆在黑暗的谷倉谷倉中太黑暗, 太寂靜, 太豐收</div> </article> <article class="item"> <h5 class="title">這是一個標題,可能會有好多個字,然后導致兩行展示不了,需要省略一下</h5> <div class="cover"></div> <div class="detail">黑夜從大地上升起遮住了光明的天空豐收后荒涼的大地黑夜從你內(nèi)部升起你從遠方來, 我到遠方去遙遠的路程經(jīng)過這里天空一無所有為何給我安慰豐收之后荒涼的大地人們?nèi)∽吡艘荒甑氖粘扇∽吡思Z食騎走了馬留在地里的人, 埋的很深草叉閃閃發(fā)亮, 稻草堆在火上稻谷堆在黑暗的谷倉谷倉中太黑暗, 太寂靜, 太豐收</div> </article> </div> </div> </body> </html>
到此這篇關于CSS實現(xiàn)一個交互感不錯的卡片列表的文章就介紹到這了,更多相關css卡片列表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!
相關文章
- 這篇文章主要介紹了CSS實現(xiàn)鼠標滑過卡片上浮效果的示例,幫助大家更好的利用CSS制作網(wǎng)頁特效,美化自身網(wǎng)頁,感興趣的朋友可以了解下2020-11-02
css實現(xiàn)網(wǎng)頁右下角點贊小卡片效果(實例代碼)
這篇文章主要介紹了css實現(xiàn)網(wǎng)頁右下角點贊小卡片效果,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-02CSS實現(xiàn)卡片3D翻轉(zhuǎn)效果的示例代碼
本篇文章主要介紹了CSS實現(xiàn)卡片3D翻轉(zhuǎn)效果的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-06