横向手风琴效果

2023-11-03

 

html

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">

    <title>带标题描述的圆角图片手风琴效果</title>
    <!-- 引入字体图标 -->
    <link rel="stylesheet" href="/fonts/css/font-awesome.css">
    <link rel="stylesheet" href="133.css">
</head>

<body>
    <div class="container">
        <div class="item active" style="background-color: aquamarine;">
            <div class="shadow"></div>
            <div class="content">
                <div class="icon">
                    <i class="fa fa-sun-o"></i>
                </div>
                <div class="text">
                    <div class="tit">这是标题</div>
                    <div class="sub">这是一段描述</div>
                </div>
            </div>
        </div>
        <div class="item" style="background-color:rebeccapurple">
            <div class="shadow"></div>
            <div class="content">
                <div class="icon">
                    <i class="fa fa-cloud"></i>
                </div>
                <div class="text">
                    <div class="tit">这是标题</div>
                    <div class="sub">这是一段描述</div>
                </div>
            </div>
        </div>
        <div class="item" style="background-color: cadetblue;">
            <div class="shadow"></div>
            <div class="content">
                <div class="icon">
                    <i class="fa fa-tint"></i>
                </div>
                <div class="text">
                    <div class="tit">这是标题</div>
                    <div class="sub">这是一段描述</div>
                </div>
            </div>
        </div>
        <div class="item" style="background-color: brown;">
            <div class="shadow"></div>
            <div class="content">
                <div class="icon">
                    <i class="fa fa-bolt"></i>
                </div>
                <div class="text">
                    <div class="tit">这是标题</div>
                    <div class="sub">这是一段描述</div>
                </div>
            </div>
        </div>
        <div class="item" style="background-color: chartreuse;">
            <div class="shadow"></div>
            <div class="content">
                <div class="icon">
                    <i class="fa fa-snowflake-o"></i>
                </div>
                <div class="text">
                    <div class="tit">这是标题</div>
                    <div class="sub">这是一段描述</div>
                </div>
            </div>
        </div>
    </div>
    <script src="133.js"></script>
</body>

</html>

css

*{
    margin: 0;
    padding: 0;
}
body{
    /* 100%窗口高度 */
    height: 100vh;
    /* 弹性布局 水平+垂直居中 */
    display: flex;
    justify-content: center;
    align-items: center;
    /* 径向渐变背景 */
    background: radial-gradient(circle at top center,#718497,#29323c);
}
.container{
    /* 弹性布局 默认水平排列 */
    display: flex;
    width: 90vw;
    max-width: 900px;
    height: 400px;
    /* 溢出隐藏 */
    overflow: hidden;
}
.item{
    /* 相对定位 */
    position: relative;
    width: 60px;
    margin: 10px;
    cursor: pointer;
    border-radius: 30px;
    /* 保持原有尺寸比例,裁切长边 */
    background-size: cover;
    /* 定位背景图像为正中间 */
    background-position: center;
    /* 过渡效果:时长 贝塞尔曲线 */
    transition: 0.5s cubic-bezier(0.05,0.61,0.41,0.95);
    overflow: hidden;
}
.item .shadow{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100px;
    transition: 0.5s cubic-bezier(0.05,0.61,0.41,0.95);
}
.item .content{
    display: flex;
    position: absolute;
    left: 10px;
    right: 0;
    bottom: 10px;
    height: 40px;
    transition: 0.5s cubic-bezier(0.05,0.61,0.41,0.95);
}
.item .content .icon{
    min-width: 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
}
.item:nth-child(1) .fa{
    color: #fc6e51;
}
.item:nth-child(2) .fa{
    color: #ffce54;
}
.item:nth-child(3) .fa{
    color: #2ecc71;
}
.item:nth-child(4) .fa{
    color: #5d9cec;
}
.item:nth-child(5) .fa{
    color: #ac92ec;
}
.item .content .text{
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: 10px;
    color: #fff;
    width: 100%;
}
.item .content .text div{
    /* 超出显示省略号(需要设置width) */
    width: calc(100% - 70px);
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.5s ease-out;
}
.item .content .text .tit{
    font-weight: bold;
    font-size: 18px;
}
.item .content .text .sub{
    /* 设置过渡效果延迟时间 */
    transition-delay: 0.1s;
}
/* 选中态样式 */
.item.active{
    flex: 1;
    margin: 0;
    border-radius: 40px;
}
.item.active .shadow{
    background: linear-gradient(to top,rgba(0,0,0,0.35) 65%,transparent);
}
.item.active .content{
    bottom: 20px;
    left: 20px;
}
.item.active .content .text div{
    opacity: 1;
}

js

// 获取所有.item元素
let items=document.querySelectorAll('.item');

// 设置选中态样式
function setActive(){
    // 遍历所有.item元素,移出active样式
    items.forEach((item)=>{
        item.classList.remove('active');
    })
    // 为当前选中项添加active样式
    this.classList.add('active');
}
// 遍历所有.item元素,分别为其设置点击事件
items.forEach((item)=>{
    item.addEventListener('click',setActive);
})

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

横向手风琴效果 的相关文章

  • 我可以在元标记中使用 HTML 字符实体吗?

    我有一个有两种语言的网站 英语和中文 在使用 UTF 8 字符集的英文主页中 我有 例如 这出现在搜索结果中 我想将其更改为 在哪里 20013 25991 是 中文 的 ISO 实体 搜索结果中会显示为 中文 吗 我无法将 中文 直接粘贴
  • 身体动画不流畅

    下面代码中的 spaceShip 在开始按住任何箭头键时移动并不顺利 它移动一步 冻结一瞬间 然后 平稳 地移动 怎样才能让它从一开始就顺利运转 而不是 冻结 My code
  • 更改元素的顺序

    我正在创建一个浮动宽度的网站 用户在智能手机上使用从全高清分辨率到约 600 像素的屏幕 这似乎是一个不错的主意 这就带来了一个非常有趣的问题 当用户使用比最佳分辨率更小的分辨率时 页面的高度会增加很多 这意味着更改某些元素 例如某些图像
  • 指南针字体输出错误的字体文件路径

    font face font family HelveticaNeueLTStd Lt src url css fonts HelveticaNeueLTStd Lt otf format opentype 这是我的指南针代码的输出 inc
  • 在 React 中切换 css 类

    如何使用布尔值切换 React 中元素上 css 类的存在 在 Angular 2 中我可以这样做 class red isRed 如何在 React 中做熟悉的事情 在 React 中 元素使用如下语法获取它们的类 div div 但请注
  • Safari 中的 css3 边框半径动画过渡不起作用

    尝试在 Safari 中对图像的边框半径进行 css3 轻松过渡 它只是有点闪烁进入悬停状态 而不是平滑过渡 任何帮助深表感谢 我的代码如下 CSS all a hover img webkit border radius 50 moz b
  • 当共享相同的行和列时,将网格项设置为不重叠

    现在 当两个网格项共享相同的行和列时 它们会相互重叠 div class some grid container div Item 1 div div Item 2 div div 我如何让它们不重叠 当共享相同的行和列时 其行为可能类似于
  • 如何在有序列表中组合数字和字母?

    如何在 CSS 中用数字和字母递增有序列表 ol nested margin bottom 0 counter reset item ol nested li display block position relative ol neste
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 如何在更大的 div 中垂直和水平居中一个 div?

    如何将一个 水平居中于另一个 中 我设法使用已接受答案中的样式水平居中 我怎样才能让它垂直居中 内部 div 的高度未知 https stackoverflow com questions 114543 how to center div
  • Twitter 卡元标签问题

    有问题的网址 https www halleonard com viewpressreleasedetail action releaseid 10261 https www halleonard com viewpressreleased
  • 删除子元素上的 CSS 过滤器

    我的 CSS 代码有问题 正如您所看到的 我在 li 元素上有过滤器 但它覆盖了其他元素 我需要使其他两个元素没有过滤器 有没有可能这样做 main width 300px height 300px background color blu
  • Jquery 数据表列总和

    我只是参考一下这个链接 https datatables net examples advanced init footer callback html了解如何获取 jquery 数据表中的列总计 但我已经完成了一半的项目 我在html页面
  • Firefox 不会在使用 jQuery AJAX 加载的内容上呈现 CSS 样式

    我有一个网站 允许用户对书籍和文章发表评论 主表单有一个搜索输入 用于查找相关书籍或文章 来源 我使用 jQuery 根据输入的搜索词从外部站点动态加载新源 然后还使用 AJAX 返回列表中的源 我有两个问题 现在 在用户输入四个字符后 j
  • 网站的主体和元素固定在 980px 宽度上,不会缩小

    我试图在 Rails 应用程序顶部启动前端 仅 HTML CSS 页面 但在使用 320px 视口时遇到问题 有些元素不会按比例缩小 我不明白为什么 我已经完成了检查元素 为各种元素提供了max width 100 and or width
  • 在 HTML5 画布中,如何用我选择的背景遮盖图像?

    我试图用画布来实现这一点 globalCompositeOperation 但没有运气 所以我在这里问 这里有类似的问题 但我没有在其中找到我的案例 我的画布区域中有图层 从下到上的绘制顺序 画布底座填充纯白色 fff 用fillRect
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • 在 HTML 下拉列表中有一个滚动条

    我正在寻找一种在 HTML 的下拉列表中添加滚动条的方法 这样如果下拉列表包含的内容超过例如 5 项 将出现滚动条以查看其余项 这是因为我将被迫列出一些大清单 过去几个小时我一直在谷歌上搜索它 但没有运气 它需要适用于 IE8 FF 和 C
  • 使用css bootstrap时如何仅向一列添加右边框?

    我正在尝试使用CSS引导框架 http getbootstrap com css tables在我的项目中 我正在使用带有以下类的表table table bordered table striped 我想删除除第一列之外的所有列的边框 这
  • HTML 锚点,禁用样式

    我有一些 html 锚链接代码 与文档的其余部分不同 我希望它看起来不是链接 有没有一种简单的方法可以禁用由于将文本包装在锚标记中而引起的样式更改 而不必强行使其相同 即 如果我更改正文字体样式 我不必也更改其他一些 link东西 将颜色设

随机推荐

  • 自制Jlink OB

    简言 bin 2020 for 6 6 bin 适用最新版的Jlink驱动 6 6x版本号 关于修改SN 打开Jlink Commander 输入exec setsn xxxxxxxx即可修改成功 依据网上的资源 做了一些修改 将原来的输出
  • 快速排序及三种排序方法 Hoare法/挖坑法/前后指针法

    快速排序 算法思想 基于分治的思想 是冒泡排序的改进型 同冒泡排序一样 快速排序也属于交换排序 通过元素之间的比较和交换位置来达到排序的目的 不同的是 冒泡排序在每一轮只把一个元素冒泡到数列的一端 而快速排序在每一轮挑选一个基准元素 并让其
  • 高性能的Web网关,一个工具等于 Nginx + Https证书 + 内网穿透 + 图片切割水印 + 网关登录...

    一 开源项目简介 Apiumc Gateway 它一个工具等于 Nginx Https证书 内网穿透 图片切割水印 网关登录 Apiumc Gateway 是高性能的Web网关 它从底层Socket原始通信层开始 采用多线程 多任务模式从新
  • HyperMesh 2D网格划分

    Hypermesh具有很强的二维四边形网格划分能力 核心思想是将二维几何模型划分为一个个四边形区域 然后在四边形区域内进行进一步的网格划分 常用工具是Geom gt quick edit和2D gt automesh 下面举例看一下 1 常
  • 图文并茂使用CocosBuilder制作Cocos2D游戏 分享0

    图文并茂使用CocosBuilder制作Cocos2D游戏 分享 0 目 录 The Game 设置工程 创建动画类型的主界面 本文由Zynga 工程师原创 翻译 Iven 张作宸 Butterfly 手把手教你使用CocosBuilder
  • 广东公需科目公需课十四五答案考试查询器

    QQ录屏20200723111627 效果看上面这个视频 其中需要data pkl文件 这上面无法上传 如果的可以联系我发给你 博客头像边上有我wx号 import pickle file open data pkl rb data pic
  • 010 - STM32学习笔记 - SysTick系统定时器

    010 STM32学习笔记 SysTick系统定时器 1 SysTick简介 SysTick是属于Cortex M内核的一个外设 嵌套在NVIC中 系统定时器是一个24位的递减计数器 每次计数事件位1 SYSCLK 在F429中之前配置的S
  • 最多变的混合模式-实色混合HardMix

    最多变的混合模式 实色混合HardMix 之前写过一篇介绍27种图层混合模式的非常详细 如果你想完全了解底层的原理 这篇文章不会让你失望 PS图层混合模式超详细解答 图层混合模式的原理 王先生的副业的文章 知乎 https zhuanlan
  • 合并两个无序数组java_Java实现把两个数组合并为一个的方法总结

    Java实现把两个数组合并为一个的方法总结 发布时间 2020 10 25 10 40 46 来源 脚本之家 阅读 76 作者 jaycee110905 本文实例讲述了Java实现把两个数组合并为一个的方法 分享给大家供大家参考 具体如下
  • 数据处理技巧(7):MATLAB 读取数字字符串混杂的文本文件txt中的数据

    MATLAB 读取数字字符串混杂的文本文件txt中的数据 目标 介绍 纯数字的情况 需要读取的文本文件 判断文件路径 matlab 读取数据的结果 代码块 文字开头 数字在后的情况 需要读取的文本文件 matlab 读取数据的结果 代码块
  • cmake--编译器设置

    前言 cmake支持多种不同方式设置编译器标志 1 使用 target compile definitions 设置编译器标志 2 使用CMAKE C FLAGS和CMAKE CXX FLAGS设置编译标志 一 目录结构 CMakeList
  • 复习C语言指针---函数指针

    复习C语言指针 函数指针 文章目录 复习C语言指针 函数指针 函数 函数指针 函数指针数组 回调函数 结束语 函数 一个函数表达式其实是不存在直接的 操作符的 操作符要求操作数是函数指指针 或者一些类类型 实际上 当用 f1 这样调用f1时
  • 华为服务器系统崩了怎么办,服务器崩溃重装系统

    服务器崩溃重装系统 内容精选 换一换 裸金属服务器操作系统无法正常启动 操作系统中毒 或裸金属服务器系统运行正常 但需要对系统进行优化 使其在最优状态下工作时 用户可以使用重装裸金属服务器的操作系统功能 重装操作系统是以原镜像进行系统重装
  • jackson 驼峰注解_springboot jackjson驼峰转下划线

    有如下几种方法 1 通过ObjectMapper设置 mapper setPropertyNamingStrategy com fasterxml jackson databind PropertyNamingStrategy SNAKE
  • C++ 模板

    模板是泛型编程的基础 泛型编程即以一种独立于任何特定类型的方式编写代码 模板是创建泛型类或函数的蓝图或公式 库容器 比如迭代器和算法 都是泛型编程的例子 它们都使用了模板的概念 每个容器都有一个单一的定义 比如 向量 我们可以定义许多不同类
  • springboot整合Redis时spring.redis.database参数不生效

    问题描述 配置配件中配置redis的database参数无论配置什么值时都是默认的0 网上查阅大量资料没有查到原因 解决 在网上找到了此网友的回答 虽然没有直接帮助我们解决问题 但给我提供了解决问题的思路 从这图阔以看出redis的data
  • PCL分割方法:区域生长分割算法(RegionGrowing)

    转载 有梦想的田园犬 https blog csdn net AmbitiousRuralDog article details 80267519
  • 数字信号处理基础----傅里叶级数

    1 傅里叶级数的余弦形式 1 1 正交的三角函数集 三角函数集 1 2 2 1 2 3 内的函数在区间 上彼此正交 也即 任意两个不同的函数的内积为0 函数和自身的内积不为零 因此 函数可以由该正交函数集唯一的表示 1 2 傅里叶级数的定义
  • vite+vue3打包部署问题

    最近使用vite vue3写了个小的demo 发现打包部署后页面出不来 如果是正常把包放在服务器的根目录中 项目页面是可以打开的 但是我要部署的是根目录dist包里面 外面多了一层文件夹 解决 vite config ts文件 base z
  • 横向手风琴效果

    html