首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    换肤功能(scss、css变量)

    博客地址:https://ainyi.com/104 产品 SaaS 化,通常需要有换肤功能 这里简单记录一下主题色及其衍生色(高亮、浅色)的更换功能 scss 全局定义 每个页面都有颜色,那么应该把颜色值定义在.../global.scss'; // 使用例子 .demo { color: $color-primary } 这样,只要更改 scss 中全局变量的颜色值,就可以同步更改项目的颜色值 css 变量定义...这里就用到 css 的变量函数了:==var()== 之前有谈到使用 css 的变量以及赋值方法:Bilibili [冬] banner 早中晚切换效果 var() 函数用于插入自定义的属性值 两个参数...color-1, $color-2, $weight: 50%) must be a color mix 函数无法使用带有 var() 函数变量的参数,HSL 函数也是;但普通变量是可以的 最终只能使用 js...变量上,在 scss 全局变量中用 var() 函数引入 css 变量(各种颜色值) 换肤流程 通过接口获取主题色 --> js 计算衍生色值 --> 赋值到 css 变量 --> scss 全局变量用

    4.5K20

    使用 CSS variables 和Tailwind css实现主题换肤

    背景 在2B的项目中,常常有客户(甲方爸爸)需求,定制与他们企业相同的主题的网站;随着苹果暗黑模式的推出,换肤的需求在网站开发中越来越多,也越来越重要,最近在网上看到 Tailwind Labs的实现的换肤视频...根据Tailwind Labs的[换肤视频],手动实践。...是实现换肤最方便的方案,按传统的方案就得加入一些css class 就可以实现,如: :root { --page-bg:#fff; --card-bg:#F9FAFB; /* gray...h1 { color: red; color: var(--color); } 但是这个插件只对第一次编译的时候有用,动态换肤的时候就失效了, 我们可以使用js polyfill 来修复这个问题...Tailwind 配置 tailwind css 可以让用户在tailwind.config.js中配置一些自定义颜色,这样css 中就增加了与之对应颜色的class。

    1.5K20

    使用 CSS variables 和Tailwind css实现主题换肤

    背景 在 2B 的项目中,常常有客户(甲方爸爸)需求,定制与他们企业相同的主题的网站;随着苹果暗黑模式的推出,换肤的需求在网站开发中越来越多,也越来越重要,最近在网上看到 Tailwind Labs 的实现的换肤视频... 根据Tailwind Labs的[换肤视频],手动实践。...是实现换肤最方便的方案,按传统的方案就得加入一些 css class 就可以实现,如: :root { --page-bg: #fff; --card-bg: #f9fafb; /* gray...h1 { color: red; color: var(--color); } 但是这个插件只对第一次编译的时候有用,动态换肤的时候就失效了, 我们可以使用 js polyfill 来修复这个问题...Tailwind 配置 tailwind css 可以让用户在tailwind.config.js中配置一些自定义颜色,这样 css 中就增加了与之对应颜色的 class。

    1.8K21

    CSS in JS

    由于 CSS 的封装非常弱,导致了一系列的第三方库,用来加强 React 的 CSS 操作。它们统称为 CSS in JS,意思就是使用 JS 语言写 CSS。...根据不完全统计,各种 CSS in JS 的库至少有47种。老实说,现在也看不出来,哪一个库会变成主流。 ?...回答是 CSS in JS 使用 JavaScript 的语法,是 JavaScript 脚本的一部分,不用从头学习一套专用的 API,也不会多一道编译步骤。...5、 上周,我看到一个新的 CSS in JS 库,叫做 polished.js。它将一些常用的 CSS 属性封装成函数,用起来非常方便,充分体现使用 JavaScript 语言写 CSS 的优势。...我觉得这个库很值得推荐,这篇文章的主要目的,就是想从这个库来看怎么使用 CSS in JS。 首先,加载 polished.js。

    6.2K40

    小程序换肤

    **/ .text { color: blue;} 页面加载后,根据用户需求通过js动态的link对应的皮肤样式。...// js动态处理 var theme = /\bt=(\w+)/.exec(location.search); theme = theme ?...CSS变量换肤 利用CSS变量设置颜色, 用js动态修改CSS变量,进而换色。如果不考虑兼容性,这是最佳换肤方案。...方案以及问题 由于小程序它自身的技术特点,传统方案的 CSS变量以及 Less在线编译 换肤方案无法使用,所以小程序换肤方案主要是: 如果没有线上存在多套皮肤的需求,可以抽取颜色变量通过线下编译修改主题色...如果有线上多套皮肤的需求,则采用传统前端的多套CSS皮肤方案加更改类名的方式。 针对动态换肤,后端接口返回色值字段,前端通过 内联 方式对页面元素进行色值设置。

    2.1K20

    在线动态换肤思路

    很早之前就在想在线换肤的实现思路,主要是之前有个项目有换肤,连布局图片都不一样,无能为力,只好写不同页面,然后通过打包的时候配置删除和替代文件实现,但是在线换肤还是没去做。...最简单的一个方式,通过不同的css实现换肤,前提是确定好几个可供切换的css,效果: 代码很简单主要就是动态切换link引入的地址: let link = document.getElementById...('color'); link.setAttribute('href', type + '.css'); 这种方法其实并不是很建议,一个是你必须提供很多css文件,另外一个就是你很难直接通过设置css的十六进制去换肤...还有一种css自定义变量的方式,这我还真是前几天才知道的,是一个大佬告知的,这个css很早就出现了,只是一直不知道: :root { --bg: #00aaee; --color: #00aaee...还有之前有提到过的css in js在这种换肤场景下好像也非常的合适。

    1.1K20

    CSS in JS 简介

    由于 CSS 的封装非常弱,导致了一系列的第三方库,用来加强 React 的 CSS 操作。它们统称为 CSS in JS,意思就是使用 JS 语言写 CSS。...根据不完全统计,各种 CSS in JS 的库至少有47种。老实说,现在也看不出来,哪一个库会变成主流。...回答是 CSS in JS 使用 JavaScript 的语法,是 JavaScript 脚本的一部分,不用从头学习一套专用的 API,也不会多一道编译步骤。...5、 上周,我看到一个新的 CSS in JS 库,叫做 polished.js。它将一些常用的 CSS 属性封装成函数,用起来非常方便,充分体现使用 JavaScript 语言写 CSS 的优势。...我觉得这个库很值得推荐,这篇文章的主要目的,就是想从这个库来看怎么使用 CSS in JS。 首先,加载 polished.js。

    5.1K70

    只听说过CSS in JS,怎么还有JS in CSS?

    本文由作者 Menndy 授权原创发布 CSS in JS CSS in JS是一种解决css问题想法的集合,而不是一个指定的库。...从CSS in JS的字面意思可以看出,它是将css样式写在JavaScript文件中,而不需要独立出.css、.less之类的文件。...将css放在js中使我们更方便的使用js的变量、模块化、tree-shaking。还解决了css中的一些问题,譬如:更方便解决基于状态的样式,更容易追溯依赖关系,生成唯一的选择器来锁定作用域。...尽管CSS in JS不是一个很新的技术,但国内的普及程度并不高。...JS in CSS又是什么 在上面我们提到CSS in JS就是把CSS写在JavaScript中,那么JS in CSS我们可以推断出就是可以在CSS中使用JavaScript脚本,如下所示。

    6.8K40

    基于Vue、ElementUI的换肤解决方案

    我们单独写一份样式表(css 文件 深空蓝.css),以一个特定的命名开头(比如 .blue-theme),然后在这个 css 文件中,完成我们第二套皮肤的样式代码,然后当我们点击换肤的时候,就将 blue-theme...(你可以将这个css 文件改成你喜欢的名字,比如我改成了叫:theme-summer.css) image.png 然后在我们项目的 main.js 中,注释掉 Element-UI 的原来 css 文件引入...所以,我们还是用上面的方法,给这个生成的css文件里面的每一个 css 样式加上一个独特的命名前缀,然后换肤的时候,就将这个 class 添加到 body 上面,如此一来,也能实现很丰富的换肤功能(因为我们可以自己配很多套好看的配色...首先: npm i gulp gulp-clean-css gulp-css-wrap -D 然后,编写 gulpfile.js // gulpfile.js var path = require('...那么你 js 改 scss 变量的方法在打包后的项目中是不起作用的。

    5.4K30

    前端换肤的N种方案,请收下

    (网友Soledad提供) 使用scss变量换肤相比覆盖样式 拓展性更强 将换肤的逻辑进行了收敛 生成多套皮肤css 使用覆盖样式实现与scss变量实现会把多套皮肤的样式都编译到一个css文件里面,如果有多套皮肤样式...优点:会生成一套与css变量对应的css 缺点:在构建时根据css变量生成对应的css,换肤是运行时并不能生成对应的css。 换肤后样式: ?...CSS变量兼容性实现-2 首先需要建一个存放公共css变量的js文件,将需要定义的css变量存放到该js文件,例如(variable.js) // variable.js // 字体变量 const...(具体用法与概念请查阅官方网站:css-vars-ponyfill) 封装切换主题的js,在main.js做初始化调用 // theme.js import { lightTheme, darkTheme...注:使用less 来实现换肤要注意 less 文件在 html 中编写的位置,不然很可能被其他css 文件所干扰导致换肤失败。如果less文件特别大,会存在编译性能问题。

    2.2K20

    《前端技巧复盘》使用纯css实现网站换肤和焦点图切换动画

    你将收获 •网站换肤设计方案介绍 •:target伪类介绍和用法以及如何使用css实现网站换肤 •transition动画以及如何用纯css实现焦点图动画 效果展示 1.网站换肤 2.焦点图动画 实现思路...1.网站换肤 通常我们实现网站换肤都基于如下方式实现: •方案一: 使用OOCSS模式,通过js动态切换公共类名来达到换肤效果 •方案二: 点击不同的按钮切换不同的样式表,如下: •theme-green.css...•theme-red.css •theme-black.css •方案三: localStorage存储主题,js动态获取本地存储换肤 •方案四: element和antd的动态换肤,需要实时编译style...答案是可以的,接下来我们就来看纯看css如何实现网站换肤. 在实现换肤之前,我们需要了解一个知识点,那就是a标签的:target伪类....实现网站换肤以及焦点图切换动画,是不是对css有更多的新奇的想法了呢?

    3.8K30

    丢人啊,工作 10 年了,才知道用这种方式实现 CSS 换肤

    一、 React19 中 context 的具体改动 二、 use(context) 基础介绍 三、 简单粗暴样式替换实现换肤 四、 利用 css 变量实现换肤 本文共 3219 字,阅读预计使用 5...3、换肤方案一 先来看一眼我们实现案例的演示效果。我们实现了部分 UI 的皮肤切换,并且记录了切换次数。.../index.css' function Index() { return ( 切换主题,并记录切换次数...这仅仅适合在项目设计之初没有考虑换肤功能的项目。并不推荐 4、换肤方案二 我们可以换一种高级一点的用法来完成皮肤的切换功能。那就是利用 CSS 变量。 ✓CSS 变量又称之为自定义属性。...声明一个自定义属性,需要以 -- 开头,属性值可以是任何有效的 CSS 值。

    14510
    领券