jss 介绍
jsS 是一种比 css 更强大的抽象,它使用 JavaScript 以声明和可维护的方式描述样式。它是一个高性能的 js to css 编译器,可在运行时和服务器端运行。它是低级别并且与框架无关的,大约有 6KB 大小,并且可以通过插件 API 进行扩展。
使用场景
构建 JavaScript 很重的应用
使用基于组件的架构
构建可重用的 UI 库
需要一个无冲突的 css (外部内容、第三方 UI 组件等)
需要在 js 和 css 之间共享代码
下载量小很重要
健壮性和代码重用很重要
易于维护很重要
Demo
import jss from 'jss'
import preset from 'jss-preset-default'
import color from 'color'
// One time setup with default plugins and settings.
jss.setup(preset())
const styles = {
button: {
fontSize: 12,
'&:hover': {
background: 'blue'
}
},
ctaButton: {
extend: 'button',
'&:hover': {
background: color('blue')
.darken(0.3)
.hex()
}
},
'@media (min-width: 1024px)': {
button: {
width: 200
}
}
}
const {classes} = jss.createStyleSheet(styles).attach()
document.body.innerhtml = `
<button class="${classes.button}">Button</button>
<button>CTA Button</button>
`
生成结果
<head>
<style>
.button-123456 {
font-size: 12px;
}
.button-123456:hover {
background: blue;
}
.ctaButton-789012 {
font-size: 12px;
}
.ctaButton-789012:hover {
background: red;
}
@media (min-width: 1024px) {
.button-123456 {
min-width: 200px;
}
}
</style>
</head>
<body>
<button class="button-123456">Button</button>
<button class="ctaButton-789012">CTA Button</button>
</body>
网站地址:https://cssinjs.org
GitHub:https://github.com/cssinjs/jss
网站描述:一个高性能的 JS to CSS 编译器
jss
官方网站:https://cssinjs.org
小编说
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。