分享一个图片展示特效

news2025/1/22 7:55:03

先上效果图:

在这里插入图片描述
备注:这个效果图太大了,压缩了一下效果有点不咋好看。感兴趣同学们可以自己运行代码看一下,保证不会失望~

再上代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        :root {
            --height: calc( 80vh - 50px );
            --width: 450px;
        }
        .carousel {
            display: grid;
            transform: translate3d(0,0,0.1px);
        }
        .carousel__list {
            display: flex;
            overflow: hidden;
            list-style: none;
            padding: 2em 0 3em;
            margin: 0;
            contain: layout;
            isolation: isolate;
        }
        .carousel__item {
            display: grid;
            position: relative;
            align-content: start;
            margin: 0 10px;
            padding: 0;
            flex: 1 1 10%;
            height: var(--height);
            overflow: hidden;
            background: rgba(255,255,255,0.2);
            border-radius: 16px;
            transform: translate3d(0,0,0.1px);
            box-shadow: rgba(0, 0, 0, 0.4) 0px 3px 15px 2px, rgba(0, 0, 0, 0.2) 0px 12px 28px 0px, rgba(0, 0, 0, 0.1) 0px 2px 4px 0px, rgba(255, 255, 255, 0.05) 0px 0px 0px 1px inset;
            contain: layout;
            isolation: isolate;
        }
        .carousel__item,
        .carousel__item * {
            transition: all .6s cubic-bezier(.55,.24,.18,1);
            user-select: none;
        }

        .carousel__image,
        .carousel__contents {
            width: var(--width);
            height: auto;
        }

        .carousel__item:hover {
            flex-basis: calc( var(--width) / 2 );
            transition: all 0.3s ease;
        }

        .carousel__item[data-active] {
            flex-basis: var(--width);
            flex-grow: 0;
        }

        @media screen and (max-width: 800px) {
            .carousel__item {
                flex-basis: 15%;
            }
        }

        @media screen and (max-width: 600px) {

            .carousel__item {
                flex-basis: 10%;
                margin: 0 5px;
                border-radius: 8px;
                font-size: 3vw;
            }

            .carousel__item[data-active] {
                flex-basis: 45%;
                flex-grow: 0;
            }

            .carousel__item:nth-child(3),
            .carousel__item:nth-child(7) {
                flex: 0 0 10px;
            }

            .carousel__item:nth-child(2),
            .carousel__item:nth-child(8) {
                flex: 0 0 5px;
                transform: translateX(-50px);
            }

            .carousel__item:nth-child(8) {
                transform: translateX(50px);
            }

            .carousel__item:nth-child( 1 ),
            .carousel__item:nth-child( n + 9 ) {
                flex: 0 0 0px;
                margin: 0;
                box-shadow: none;
                opacity: 0!important;
            }

            .carousel__item:not(:nth-child( n + 5 )) img,
            .carousel__item:nth-child( n + 7 ) img {
                opacity: 0.8;
            }

            .carousel__item:not(:nth-child( n + 4 )) *,
            .carousel__item:nth-child( n + 7 ) * {
                opacity: 0!important;
            }
        }

        @media screen and (min-width: 600px) {

            .carousel__item:nth-child(3),
            .carousel__item:nth-child(10) {
                flex: 0 0 10px;
            }

            .carousel__item:nth-child(2),
            .carousel__item:nth-child(11) {
                flex: 0 0 5px;
                transform: translateX(-50px);
            }

            .carousel__item:nth-child(11) {
                transform: translateX(50px);
            }

            .carousel__item:nth-child( 1 ),
            .carousel__item:nth-child( n + 12 ) {
                flex: 0 0 0px;
                margin: 0;
                box-shadow: none;
                opacity: 0!important;
            }

            .carousel__item:not(:nth-child( n + 5 )) img,
            .carousel__item:nth-child( n + 9 ) img {
                opacity: 0.8;
            }
            .carousel__item:not(:nth-child( n + 4 )) *,
            .carousel__item:nth-child( n + 10 ) * {
                opacity: 0!important;
            }

        }

        .carousel__item img {
            display: block;
            position: absolute;
            width: var(--width);
            height: 100%;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            z-index: -1;
            aspect-ratio: 2/3;
            object-fit: cover;
            filter: saturate(0.2) contrast(0.75) brightness(1.1);
        }

        .carousel__item::after {
            content: "";
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
            opacity: 1;
            background: linear-gradient(160deg, rgba(2,0,36,0) 40%, rgba(118,221,136,.5) 70%, rgba(0,255,246,.6) 100%);
            transition: all .66s cubic-bezier(.55,.24,.18,1);
        }

        .carousel__item[data-active]::after {
            transform: translateY(100%);
        }

        .carousel__item[data-active],
        .carousel__item[data-active] * {
            opacity: 1;
            filter: none;
        }

        .carousel__contents {
            display: flex;
            flex-direction: column-reverse;
            justify-content: start;
            min-height: 200px;
            padding: 1em;
            z-index: 2;
            background-image: radial-gradient( ellipse at 0px 0px, rgba(0,0,0,0.4) 20%, transparent 50% );
            background-size: 170% 200px;
            background-repeat: no-repeat;
            position: absolute;
            top: 0;
            left: 0;
        }

        .carousel__contents .user__name {
            color: #e8eff4;
            font-size: 1.75em;
            font-weight: 600;
            letter-spacing: .8px;
            text-shadow: 0 1px 0 rgba(0,0,0,0.3);
        }

        .carousel__contents .user__title {
            font-family: lexend;
            font-size: .875em;
            letter-spacing: 1.25px;
            font-weight: 500;
            text-transform: uppercase;
            color: transparent;
            background: linear-gradient( 270deg, rgb(67, 255, 0), rgb(0, 255, 247) );
            background-clip: text;
            -webkit-background-clip: text;
            opacity: 0.85;
            text-wrap: balance;
            margin-bottom: 0.5em;
        }

        .carousel__contents .user__title,
        .carousel__contents .user__name {
            margin: 0;
            line-height: 1.1;
            opacity: 0;
            transform: translateX(-200px);
            transition-duration: 1s;
            max-width: 18em;
        }

        @media screen and (max-width: 800px) {
            .carousel__item img {
                width: calc(var(--width) * .5);
            }
            .carousel__contents {
                transform: translateX(-100%) rotate(90deg);
                transform-origin: bottom right;
                align-items: end;
                justify-content: end;
                background-image: radial-gradient( ellipse at 100% 100%, rgba(0, 0, 0,.4) 0%, transparent 50% );
                background-position: -100% 100%;
                flex-direction: column;
                position: absolute;
                bottom: 0;
                left: 0;
                text-align: right;
            }
            [data-active] .carousel__contents {
                background-position: 100% 100%;
            }
            .carousel__contents .user__title,
            .carousel__contents .user__name {
                max-width: 70vh;
                transform: translateX(200px);
            }
        }

        [data-active] .carousel__contents * {
            transform: translateX(0px);
            transition-duration: 0.66s;
            opacity: 1;
        }
        [data-active] .carousel__contents .user__name {
            transition-delay: 0.1s;
        }
        [data-active] .carousel__contents .user__title {
            opacity: 0.85;
            transition-delay: 0.05s;
        }

        /*
            non-demo css
        */
        .carousel__nav {
            padding: 1em;
            justify-self: end;
            grid-row: 1;
            display: flex;
            justify-content: space-between;
            gap: 1em;
        }

        button {
            display: flex;
            gap: .5em;
            padding: 0.5em 1.5em;
        }

        button span,
        button svg {
            margin: 0;
            padding: 0;
            fill: none;
        }

        button path {
            fill: currentColor;
        }

        body, html {
            padding: 0;
            align-items: start;
        }
    </style>
</head>
<body>

<main id="app">
    <section class="carousel">
        <ul class="carousel__list">
            <li class="carousel__item" tabindex="0">
                <div class="carousel__box">
                    <div class="carousel__image"><img src="https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div>
                    <div class="carousel__contents">
                        <h2 class="user__name">Anthony Lee</h2>
                        <h3 class="user__title">Archetypal Professor of Recognition</h3>
                    </div>
                </div>
            </li>
            <li class="carousel__item" tabindex="0">
                <div class="carousel__box">
                    <div class="carousel__image"><img src="https://images.unsplash.com/photo-1544005313-94ddf0286df2?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div>
                    <div class="carousel__contents">
                        <h2 class="user__name">Alicia Chevalier</h2>
                        <h3 class="user__title">Corporate Usability Analyst</h3>
                    </div>
                </div>
            </li>
            <li class="carousel__item" tabindex="0">
                <div class="carousel__box">
                    <div class="carousel__image"><img src="https://images.unsplash.com/photo-1500648767791-00dcc994a43e?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div>
                    <div class="carousel__contents">
                        <h2 class="user__name">Nate Boucher</h2>
                        <h3 class="user__title">Customer Impact Officer</h3>
                    </div>
                </div>
            </li>
            <li class="carousel__item" tabindex="0">
                <div class="carousel__box">
                    <div class="carousel__image"><img src="https://images.unsplash.com/photo-1614204424926-196a80bf0be8?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div>
                    <div class="carousel__contents">
                        <h2 class="user__name">Leah Harris</h2>
                        <h3 class="user__title">Designer and Bandit</h3>
                    </div>
                </div>
            </li>
            <li class="carousel__item" tabindex="0" data-active="data-active">
                <div class="carousel__box">
                    <div class="carousel__image"><img src="https://images.unsplash.com/photo-1536766768598-e09213fdcf22?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div>
                    <div class="carousel__contents">
                        <h2 class="user__name">Angelina Laurent</h2>
                        <h3 class="user__title">Oracle for Inspiration</h3>
                    </div>
                </div>
            </li>
            <li class="carousel__item" tabindex="0">
                <div class="carousel__box">
                    <div class="carousel__image"><img src="https://images.unsplash.com/photo-1494790108377-be9c29b29330?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div>
                    <div class="carousel__contents">
                        <h2 class="user__name">Gal Gadot</h2>
                        <h3 class="user__title">Acting Designer and Consultant</h3>
                    </div>
                </div>
            </li>
            <li class="carousel__item" tabindex="0">
                <div class="carousel__box">
                    <div class="carousel__image"><img src="https://images.unsplash.com/photo-1590086782792-42dd2350140d?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div>
                    <div class="carousel__contents">
                        <h2 class="user__name">Albert Sørensen</h2>
                        <h3 class="user__title">Neural Big Shot of Anticipation</h3>
                    </div>
                </div>
            </li>
            <li class="carousel__item" tabindex="0">
                <div class="carousel__box">
                    <div class="carousel__image"><img src="https://images.unsplash.com/photo-1553514029-1318c9127859?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div>
                    <div class="carousel__contents">
                        <h2 class="user__name">Candice Marchand</h2>
                        <h3 class="user__title">Mindful Realist of Motion Laws </h3>
                    </div>
                </div>
            </li>
            <li class="carousel__item" tabindex="0">
                <div class="carousel__box">
                    <div class="carousel__image"><img src="https://images.unsplash.com/photo-1596813362035-3edcff0c2487?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div>
                    <div class="carousel__contents">
                        <h2 class="user__name">Jennifer Salazar</h2>
                        <h3 class="user__title">Design Habitué</h3>
                    </div>
                </div>
            </li>
            <li class="carousel__item" tabindex="0">
                <div class="carousel__box">
                    <div class="carousel__image"><img src="https://images.unsplash.com/photo-1552374196-c4e7ffc6e126?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div>
                    <div class="carousel__contents">
                        <h2 class="user__name">Antonin Dufour</h2>
                        <h3 class="user__title">Human-Centered Designer</h3>
                    </div>
                </div>
            </li>
            <li class="carousel__item" tabindex="0">
                <div class="carousel__box">
                    <div class="carousel__image"><img src="https://images.unsplash.com/photo-1530785602389-07594beb8b73?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div>
                    <div class="carousel__contents">
                        <h2 class="user__name">Melissa Simon</h2>
                        <h3 class="user__title">International Infrastructure Analyst</h3>
                    </div>
                </div>
            </li>
            <li class="carousel__item" tabindex="0">
                <div class="carousel__box">
                    <div class="carousel__image"><img src="https://images.unsplash.com/photo-1560250097-0b93528c311a?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div>
                    <div class="carousel__contents">
                        <h2 class="user__name">Brandon Murray</h2>
                        <h3 class="user__title">Central Functionality VP</h3>
                    </div>
                </div>
            </li>
        </ul>
        <div class="carousel__nav">
            <button class="prev">
                <svg width="24" height="24" viewBox="0 0 24 24">
                    <path d="M9.586 4l-6.586 6.586a2 2 0 0 0 0 2.828l6.586 6.586a2 2 0 0 0 2.18 .434l.145 -.068a2 2 0 0 0 1.089 -1.78v-2.586h7a2 2 0 0 0 2 -2v-4l-.005 -.15a2 2 0 0 0 -1.995 -1.85l-7 -.001v-2.585a2 2 0 0 0 -3.414 -1.414z"></path>
                </svg><span>prev</span>
            </button>
            <button class="next"><span>next</span>
                <svg width="24" height="24" viewBox="0 0 24 24">
                    <path d="M12.089 3.634a2 2 0 0 0 -1.089 1.78l-.001 2.586h-6.999a2 2 0 0 0 -2 2v4l.005 .15a2 2 0 0 0 1.995 1.85l6.999 -.001l.001 2.587a2 2 0 0 0 3.414 1.414l6.586 -6.586a2 2 0 0 0 0 -2.828l-6.586 -6.586a2 2 0 0 0 -2.18 -.434l-.145 .068z"></path>
                </svg>
            </button>
        </div>
    </section>
</main>
<a class="social-icon codepen" href="https://blog.csdn.net/qq_35241329?type=blog" title="view my codepens">
    <span>仅用于学习交流</span>
</a>
</body>
<script>
    const d = document;
    const $q = d.querySelectorAll.bind(d);
    const $g = d.querySelector.bind(d);
    const $prev = $g(".prev");
    const $next = $g(".next");
    const $list = $g(".carousel__list");
    let auto;
    let pauser;

    const getActiveIndex = () => {
        const $active = $g("[data-active]");
        return getSlideIndex($active);
    }

    const getSlideIndex = ($slide) => {
        return [...$q(".carousel__item")].indexOf( $slide );
    }

    const prevSlide = () => {
        const index = getActiveIndex();
        const $slides = $q(".carousel__item");
        const $last = $slides[$slides.length-1];
        $last.remove();
        $list.prepend($last);
        activateSlide( $q(".carousel__item")[index] );
    }
    const nextSlide = () => {
        const index = getActiveIndex();
        const $slides = $q(".carousel__item");
        const $first = $slides[0];
        $first.remove();
        $list.append($first);
        activateSlide( $q(".carousel__item")[index] );
    }

    const chooseSlide = (e) => {
        const max = (window.matchMedia("screen and ( max-width: 600px)").matches) ? 5 : 8;
        const $slide = e.target.closest( ".carousel__item" );
        const index = getSlideIndex( $slide );
        if ( index < 3 || index > max ) return;
        if ( index === max ) nextSlide();
        if ( index === 3 ) prevSlide();
        activateSlide($slide);
    }

    const activateSlide = ($slide) => {
        if (!$slide) return;
        const $slides = $q(".carousel__item");
        $slides.forEach(el => el.removeAttribute('data-active'));
        $slide.setAttribute( 'data-active', true );
        $slide.focus();
    }

    const autoSlide = () => {
        nextSlide();
    }

    const pauseAuto = () => {
        clearInterval( auto );
        clearTimeout( pauser );
    }

    const handleNextClick = (e) => {
        pauseAuto();
        nextSlide(e);
    }

    const handlePrevClick = (e) => {
        pauseAuto();
        prevSlide(e);
    }

    const handleSlideClick = (e) => {
        pauseAuto();
        chooseSlide(e);
    }

    const handleSlideKey = (e) => {
        switch(e.keyCode) {
            case 37:
            case 65:
                handlePrevClick();
                break;
            case 39:
            case 68:
                handleNextClick();
                break;
        }
    }

    const startAuto = () => {
        auto = setInterval( autoSlide, 3000 );
    }

    startAuto();

    $next.addEventListener( "click", handleNextClick );
    $prev.addEventListener( "click", handlePrevClick );
    // $list.addEventListener( "click", handleSlideClick );
    $list.addEventListener( "focusin", handleSlideClick );
    $list.addEventListener( "keyup", handleSlideKey );

</script>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/522282.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mysql数据库的表操作 --3

表操作 3.1&#xff1a;创建表 语法&#xff1a; CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎; 说明&#xff1a; field 表示列名 datatype 表示列的…

Java 数组与List转换

int[] 与 List<Integer> 转换 刷题常见 int[] 转 List<Integer> // int[] 转 List<Integer> int[] arr {1, 2, 3, 4, 5}; List<Integer> list Arrays.stream(arr).boxed().collect(Collectors.toList());解释&#xff1a; Arrays.stream(arr) /…

基于Ant DesignPro Vue + SpringBoot 前后端分离 - 部署后解决跨域的问题

基于Ant DesignPro Vue SpringBoot 前后端分离 - 部署后解决跨域的问题 通过Ant DesignPro Vue SpringBoot 搭建的后台管理系统后&#xff0c;实现了前后端分离&#xff0c;并实现了登录认证&#xff0c;认证成功后返回该用户相应权限范围内可见的菜单&#xff1b;但时将服务…

剑指 Offer II 105. 岛屿的最大面积代码注释

题目&#xff1a; 给定一个由 0 和 1 组成的非空二维数组 grid &#xff0c;用来表示海洋岛屿地图。 一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0&#xff08;代表…

第一章 集合框架

文章目录 什么是集合框架集合接口Set和List的区别 集合实现类&#xff08;集合类&#xff09;集合算法 什么是集合框架 官方教程 Java 集合框架 Java Collection Framework &#xff0c;又被称为容器container&#xff0c;是定义在java.util包下的一组接口 interfaces和其实现…

【华为HCIP | 高级网络工程师】刷题日记(8)

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大二在校生 &#x1f43b;‍❄️个人主页&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;落798. &#x1f54a;️系列专栏&#xff1a;零基础学java ----- 重识c语言 ---- 计算机网络 &#x1f413;每日一…

68.建立手风琴组件第一部分

本节目标 使用的文件 本次使用的文件可私信我获取&#xff0c;本次就只有两张图片 ● 我们导入两个照片至我们的项目文件夹&#xff0c;并新建一个HTML文件 ● 之后我们输入感叹号&#xff0c;让他自动为什么生成初始代码 ● 之后我们修改下title&#xff0c;导入字体、…

springboot+vue家具网站(源码+文档)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的家具网站。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&#xff1a;风歌&#…

kafka之消费者进阶

一、几个概念 1. 消费者组 消费者组&#xff1a;一个消费者组包含多个消费者。同一个消费组的消费者&#xff0c;分别消费不同的partition&#xff0c;便于加快消费。 kafka约定在一个消费者组中&#xff0c;对于同一个topic&#xff0c;每个consumer会分配不同partition&am…

Unity搭建VR全景图

VR全景图片显示和相机旋转 ** 如果需要内置面材质球文件&#xff0c;可以私信下我 ** 场景构建 创建项目后拖进所需文件 文件有内置面材质球、图片等 创建文件 拖拽内置面材质球进入场景&#xff0c;并设置相机在球内部 再创建一个材质球&#xff0c;命名和图片相同 选…

springcloud+springboot+vue学生信息管理系统(选课,成绩,奖惩,奖学金,缴费)xnt81

后端语言&#xff1a;Java 框架&#xff1a;springcloudspringboot 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 学生信息管理系统主要实现角色有管理员和学生,教师,管理员在后台管理学生模块、学籍信息模块、选择课程模块、用户表模块、收藏表模块、课程信息模块…

国产航顺HK32F030M: 448byte EEPROM

EEPROM (~Electrically Erasable Programmable read only memory~)是指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片。 HK32F030M用户手册V1.1.9.pdf bsp_eeprom.c #include "bsp_eeprom.h"/*****************************************************…

springboot+vue房产销售平台(源码+文档)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的房产销售平台。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&#xff1a;风歌&a…

切换以太网接口MAC地址的批处理脚本

MAC&#xff08;媒体访问控制&#xff09;地址是网络设备的唯一标识符&#xff0c;用于网络通信。MAC 地址通常在设备制造时被分配并写入硬件。然而&#xff0c;在某些情况下&#xff0c;你可能需要或想要更改设备的 MAC 地址。以下是一些可能的理由&#xff1a; 1. **隐私和安…

Linux期末复习总结

一、Linux基础及安装 LINUX是在UNIX基础上开发,具有UNIX全部功能。 **Linux特点&#xff1a;**开放性、多用户、多任务、出色的稳定性、良好的用户界面、设备独立性、丰富的网络功能、安全性、可移植性 Linux由4个主要部分组成&#xff1a;内核、Shell、文件系统、应用程序 …

【Python入门篇】——Python中循环语句(while循环的基础语法和基础案例)

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; Python入门&#xff0c;本专栏主要内容为Python的基础语法&#xff0c;Python中的选择循环语句…

如何获得高并发经验?看这篇文章就够了

如何获得高并发经验&#xff1f; 这是我今天逛知乎的时候系统邀请我回答的一个问题&#xff0c;由此也引发了我的一些思考&#xff1a;为什么人人都想要获得高并发经验&#xff1b;想拥有高并发系统设计技能&#xff1f; 其原因LZ认为主要有以下三点&#xff1a; 涨薪&#x…

MD-MTSP:麻雀搜索算法SSA求解多仓库多旅行商问题(提供MATLAB代码,可以修改旅行商个数及起点)

一、多仓库多旅行商问题 多旅行商问题&#xff08;Multiple Traveling Salesman Problem, MTSP&#xff09;是著名的旅行商问题&#xff08;Traveling Salesman Problem, TSP&#xff09;的延伸&#xff0c;多旅行商问题定义为&#xff1a;给定一个&#x1d45b;座城市的城市集…

【C++】内联函数----inline函数的详细使用教程

&#x1f339;作者:云小逸 &#x1f4dd;个人主页:云小逸的主页 &#x1f4dd;Github:云小逸的Github &#x1f91f;motto:要敢于一个人默默的面对自己&#xff0c;强大自己才是核心。不要等到什么都没有了&#xff0c;才下定决心去做。种一颗树&#xff0c;最好的时间是十年前…

分享一个一键换肤按钮(超酷)

先上效果图&#xff1a; 效果图中转换为黑夜会有一个宇航员小猴子飞上来&#xff0c;途中没有截到。。。。 废话不多说&#xff0c;上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title…