gpt4 book ai didi

css - 如何在 ReactJS 中将具有属性的 CSS 转换为 MaterialUI 样式

转载 作者:行者123 更新时间:2023-11-28 08:44:01 25 4
gpt4 key购买 nike

我有以下 CSS:

[contentEditable=true]:empty:not(:focus):before{
content:attr(data-text)
}

允许在内容可编辑的 div 中没有内容时显示占位符。我正在使用 Material-UI Styles,所以我需要这样的东西:

const styles = theme => ({
div[contentEditable=true]:empty:not(:focus):before: {
content:attr(data-text)
}
});

我怎样才能做到这一点?有什么想法吗?

谢谢。

最佳答案

下面是几个语法选项,具体取决于您是想直接在 div (editableDiv) 上还是在祖先元素 (container) 上指定类。两者之间的唯一区别是定位后代时 & 之后的空格。

import React from "react";
import ReactDOM from "react-dom";

import { makeStyles } from "@material-ui/core/styles";

const useStyles = makeStyles({
container: {
"& [contentEditable=true]:empty:not(:focus):before": {
content: "attr(data-text)"
}
},
editableDiv: {
"&[contentEditable=true]:empty:not(:focus):before": {
content: "attr(data-text)"
}
}
});
function App() {
const classes = useStyles();
return (
<div>
<div className={classes.container}>
<div contentEditable data-text="Click here to edit div 1" />
<div contentEditable data-text="Click here to edit div 2" />
</div>
<div
className={classes.editableDiv}
contentEditable
data-text="Click here to edit div 3"
/>
</div>
);
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

Edit Editable div JSS

相关文档:https://cssinjs.org/jss-plugin-nested?v=v10.0.0#use--to-reference-selector-of-the-parent-rule

关于css - 如何在 ReactJS 中将具有属性的 CSS 转换为 MaterialUI 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59326571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com