Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何消除Material UI Chip组件中的悬停、活动、聚焦灰色

如何消除Material UI Chip组件中的悬停、活动、聚焦灰色
EN

Stack Overflow用户
提问于 2017-12-14 15:39:55
回答 1查看 7.3K关注 0票数 4

我有几种颜色的芯片(绿色,黄色,蓝色等)默认情况下,MUI Chip带有灰色悬停/活动/焦点CSS样式。我需要在MUI芯片组件中消除这种悬停/活动/聚焦的灰色背景颜色。因此,我再一次不想用另一种颜色替换灰色,而是要完全消除以下CSS样式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
clickable: {
  // Remove grey highlight
  WebkitTapHighlightColor: theme.palette.common.transparent,
  cursor: 'pointer',
  '&:hover, &:focus': {
    backgroundColor: emphasize(backgroundColor, 0.08),
  },
  '&:active': {
    boxShadow: theme.shadows[1],
    backgroundColor: emphasize(backgroundColor, 0.12),
  },
},
deletable: {
  '&:focus': {
    backgroundColor: emphasize(backgroundColor, 0.08),
  },
},

最后,这可以通过覆盖所有所需颜色的Chip组件来完成,但必须有更好的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-15 04:59:11

您可以创建一个工厂函数,该函数返回具有您选择的颜色的组件,并覆盖问题中突出显示的行为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import React from 'react';
import { withStyles } from 'material-ui/styles';
import Chip from 'material-ui/Chip';
import { emphasize, fade } from 'material-ui/styles/colorManipulator';

const ChipFactory = (color = null, deleteIconColor = null) => {
  const styles = theme => {
    const backgroundColor = emphasize(color || theme.palette.background.default, 0.12);
    const deleteIconColor = fade(deleteIconColor || theme.palette.text.primary, 0.26);
    return {
      root: {
        color: theme.palette.getContrastText(backgroundColor),
        backgroundColor,
      },
      clickable: {
        cursor: 'pointer',
        '&:hover, &:focus': {
          backgroundColor: emphasize(backgroundColor, 0.08),
        },
        '&:active': {
          backgroundColor: emphasize(backgroundColor, 0.12),
        },
      },
      deletable: {
        '&:focus': {
          backgroundColor: emphasize(backgroundColor, 0.08),
        },
      },
      deleteIcon: {
        color: deleteIconColor,
        '&:hover': {
          color: fade(deleteIconColor, 0.4),
        },
      },
    };
  };

  const CustomChip = ({ classes, ...props }) =>
    <Chip classes={classes} {...props} />;

  return withStyles(styles)(CustomChip);
};

export default ChipFactory;

无需为每种颜色创建单独的组件,您可以通过调用此函数动态生成新的变体:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// excerpt from Chips demo
render() {
  const { classes } = props;

  const GreenChip = ChipFactory('#0f0');
  const RedChip = ChipFactory('#f00');
  const BlueChip = ChipFactory('#00f');

  return (
    <div className={classes.row}>
      <GreenChip label="Basic Chip" className={classes.chip} />
      <RedChip
        avatar={<Avatar>MB</Avatar>}
        label="Clickable Chip"
        onClick={handleClick}
        className={classes.chip}
      />
      <BlueChip
        avatar={<Avatar src="/static/images/uxceo-128.jpg" />}
        label="Deletable Chip"
        onRequestDelete={handleRequestDelete}
        className={classes.chip}
      />
    </div>
  );
}

有关工作版本,请参阅此code sandbox

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47817109

复制
相关文章
【Flutter】StatelessWidget 组件 ( CloseButton 组件 | BackButton 组件 | Chip 组件 )
BackButton 组件通常作为界面回退按钮组件 , 直接使用构造函数创建 , 参数一般为空 ;
韩曙亮
2023/03/28
1.3K0
【Flutter】StatelessWidget 组件 ( CloseButton 组件 | BackButton 组件 | Chip 组件 )
纯干货!谷歌MD深色主题设计规范详解(附Sketch官方文件下载)
作为目前最主流的设计风格和主题规范之一,Material Design 的深色主题设计规范非常值得参考学习。这是一套高度自恰的设计规范,有着相当严密的内部逻辑,在 Material Design 的内在隐喻逻辑的推动下,严格遵循国际通行的可用性原则来确保深色主题的可用性和合理性。
用户5009027
2019/05/31
9.8K2
使用 Material Design 组件实现 Material 动效
近期发布的 Material 动效系统 是 MDC-Android 库 (v 1.2.0) 的一部分,它将常用的过渡效果归纳为一组简单的模式,提供更流畅更加容易理解的用户体验。Material 动效目前包括四种过渡效果:
Android 开发者
2022/03/09
1.9K0
使用 Material Design 组件实现 Material 动效
Vue组件设计-文字悬停特效
给大家分享一个基于Vue组件设计的文字悬停特效,实现的效果如下: 这种效果常见于一些Logo文字或是可点击的链接,使得页面看起来更加生动活跃。  1. 组件设计实现 <template> <a :class="className" class="link-obj" href="#"> {{ text }} <span :data-letters="text" /> <span :data-letters="text" /> </a> </t
越陌度阡
2023/05/07
1.2K0
Vue组件设计-文字悬停特效
flutter系列之:Material中的3D组件Card
除了通用的组件之外,flutter还提供了两种风格的特殊组件,其中在Material风格中,有一个Card组件,可以很方便的绘制出卡片风格的界面,并且还带有圆角和阴影,非常的好用,我们一起来看看吧。
程序那些事
2022/09/23
6360
pycharm代码灰色_pycharm中import是灰色的
不少新手在使用Pycharm时都遇到了这样的问题,import导入包的时候,比如import urllib,import os,写的时候还是彩色,一写完,一按回车,马上就变成了灰色。
全栈程序员站长
2022/09/28
1.9K0
pycharm代码灰色_pycharm中import是灰色的
material Tree组件的前端模糊搜索
去跟已经平铺到一层的全部节点进行对比,parsentid === id 则添加到父节点的数组中,
biaoblog.cn 个人博客
2022/11/14
1K0
material Tree组件的前端模糊搜索
Flutte部件目录-Material Components 顶
底部导航栏可轻松浏览并在单次点击之间在顶层视图之间切换。 BottomNavigationBar小部件实现此组件。
南郭先生
2018/08/14
9.5K0
Flutte部件目录-Material Components
                                                    顶
Android Material UI控件之MaterialButton
  作为Android的开发者,常用控件肯定少不了按钮控件,常规的按钮控件,只能满足基本需求,而日常开发中,都会有渐变按钮,圆形按钮,或者立体按钮,这些都需要自己的设置样式,就拿圆角按钮来说,可能你会这是一个shape文件,然后设置背景和圆角的大小,最后在按钮的background属性中设置好,就是一个圆角的按钮了。这样就显得有些麻烦了,因为要你时碰到一个花里胡哨的UI和搞事情的产品,你就完犊子了。你会创建很多这样的drawable文件,并且每一个你还要命名规范,改起来是很费劲的。而MaterialButton就很好的帮你解决这些问题。让你的UI开发变得轻松一些。是骡子是马,牵出来溜溜,下面进入正文:
晨曦_LLW
2020/10/26
3.3K0
Android Material UI控件之MaterialButton
Android Material UI控件之ShapeableImageView
你有使用过Material中的UI控件吗?为什么要使用它们,相对于原来的控件优势在哪里?   相信你看到这篇文章也会有所疑问,第一个问题就不用说了,那么从第二问题开始回答,Android官方为开发者提供了许多丰富的UI控件,Material 组件就是包含了这些控件的一套工具,多数时候使用它可以满足我们日常开发UI的需求,提高效率。优势就在于它比原来的控件更加的强大,比如说我们平时要是像显示一个圆形的头像,需要怎么做呢?你可能会使用第三方库,Glide或者CircleImageView等一些开源库,或者你会自定义ImageView来实现,那么如果我告诉你Material 中的ImageView可以不需要自定义和使用第三方库就能够实现圆形图片或其他一些形状的图片呢?这样是否证明它更强大?是否能提高你的开发效率呢?听了这么多的废话远不如实践得劲,其实我也是这么想的,但是我得让你知道为什么才行,这才是写文章的目的。下面是正文了。
晨曦_LLW
2020/10/26
2.4K0
Android Material UI控件之ShapeableImageView
依赖什么啊?依赖注入……,什么注入啊?
在过去的几个月里,我和客户团队在对一个设计系统进行优化。表面上看起来这个优化工作包括两大部分:性能优化和结构重整。不过经过这几个月对十多个组件的重构之后,我们发现这两部分工作在很大程度上是同一件事的两个方面:好的设计往往可以带来更好的性能,反之亦然。这是一个非常有趣的发现,我们在讨论性能优化的时候,一个经常被忽略的因素恰恰是软件本身的设计。我们会关注文件大小,是否会有多重渲染,甚至一些细节如CSS selector的优先级等等,但是很少为了性能而审视代码的设计。另一方面,如果一个组件写的不符合S.O.L.I.D原则,我们会认为它的可扩展性不够好,或者由于文件体量过大,且职责不清而变得难以维护,但是往往不会认为糟糕的设计会对性能造成影响(也可能是由于性能总是在实现已经完成之后才被注意到)。为了更好的说明这个问题,以及如何在实践中修改我们的设计,使得代码更可能具有比较优秀的性能,我们可以一起讨论几个典型的例子。
ThoughtWorks
2021/07/29
1.9K0
依赖什么啊?依赖注入……,什么注入啊?
聚焦 Android 11: UI 与 Compose
在往期 #11WeeksOfAndroid 系列文章中我们介绍了联系人和身份、隐私和安全、 Android 11 兼容性 、开发语言、Jetpack、 Android 开发者工具 、 Google Play 应用分发与盈利 、 游戏开发新工具 ,本期我们 聚焦 UI 与 Compose ,下面就来看看您需要了解的内容。
Android 开发者
2020/10/16
1.7K0
如何优雅的设置UI库组件的属性?
https://naturefw.gitee.io/nf-rollup-ui-controller/
用户1174620
2022/05/09
1.7K0
如何优雅的设置UI库组件的属性?
JetPack Material Design 组件简单介绍
基于最新的 com.google.android.material:material:1.4.0-alpha01。因为没有release,所以只是介绍了解,以后release了可以直接使用
提莫队长
2021/04/01
2K0
JetPack Material Design 组件简单介绍
干货!UI界面中阴影绘制完全攻略!
静电说:不少同学在绘制阴影的时候,特别是卡片阴影的时候,都会有不少难度,或者把握不好其中的度,在本篇文章中,我们 一起来学习一下,如何让你在UI中绘制出更舒服的阴影效果。
用户5009027
2020/04/15
2.6K0
40. 如何消除摄影中的运动模糊?
如果你试过去拍摄一些运动场景,例如拍摄疾驰的汽车,或是田径场上的短跑运动员,你一定曾经遇到过“拍糊”的时候。这种现象就是我在本文中要讨论的由运动导致的图像模糊,这是一种与我之前介绍的几种导致图像模糊的方式完全不同的问题,所以今天让我们来看看有什么好办法来应对。
HawkWang
2020/04/17
2.5K0
40. 如何消除摄影中的运动模糊?
解决Material Theme UI插件收费问题
webstorm 2021.1 版本更新后,一直使用的Material Theme UI主题开始收费了,如果不付费的话,文件树那里格外的小,看起来十分的难受。
神奇的程序员
2022/04/10
6K0
解决Material Theme UI插件收费问题
PhpStorm 安装主题插件 Material Theme UI
1. 搜索主题插件 Material Theme UI, 点击 Install ---- 2. 下载完成,重启 IDE ---- 3. 在 Tools - Material Theme - Material Theme CHooser 中选择喜欢的界面风格 ---- 4. 设置字体大小 ----
很酷的站长
2023/02/18
1.7K0
PhpStorm 安装主题插件 Material Theme UI
听说谷歌Baba更新了 Material UI ...
Material Design,是谷歌在14年的IO大会上提出的一种新的理念,也被称为新的设计语言(也被称为“原材料设计”),称它为设计语言不为过,但是实际上,这仅仅是谷歌提倡的一种新的设计风格、理念以及设计基本原则。
贺biubiu
2019/06/10
3K0
如何构建UI组件设计规范?
以下内容由摹客团队翻译整理,仅供学习交流,摹客设计系统是国内独家设计规范制作平台。
奔跑的小鹿
2018/08/20
1.2K0
如何构建UI组件设计规范?

相似问题

material-ui-chip-input (ChipInput)组件始终提交值

10

material ui分页组件文本颜色为灰色

123

如何像Angular Chip Input一样使用Material UI Chip array?

116

React Material-UI "Chip“组件的”x“(删除)按钮不起作用

60

聚焦Material ui中的伪类

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文