拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

React Suite 图标旋转与翻转:rotate / flip 属性实战指南

React Suite 图标旋转与翻转:rotate / flip 属性实战指南 前端UI组件【免费下载链接】rsuite A suite of React components .项目地址https://gitcode.com/gh_mirrors/rs/rsuite点击查看免费下载React Suite 的图标组件rsuite/icons为每个图标提供了统一的rotate旋转与flip翻转属性可快速实现图标方向的调整而无需额外编写 CSS 变换。本文以 旋转和翻转示例 为核心结合图标文档的属性定义与 rsuite 源码实现讲解旋转、翻转、动态旋转spin/pulse的完整用法、参数取值与常见应用场景读完即可在你的 React 应用中直接使用。一、示例全貌一行代码改变图标方向React Suite 官方文档在「旋转和翻转Flip and rotate」一节中通过如下示例演示了rotate与flip的用法完整示例见 rotate.mdimport { HStack } from rsuite; import PieChartIcon from rsuite/icons/PieChart; const App () ( HStack spacing{10} PieChartIcon style{{ fontSize: 2em }} / PieChartIcon rotate{90} style{{ fontSize: 2em }} / PieChartIcon rotate{180} style{{ fontSize: 2em }} / PieChartIcon rotate{270} style{{ fontSize: 2em }} / PieChartIcon fliphorizontal style{{ fontSize: 2em }} / PieChartIcon flipvertical style{{ fontSize: 2em }} / /HStack ); ReactDOM.render(App /, document.getElementById(root));该示例在同一水平布局中依次渲染了 6 个PieChart图标未变换的原始图标、旋转 90°/180°/270° 的三个图标以及水平翻转、垂直翻转的两个图标。效果依次呈现为饼图指针指向 12 点方向 → 3 点方向 → 6 点方向 → 9 点方向 → 左右镜像 → 上下镜像。示例中的两个关键元素图标组件rsuite/icons/PieChart是 rsuite 提供的单个图标组件每个图标组件以及通用Icon组件都支持rotate、flip、spin、pulse等属性见下文 Props 表格。布局组件HStack来自rsuite主包用于水平排列图标并统一控制间距spacing{10}表示每个图标间隔 10px。从源码看HStack.tsx 本质上是Stack组件在directionrow水平方向下的封装若传入reverse则为row-reverse而 Stack.tsx 基于 Flexbox 实现支持divider子元素间隔符与wrap是否换行等能力。二、rotate 属性角度旋转rotate属性接收一个number类型数值单位为角度deg用于将图标顺时针旋转指定度数。属性类型默认值说明rotatenumber无旋转图标单位为角度deg官方 Props 表格中关于rotate的原始定义见 Icon 文档 en-USPropertyType(Default)DescriptionrotatenumberRotate icon常用角度取值与语义文档示例给出了三个典型值覆盖了最常见的图标朝向调整需求rotate{90}顺时针旋转 90°例如将向右箭头变为向下箭头rotate{180}旋转半圈常用于展开/收起排序切换等双向语义图标rotate{270}顺时针旋转 270°等价于逆时针 90°。需要注意rotate只接受数字直接传带单位的字符串如90deg不符合类型定义图标本身是基于 SVG 实现的旋转不会影响图标的渲染尺寸与颜色可放心与size、style等属性组合使用若需要更复杂的变换如倾斜skew、3D 旋转仍建议直接使用 CSStransform但rotate的优势在于它是组件级语义化属性无需关心 CSS 优先级与类名覆盖问题。三、flip 属性水平/垂直镜像翻转flip属性用于对图标做镜像翻转取值仅有两种字符串属性类型说明fliphorizontal \| vertical翻转图标fliphorizontal水平翻转即沿垂直轴做左右镜像类似镜子效果flipvertical垂直翻转即沿水平轴做上下镜像。在示例中PieChartIcon fliphorizontal style{{ fontSize: 2em }} / PieChartIcon flipvertical style{{ fontSize: 2em }} /应用场景举例水平翻转常用于「方向指示」类图标的左右切换例如分页中的上一页/下一页箭头垂直翻转常用于「排序/升降序」语义例如数值列表的升序降序切换。四、rotate 与 flip 在 iconfont 图标中的应用rotate与flip并非只适用于rsuite/icons的单个图标组件通过createIconFont创建的IconFont组件同样支持这些属性。官方 create-icon-font.md 示例中就同时使用了旋转与翻转import { createIconFont } from rsuite/icons; const IconFont createIconFont({ scriptUrl: //at.alicdn.com/t/font_2144422_r174s9i1orl.js, commonProps: { style: { fontSize: 30, color: #1675e0 } }, onLoaded: () { console.log(onLoaded); } }); const App () ( div style{{ display: flex, gap: 10 }} IconFont iconrs-iconnotice rotate{90} / IconFont iconrs-iconrandom fliphorizontal / IconFont iconrs-icongrowth flipvertical / {/* ...其他图标 */} /div );IconFont的 Props 定义Icon 文档与单个图标组件保持一致属性类型说明fillstring(currentColor)图标填充颜色fliphorizontal \| vertical翻转图标iconstringiconfont 图标集中的名称pulseboolean动态旋转图标有脉冲效果八步旋转rotatenumber旋转图标spinboolean动态旋转图标styleCSSProperties图标样式例如fontSize和color这意味着一套统一的图标变换属性贯穿了 rsuite 图标体系的所有使用方式无论图标来自内置组件、iconfont 还是自定义 SVG。五、同族能力spin 与 pulse 动态旋转rotate/flip属于静态变换而 rsuite 还提供了两个动态旋转属性官方 spin.md 示例import { HStack } from rsuite; import GearIcon from rsuite/icons/Gear; import SpinnerIcon from rsuite/icons/Spinner; const App () ( HStack spacing{10} GearIcon spin style{{ fontSize: 2em }} / SpinnerIcon pulse style{{ fontSize: 2em }} / /HStack );spin让任意图标持续匀速旋转常用于加载中状态pulse让图标以 8 步阶梯式旋转官方描述为rotate with eight steps适合作为加载指示器的柔和动画。由于文档中Icon与单个图标组件拥有完全相同的属性集合en-US Props 表上述能力可以归纳为一张完整表格属性类型(默认值)描述asElementTypeSVGElement自定义的 svg 图标组件fillstring(currentColor)图标填充颜色fliphorizontal | vertical翻转图标pulseboolean动态旋转图标有脉冲效果rotatenumber旋转图标sizestring图标大小同时设置宽度和高度spinboolean动态旋转图标styleCSSProperties图标的样式例如fontSize和color六、配套使用布局、尺寸与颜色旋转与翻转通常与图标的其他能力组合使用官方文档中这几个示例均为同一PieChart图标在不同场景下的应用尺寸size.md通过size1rem至size5rem控制图标大小等价于同时设置宽高旋转/翻转不影响尺寸表现颜色color.md通过style{{ color: red }}等方式着色fill默认值即currentColor跟随文本颜色旋转/翻转不会改变颜色间距HStack的spacing属性统一控制图标间距保持布局整齐。组合示例HStack spacing{15} {/* 旋转 颜色 */} PieChartIcon rotate{90} style{{ color: #3498FF, fontSize: 2em }} / {/* 翻转 尺寸 */} PieChartIcon flipvertical size2rem / {/* 动态旋转 颜色 */} GearIcon spin style{{ color: #f5a623, fontSize: 2em }} / /HStack七、环境与依赖说明使用这些能力需要安装图标组件包rsuite/icons。当前仓库的 package.json 中声明了rsuite/icons: ^1.4.0安装命令参考文档页面index.tsx为npm i rsuite/iconsyarn/pnpm/bun 分别对应yarn add、pnpm add、bun add单图标组件如PieChartIcon、GearIcon、SpinnerIcon与通用Icon组件共享同一套 Props示例中的HStack来自rsuite主包其实现基于 StackFlexbox 布局支持spacing、divider、wrap等属性可满足图标组的多种排版需求若使用 iconfont则需要通过createIconFont({ scriptUrl })加载图标资源后使用IconFont组件。小结静态变换rotate{90|180|270}顺时针旋转fliphorizontal/flipvertical做镜像翻转动态旋转spin持续旋转pulse八步脉冲旋转适用范围内置单图标、通用Icon、createIconFont创建的IconFont均支持这些属性推荐实践将方向变换写成组件级属性而非手写 CSS配合HStack布局与size/color属性可快速构建一致的图标展示效果。赞分享前端UI组件【免费下载链接】rsuite A suite of React components .项目地址https://gitcode.com/gh_mirrors/rs/rsuite点击查看免费下载相关推荐3分钟搞定Font Awesome 7图标旋转与翻转全指南3分钟搞定Font Awesome 7图标旋转与翻转全指南 你是否还在为网页图标方向单一而烦恼想让按钮图标倾斜45°增强动感需要镜像翻转图标适应多语言界面前端UI组件MyTinySTL中的容器旋转rotate与rotate_copyMyTinySTL中的容器旋转rotate与rotate_copy 你是否曾遇到需要将容器中元素重新排列的场景比如将数组的前半部分移到末尾或者在不使用额外标准库platform-war-public高级技巧优化知识图谱存储提升AI辩论质量的10个方法platform war public高级技巧优化知识图谱存储提升AI辩论质量的10个方法 想要让你的AI辩论系统更智能、更有深度吗 今天我们来分享10上一篇Coil错误处理全攻略从加载失败到智能回退机制下一篇Data-Science-Gen-AI-Playlist-2024职业导师计划行业专家指导创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表