不使用字体图标和图片,只使用css如何做出展开收起的效果

<i class="iconArrow" :class="[ littleNavState === item.meta.id ? ‘arrowOpen‘ : ‘‘ ]"></i>

默认效果

 1 .iconArrow {
 2     position: absolute;
 3     top: 50%;
 4     right: 16px;
 5     width: 10px;
 6     -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
 7     transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
 8     transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
 9     transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
10 }
11 .iconArrow::before,
12 .iconArrow::after {
13     position: absolute;
14     width: 6px;
15     height: 1.5px;
16     background: #fff;
17     background: rgba(0, 0, 0, 0.65) \9;
18     background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.65)), to(rgba(0, 0, 0, 0.65)));
19     background-image: linear-gradient(to right, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65));
20     background-image: none \9;
21     border-radius: 2px;
22     -webkit-transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
23     transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
24     transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
25     transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
26     content: ‘‘;
27 }
28 .iconArrow::before {
29     -webkit-transform: rotate(45deg) translateY(-2px);
30     -ms-transform: rotate(45deg) translateY(-2px);
31     transform: rotate(45deg) translateY(-2px);
32 }
33 .iconArrow::after {
34     -webkit-transform: rotate(-45deg) translateY(2px);
35     -ms-transform: rotate(-45deg) translateY(2px);
36     transform: rotate(-45deg) translateY(2px);
37 }
38 .nav > li:hover .iconArrow::after,
39 .nav > li:hover .iconArrow::before {
40     background: -webkit-gradient(linear, left top, right top, from(#1890ff), to(#1890ff));
41     background: linear-gradient(to right, #1890ff, #1890ff);
42 }
43 .iconArrow::before {
44     -webkit-transform: rotate(-45deg) translateX(2px);
45     -ms-transform: rotate(-45deg) translateX(2px);
46     transform: rotate(-45deg) translateX(2px);
47 }
48 .iconArrow::after {
49     -webkit-transform: rotate(45deg) translateX(-2px);
50     -ms-transform: rotate(45deg) translateX(-2px);
51     transform: rotate(45deg) translateX(-2px);
52 }

收起效果

 1 .iconArrow.arrowOpen {
 2     -webkit-transform: translateY(-2px);
 3     -ms-transform: translateY(-2px);
 4     transform: translateY(-2px);
 5 }
 6 .iconArrow.arrowOpen::after {
 7     -webkit-transform: rotate(-45deg) translateX(-2px);
 8     -ms-transform: rotate(-45deg) translateX(-2px);
 9     transform: rotate(-45deg) translateX(-2px);
10 }
11 .iconArrow.arrowOpen::before {
12     -webkit-transform: rotate(45deg) translateX(2px);
13     -ms-transform: rotate(45deg) translateX(2px);
14     transform: rotate(45deg) translateX(2px);
15 }

原文地址:https://www.cnblogs.com/bobo-33/p/12331665.html

时间: 2024-07-28 19:14:52

不使用字体图标和图片,只使用css如何做出展开收起的效果的相关文章

Bootstrap&lt;基础十一&gt;字体图标(Glyphicons)

字体图标(Glyphicons),并通过一些实例了解它的使用.Bootstrap 捆绑了 200 多种字体格式的字形. 获取字体图标 我们已经在 环境安装 章节下载了 Bootstrap 3.x 版本,并理解了它的目录结构.在 fonts 文件夹内可以找到字体图标,它包含了下列这些文件: glyphicons-halflings-regular.eot glyphicons-halflings-regular.svg glyphicons-halflings-regular.ttf glyphi

WPF自定义控件与样式(1)-矢量字体图标(iconfont)

一.图标字体 图标字体在网页开发上运用非常广泛,具体可以网络搜索了解,网页上的运用有很多例子,如Bootstrap.但在C/S程序中使用还不多,字体图标其实就是把矢量图形打包到字体文件里,就像使用一般外置字体一样的使用,因此Winform.WPF中都是可以用的. 在我们多个WPF项目中广泛使用了图标字体,包括自定义控件.自定义样式.模板等.总结下: 网上开源字体图标很多,很容易获取,项目开发中需要的绝大部分图标都可以找到,非常方便,推荐 阿里巴巴开源字体: 字体文件非常小,比使用png等图片文件

Bootstrap 字体图标(Glyphicons)

Bootstrap 捆绑了 200 多种字体格式的字形.首先让我们先来理解一下什么是字体图标. 什么是字体图标? 字体图标是在 Web 项目中使用的图标字体.虽然,Glyphicons Halflings 需要商业许可,但是您可以通过基于项目的 Bootstrap 来免费使用这些图标. 获取字体图标 我们已经在 环境安装 章节下载了 Bootstrap 3.x 版本,并理解了它的目录结构.在 fonts 文件夹内可以找到字体图标,它包含了下列这些文件: glyphicons-halflings-

在uni-app中使用阿里巴巴图标库字体图标

阿里巴巴图标库 添加图标.下载.引入的使用方法: 1.添加图标 2.下载到字体图标文件后,复制圈中的两个文件到static目录下:         3.新建一个自定义字体图标样式文件: font-icon.css 4.给font-icon.css添加内容  5.font-icon.css具体代码: @font-face { font-family: uniicons; font-weight: normal; font-style: normal; src:url('[email protect

将png图片转换为字体图标

字体图标不仅可以随意调整大小,而且可以避免在页面制作过程中引用N多的图片,发送请求造成的流量浪费,因此,我们可以将图标的icon转换成字体图标: 方法: 1.将png格式的图片转换成svg格式: 网址:https://www.jinaconvert.com/cn/convert-to-svg.php 2.将svg格式的图标转成字体图标: 网址:https://icomoon.io/app/#/select 具体步骤: 1 点击右上角 IconMoon App 进入WebApp 2 点击左上角 I

如何使用iconfont字体图标代替网页图片?

一.IconFont的优点 1.轻量性 可以减少http请求,可以配合html5离线存储做性能优化,有利于后期维护. 2.灵活性 可以自由变换IconFont大小(不失真),可以修改IconFont颜色,可以添加阴影,旋转,透明度等视觉效果. 3.兼容性 图标字体IconFont支持所有现代浏览器,包括IE低版本. 二.IconFont的缺点 1.图标字体只能被渲染成单色或者css3的渐变色: 2.设计自已的IconFont需要花费大量时间,也会增加前端重构的成本: 3.Firefox和IE9不

svg图片转换为WEB字体图标

今天我学会了使用字体制作网站   icomoon.io 制作web文本图标.跟我一起学习吧! (1)字体制作网站   icomoon.io   点击 icomoon APP  --->  import icons 导入文件入口 (2)SVG下载网站   iconsvg.com 专门下载svg图标 具体案例: 将SVG图标转换为字体文件,并可以应用到网页中. 一.下载svg   二.将svg文件转换为字体文件 三.字体图标的使用  显示效果

字体图标 Icon font

Icon font Icon font 指的是用字体文件取代图片文件,来展示图标.特殊字体等元素的方法. 应用场景: Icon Font的优缺点 大小可以自由地变化 颜色可以自由地修改 添加阴影效果 *IE6也可以支持 支持一些CSS3对文字的效果 字体文件比图片文件小很多 由于是字体,所以只可以显示纯色图片,不支持多种颜色的图片(缺点) 资源: 阿里icon font字库 这个是阿里妈妈M2UX的一个icon font字体图标字库,包含了淘宝图标库和阿里妈妈图标库. fontello 在线定制

为什么我们放弃css sprite使用iconfont字体图标

说在开头 前面有一篇博客说道,项目中使用压缩和css sprite技术对图标进行分类和组合: 但随着项目的不断完善,我们也遇到了很多问题:   1.如何对图标进行分类:刚开始还比较好,我们对图标进行分类,大概有银行卡图标一类,增删改图标一类,支付类 型一类,等等.但随着,图标的不断增加和业务直接的交叉,发现分类变得很困难,渐渐失去耐心.如果,把所有图标集成到一张图:但是有这样一种情况:有些页面只使用了一个图标,同时用户只在这个页面进行操作:却要下载一整张大图,浪费资源. 2.图标位置不好控制,很