現在、私は次のコードを使用して、jssを使用して要素に色を追加しています。
_const styleSheet = theme => ({
root: {
backgroundColor: theme.colors.red,
},
})
_
Color _theme.colors.red
_に基づいて不透明度を追加する関数が存在するかどうかを知りたいです。
smtの例:backgroundColor: color(theme.colors.red, .05),
Material UIにはcolorManipulator
ユーティリティファイル があり、fade
メソッドが含まれています。
使用法:
import { fade } from '@material-ui/core/styles/colorManipulator';
/**
* Set the absolute transparency of a color.
* Any existing alpha values are overwritten.
*
* @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
* @param {number} value - value to set the alpha channel to in the range 0 -1
* @returns {string} A CSS color string. Hex input values are returned as rgb
*/
{
backgroundColor: fade(theme.colors.red, 0.5)
}
color ライブラリも役に立つかもしれません:
import Color from 'color';
次に、コードでそれを参照できます。
{
backgroundColor: Color(theme.colors.red).alpha(0.5).string()
}
または、Material UI Nextで提供されるフェード機能を使用することもできます。
import {fade} from 'material-ui/styles/colorManipulator';
const theme = createMuiTheme({
overrides: {
MuiButton: {
root: {
boxShadow: `0 4px 8px 0 ${fade(defaultTheme.palette.primary[500], 0.18)}`,
}
},
}
});
export default theme;
これがどのように機能するかです: https://github.com/mui-org/material-ui/blob/v1-beta/src/styles/colorManipulator.js#L157-L164
別の解決策は https://github.com/styled-components/polished から同様のカラー関数を使用することです
私はを使って解決策を見つけました
backgroundColor: theme.utils.rgba(theme.axColor.black, 0.7),
RGBA値を使用できます
const styleSheet = theme => ({
root: {
backgroundColor: 'rgba(255, 255, 255, 0.5)',
},
})
何のために、8桁の16進コードも機能します
const styleSheet = theme => ({
root: {
backgroundColor: '#ffffff80',
},
})
色にアルファチャネルがまだ定義されていない場合は、次のこともできます。
backgroundColor: theme.colors.red + '00'
これにより、アルファチャネルが0に設定され、透明になります。 '00'
から'ff'
までの任意の値を追加できます