千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 样式反应应用程序:风格化与样式化组件

样式反应应用程序:风格化与样式化组件

来源:千锋教育
发布人:syq
时间: 2022-09-22 16:16:47 1663834607

  比较这两种工具在设置 React 应用样式时的方法。风格化根据您编写的内容生成实用程序优先的CSS。它适用于任何框架和任何工具。带样式的组件是用于设置 React 组件样式的库。本文不是关于哪种工具更好,而是关于比较使用这些工具设置应用样式时的方法。

样式反应应用程序

  设置

  对于下面的所有示例,我将使用 vite-react 设置。

  样式化需要安装和一些配置。这是因为 CSS 是在应用初始化之前在构建期间生成的:

  npm i -D @stylify/unplugin

  和配置.js:

从 React 中的短语列表中键入动画731

  您可以尝试编辑堆栈闪电战上的风格化+维特+反应和风格化+下一个示例。

  样式化组件只需要安装库,就可以立即使用。

  npm i styled-components

  语法和用法

  如果要使用“带样式的组件”设置元素的样式,可以使用 CSS API 或创建组件:

从 React 中的短语列表中键入动画1243

  生成的 CSS 如下所示:

从 React 中的短语列表中键入动画1362

  另一方面,样式化获取文件内容并为每个匹配的选择器生成CSS。默认情况下,每个选择器都是一个实用程序,并且仅生成一次。

  默认情况下,语法是本机 CSS 。此外,在编写值时,您可以使用(两个下划线)而不是空格和(帽子)作为引号。它类似于Tailwind,但不必学习和记住自定义选择器和快捷方式。如果您了解 CSS,那么您已经知道样式化选择器。如果您需要更短或自定义的选择器,可以添加自己的宏。property:value__^

  无需定义组件即可立即写入选择器。

从 React 中的短语列表中键入动画2024

  输出:

从 React 中的短语列表中键入动画2133

  但是,没有人想要带有实用程序的臃肿模板。有时组件是必需的。它们可以在配置中全局定义,也可以在文件中本地定义(通过内容选项),并在文件中使用它们。在文件中,它需要一个没有周围括号的 javascript 对象。建议在注释中使用该定义,因为几乎任何文件格式都可以处理注释。在样式化中,组件是一个CSS类,它可以用于任何元素:

从 React 中的短语列表中键入动画2749

  CSS 中的选择器附加到它需要的每个选择器。因此,选择器/重复项较少,CSS较小。title

从 React 中的短语列表中键入动画2901

  在生产方面,可以选择器可以缩小:

  HTML:

从 React 中的短语列表中键入动画3072

  CSS:

从 React 中的短语列表中键入动画3182

  媒体查询

  当我们需要为各种媒体查询使用不同的样式时,我们可以在样式化组件中像这样执行此操作:

从 React 中的短语列表中键入动画3334

  使用样式化,您可以使用预定义的屏幕或动态屏幕:

从 React 中的短语列表中键入动画3585

  变量

  变量可以直接在样式化组件中使用:

从 React 中的短语列表中键入动画3710

  样式化允许您定义变量,然后在选择器中使用它们:

从 React 中的短语列表中键入动画3585

  当存在我们需要各种类型的一个按钮的情况时,我们需要在Stylify中编写完整的选择器:

从 React 中的短语列表中键入动画3710

  关键帧

  样式化零部件中的关键帧可以按如下方式定义:

从 React 中的短语列表中键入动画3963

  在风格化中,它看起来有点不同:

从 React 中的短语列表中键入动画4112

  一个简单的动画示例:

从 React 中的短语列表中键入动画4480

  设置关键帧样式示例

  普通选择器

  当涉及到全局样式和简单选择器时,可以使用在样式化组件中定义它们:createGlobalStyle

从 React 中的短语列表中键入动画4651

  在样式化中,使用普通选择器也可以实现相同的操作。选择器直接注入到生成的 CSS 文件中。

从 React 中的短语列表中键入动画4930

  拆分断层扫描

  在优化方面,样式化组件是一个很好的工作,因为它会自动将CSS拆分为关键和非关键,并注入所用组件的CSS。但是,编译是在应用运行时完成的。

  风格化不是这样工作的。

  它根据您的配置生成CSS文件,您必须告诉应用程序何时应加载CSS。

  您可以为每个页面/组件/布局单独配置捆绑包。即使您可以根据需要拆分CSS,但由于实用程序/组件组合,CSS的大小将相对较小,因为选择器仅生成一次。因此,有时只有前端+管理员CSS是有意义的。样式化网站的 Kb 小于 20 Kb,其他网站在 30–50 Kb 之间,

  还有一个功能是,它不会减慢应用程序的速度,因为 CSS 是在应用程序初始化之前生成的。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT