css实现卡片突出焦点功能


html

typescript 复制代码
<body>
    <div class="container">

        <ul>
            <li>
                <div class="img-box">
                    <img src="https://snail-staging.oss-cn-shanghai.aliyuncs.com/upload-pc/school-3/care/picker/20220830/20220830145148_39j3.jpg" />
                </div>

                <div class="content">
                    <h3 class="rank">
                        <small>#</small>1
                    </h3>

                    <h4>join</h4>

                    <p>测试</p>
                </div>
            </li>

            <li>
                <div class="img-box">
                    <img src="https://snail-staging.oss-cn-shanghai.aliyuncs.com/upload-pc/school-3/care/picker/20220830/20220830145412_zm5c.jpg" />
                </div>

                <div class="content">
                    <h3 class="rank">
                        <small>#</small>2
                    </h3>

                    <h4>hill</h4>

                    <p>测试2</p>
                </div>
            </li>

            <li>
                <div class="img-box">
                    <img src="https://snail-staging.oss-cn-shanghai.aliyuncs.com/upload-pc/school-3/care/picker/20220830/20220830145653_ns73.jpg" />
                </div>

                <div class="content">
                    <h3 class="rank">
                        <small>#</small>3
                    </h3>

                    <h4>baby</h4>

                    <p>测试3</p>
                </div>
            </li>
        </ul>
    </div>
</body>

css

typescript 复制代码
  <style>
        /*google-fonts*/
        @import url('https://fonts.googleapis.com/css?family=Poppins:200,300,400,500,600,700,800,900&display=swap');

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        ul li {
            list-style: none;
        }

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        body {
            font-family: 'Poppins', sans-serif;
            color: #333;

            min-height: 100vh;
            background-color: #f5f5f5;

            display: flex;
            justify-content: center;
            align-items: center;
        }

        .container {
            padding: 20px;
        }

        .container h2 {
            font-size: 1.75em;
            margin-bottom: 20px;
            text-align: center;
        }

        ul {
            min-width: 300px;
            /* min-width: 350px; */
        }

        ul:hover li {
            filter: blur(5px);
            opacity: 0.3;
        }

        ul li {
            position: relative;

            display: flex;
            column-gap: 10px;
            padding: 10px;
            margin-block: 10px;
            overflow: hidden;

            background-color: #fff;
            border-radius: 10px;

            cursor: pointer;
            transition: 0.5s;
        }

        ul li:hover {
            box-shadow: -10px 20px 35px rgba(0, 0, 0, 0.15);
            transform: scale(1.15);
            filter: blur(0);
            opacity: 1;
        }

        ul li .img-box {
            width: 60px;
            height: 60px;

            border-radius: 10px;
            overflow: hidden;
        }

        ul li .content {
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        ul li .content .rank {
            position: absolute;
            right: -50px;

            color: #03a9f4;
            font-size: 2em;

            transition: right 0.5s;
        }

        ul li .content .rank small {
            font-weight: 500;
            opacity: 0.3;
        }

        ul li:hover .content .rank {
            right: 20px;
        }

        ul li .content h4 {
            font-weight: 600;
            line-height: 1.2em;
        }

        ul li .content p {
            font-size: 0.75em;
        }
    </style>
相关推荐
换日线°24 分钟前
微信小程序三种裁剪动画有效果图
css·微信小程序
爱上python的猴子24 分钟前
chrome中的copy xpath 与copy full xpath的区别
前端·chrome
Lysun0011 小时前
dispaly: inline-flex 和 display: flex 的区别
前端·javascript·css
山禾女鬼0011 小时前
Vue 3 自定义指令
前端·javascript·vue.js
啊卡无敌1 小时前
Vue 3 reactive 和 ref 区别及 失去响应性问题
前端·javascript·vue.js
北桥苏1 小时前
Spine动画教程:皮肤制作
前端
涵信2 小时前
第九节:React HooksReact 18+新特性-React 19的use钩子如何简化异步操作?
前端·javascript·react.js
Aaaaaaaaaaayou2 小时前
浅玩一下 Mobile Use
前端·llm
这个昵称也不能用吗?2 小时前
react-native搭建开发环境过程记录
前端·react native·cocoapods
hy_花花2 小时前
Vue3.4之defineModel的用法
前端·vue.js