当前位置: 首页 > 软件库 > Web应用开发 > 网页组件 >

styled-class

CSS-in-JS 库
授权协议 MIT
开发语言 JavaScript TypeScript
所属分类 Web应用开发、 网页组件
软件类型 开源软件
地区 国产
投 递 者 顾文昌
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

styled-class是一个CSS-in-JS库

为什么要在JavaScript里写CSS?

  1. 避免命名全局污染
  2. 条件和动态样式(比如选择主题色之类的)
  3. 在框架层面进行限制或补充(比如补全供应商前缀),避免业务人员使用奇技淫巧

styled-class的基本用法

import {styled} from "styled-class";

@styled
class Div1Style{
	background="red";
}
export function DemoComponent(){
	return <div className={Div1Style.toString()}>...这是一个组件</div>
}

使用styled装饰器,会生成的唯一class名称,自动创建相关style标签,并修改toString函数。toString()可以省略,会自动调用。 查看演示

结合mobx使用

import {styled,rgb,hsl,darken,lighten} from "styled-class";
import {observable, computed} from "mobx";

//主题色,用mobx监视
class Theme{
	@observable//主题色
	primary=rgb(51,122,183);
	 
	@computed//主题色-浅色
	get text(){
		return lighten(this.primary,0.15);
	}
}
var theme=new Theme();

@styled
export class PanelStyle{
	background=theme.primary;
	color=theme.text;
}
export function DemoComponent(){
	return <div className={PanelStyle.toString()} onClick={changeTheme}>...这是一个组件</div>
}
function changeTheme(){//使用mobx监视,primary改变时,自动更新样式
	theme.primary=hsl(360*Math.random(),0.55,0.45);//hsl 色相 饱和度 亮度
}

查看演示

可以使用类的继承来复用样式

import {styled} from "styled-class";

class BoxStyle{
	display="inline-block";
	margin="20px";
	padding="20px";
}
@styled
export class Div1Style extends BoxStyle{
	background="red";
}
@styled
export class Div2Style extends BoxStyle{
	background="blue";
}

查看演示

可以和Less、Sass等预处理器同时使用

直接使用预处理器编译完成的即可。

xxx.className=MyStyle.toString()+" clearfix";

内置了常用的颜色计算函数

import {styled,rgb,rgba,hsl,darken,lighten,mix,saturate,spin} from "styled-class";

var a=rgba(255,255,255,1);
var b=mix(rgba(100,100,100,1),0xc8c8c8);

可处理常用的兼容性问题和浏览器补全

import {styled,gradient} from "styled-class";
@styled
class GradientExample{
	color="white";
	margin="20px";
	padding="20px";
	background=gradient(0x3388ff,0x000000);
}

查看演示

  • 在react之中使用css不像vue之中那么方便,react官方也没有很统一的用法,下面是有关于styled-component的使用。 1、安装库 yarn add styled-components 2、基本使用 在其中styled.div``代表的是div的css样式,在其中.banner表示div下的类名为banner的节点。span之下的&.active,代表的是span标签并且类为a

  • 一、官网地址 https://www.styled-components.com/ 二、styled-components 1、styled-components 样式化组件,主要作用是它可以编写实际的CSS代码来设计组件样式,也不需要组件和样式之间的映射,即创建后就是一个正常的React 组件, 并且可以附加样式给当前组件。 优化react组件 2、在一个组件内会将结构、样式和逻辑写在一起,

  • 它是通过JavaScript改变CSS编写方式的解决方案之一,从根本上解决常规CSS编写的一些弊端。 通过JavaScript来为CSS赋能,我们能达到常规CSS所不好处理的逻辑复杂、函数方法、复用、避免干扰。 尽管像SASS、LESS这种预处理语言添加了很多用用的特性,但是他们依旧没有对改变CSS的混乱有太大的帮助。因此组织工作交给了像 BEM这样的方法,虽然比较有用,但是它完全是自选方案,不能

  • CSS是一门几十分钟就能入门,但是却需要很长的时间才能掌握好的语言。它有着它自身的一些复杂性与局限性。其中非常重要的一点就是,本身不具备真正的模块化能力。 系列文章链接 ↓ ↓ 【CSS模块化之路1】使用BEM与命名空间来规范CSS 【CSS模块化之路2】webpack中的Local Scope 【CSS模块化之路3】 使用?styled-components来进行react开发 1. 面临的问题

  • styled-components基本使用 一、官网地址 https://www.styled-components.com/ 二、styled-components   1、styled-components 样式化组件,主要作用是它可以编写实际的CSS代码来设计组件样式,也不需要组件和样式之间的映射,即创建后就是一个正常的React 组件,并且可以附加样式给当前组件。 优化react组件

  • 从npm官网来看,目前classnames的下载量越三百多万,styled-components下载量约一百多万。使用人数都是很多的,各有个的优缺点,以自己的代码习惯来选择吧。 一、classnames使用 官网对classnames的解释是:A simple JavaScript utility for conditionally joining classNames together.(将属性

  • 安装:npm install styled-components 引入:import styled from "styled-components"; 基本使用 /* 创建了一个Wrapper样式组件,该组件渲染之后是一个div标签 */ const Wrapper = styled.div` color: blue; `; <Wrapper > <span>这是一

  •         styled-components使用方式:在style.js文件中定义一个有样式的组件,组件中再去引入这个组件,进行页面的现实。         使用styled-components这个第三方模块的好处:样式都写在style.js文件里,实际上const出来的常量是一个个带样式的组件。这些组件的样式是独享的,他们之间不会产生任何的影响,有效的避免了多个组件可能产生css样式冲突

 相关资料
  • 给UILabel的文字加上各种各样的艺术字体效果,包括阴影(内阴影和外阴影)、渐变色彩、彩虹、浮雕效果等等,而且使用十分简单,能够完全代替UILabel。是一个功能十分强大又简单易用的类库。 [Code4App.com]

  • 自定义PageControl各种样式,包括形状、大小、颜色、文字等等。 [Code4App.com]

  • Styled React Boilerplate ⚛️ �� Minimal & Modern Boilerplate for building apps with React & styled-components Demo Site •FAQ Highlights Less complex than create-react-app Features styled-components Use

  • JavaScript 明星项目 risingstars.js.org 最受欢迎项目 Vue.js 连续第三次登顶年度排行榜冠军。 它今年在 GitHub 上新增了超过 45k 的 star,比 2017 还要多 5k… 势头依然不减! 第 4 名,Deno 是今年前十名中唯一的新项目。 Deno 是“一个可在浏览器外执行 JavaScript 和 TypeScript 代码的程序”。根据其作者 R

  • 和 2016年 一样,又到了我们回顾 2017年 Javascript 领域发展与变化的时候。通过对比各项目过去 12 个月在 GitHub 上新增 star 数量,来评估其在 2017 年度的受关注程度,进而选出 2017 年度 JavaScript 领域崛起的明星项目。 下列图表对比了各个项目在 Github 上于过去 12 个月新增的 star 数量。分析的数据来源为 bestof.js.o

  • 实现彩色条状的列表下拉刷新效果。列表下拉刷新时,不再出现一般的小箭头以及旋转圆圈的效果,而是出现一排有动画效果的七彩颜色条,类似彩虹一样。 [Code4App.com]