在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

你需要知道的 CSS-in-JS

  • 2017-11-26
  • 本文字数:5209 字

    阅读完需:约 17 分钟

什么是 CSS-in-JS?直接在.css 文件里写 CSS(CSS-in-CSS)不是挺好的吗,为什么还需要 CSS-in-JS?

说到这里,不得不提到组件化。因为有了组件化概念,就不再需要维护一大堆杂乱的样式。CSS-in-JS 在组件层面(而不是文档层面)对 CSS 进行了抽象。在项目中维护一个巨大的样式文件夹实在是一件让人感到头疼的事情,很多人不禁感叹,是否还有其他更好的办法?不用说,CSS-in-JS 在目前看来就是一个最佳解决方案。

当然,要继续使用 CSS-in-CSS 还是转向 CSS-in-JS 完全取决于开发者自己,最关键的是选择合适的工具来改进开发工作流,在提升生产力的同时也让开发变得更有趣。

什么是 CSS-in-JS

JSS 对 CSS 进行了抽象,使用了 JavaScript,以声明和可维护的方式来描述样式。它是一个高性能、运行在服务器端的运行时 JS 到 CSS 编译器。它的核心部分与框架无关,经过压缩后只有 6KB,并可以通过插件 API 的方式进行扩展。

需要注意的是,内联样式和 CSS-in-JS 是完全不一样的!

内联样式

复制代码
const textStyles = {
复制代码
   color: white,
复制代码
   backgroundColor: black
}
<p style={textStyles}>inline style!</p>

在浏览器里,样式属性会被附加到 DOM 节点上:

复制代码
<p style="color: white; backgrond-color: black;">inline style!</p>

CSS-in-JS

复制代码
import styled from 'styled-components';
const Text = styled.div`
复制代码
   color: white,
复制代码
   background: black
`
<Text>Hello CSS-in-JS</Text>

在浏览器里,样式类会被附加到 DOM 节点上:

复制代码
<style>
.hash136s21 {
复制代码
   background-color: black;
复制代码
   color: white;
}
</style>
<p class="hash136s21">Hello CSS-in-JS</p>

可以看出,CSS-in-JS 会附加整个

2017-11-26 18:004869
用户头像

发布了 322 篇内容, 共 160.5 次阅读, 收获喜欢 148 次。

关注

评论

发布
暂无评论
发现更多内容

数据不 Ready,一切 AI Ready 都是伪命题

袋鼠云数栈

数据库 大数据 数据治理 Data + AI 数据开发与治理

淘宝图片搜索接口技术解析与Python实现

tbapi

淘宝图片搜索接口 淘宝拍立淘接口 天猫图片搜索接口 天猫拍立淘接口

EMQX + Amazon S3 Tables:从实时物联网数据到数据湖仓

EMQ映云科技

mqtt Amazon S3

京东携手HarmonyOS SDK首发家电AR高精摆放功能

京东科技开发者

Web3支付App的技术框架

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

一文说明白Context Engineering:AI智能体的动态语境构建术

蔡超

AI Agent Agentic AI Context Engineering

AI背单词App的技术方案

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI背单词

AI时代需要什么样的园区网络?答案藏在四个新技术里

Alter

为什么你的 App 需要一个“超级大脑”?

Speedoooo

APP开发 小程序容器 小程序技术 小程序容器技术

KWDB 时序引擎核心能力——存储与读写

KaiwuDB

数据库 时序数据库

第七在线成功入选中服协《2025中国服装行业创新推荐目录》

第七在线

20250713动词ing,ed尾字母双写规则

codists

Python

苹果电脑装机必备软件推荐,Mac圈超实用软件列表

阿拉灯神丁

实用工具 苹果软件 Tuxera NTFS教程 CleanMyMac X中文版 mac装机必备

MyEMS 开源能源管理系统与同类系统的全方位对比分析

开源能源管理系统

开源 安全生产 绿色生产 能源管理系统

kimi2实测:5分钟造3D游戏+个人网站,真·国产Claude级编程体验,含Cline教程

阿星AI工作室

AI 产品经理 kimi

天猫商品详情API接口技术解析与Python实现

tbapi

天猫商品详情接口 天猫API 天猫商品数据采集

三级等保测评流程五步走

等保测评

冲进腾讯!太不容易了

王中阳Go

Go 腾讯 面试 后端

LambdaQueryWrapper遇上@Async

京东科技开发者

黑龙江密码测评的实施流程

等保测评

DeepSeek部署实战:模型对比、部署优化与应用场景解析

中烟创新

智源全面开源RoboBrain 2.0与RoboOS 2.0:刷新10项评测基准,多机协作加速群体智能

智源研究院

人工智能 具身智能

MyEMS 4G 网关:打造高效协同的能源管理中枢

开源能源管理系统

开源 能源管理系统 4G网关

智能网联 + AI:EMQX 5.10.0 大模型集成功能介绍

EMQ映云科技

人工智能 mqtt

黑龙江等保测评流程的注意事项

等保测评

多模态AI,敏感数据识别的终结者

权说安全

AI 零信任 数据防泄漏

大龄青年失业,可以在哪里寻找新的工作机会

Y11

求职 找工作 招聘 转行

MyEMS:ISO 50006 标准下的开源能源管理利器

开源能源管理系统

开源 ISO 50006 能源管理系统

基于业务知识和代码库增强的大模型生成代码实践

京东科技开发者

新能源锂电池制造执行系统(MES)全面解决方案

万界星空科技

mes 新能源行业 制造业工厂 新能源电池 锂电池mes

中烟创新灯塔大模型应用开发平台入选“2024年度百大AI产品”

中烟创新

你需要知道的CSS-in-JS_语言 & 开发_Indrek Lasn_InfoQ精选文章