例如实现如下CSS
.box {
width: 300px;
height: 300px;
}
.box::before {
content: 'Hello';
color: red;
}
box的样式应该是这样
const styles = {
box: {
width: '300px',
height: '300px'
}
}
这种Css in Js
写法能够写伪元素样式吗,如果可以应该怎么写呢。
例如实现如下CSS
.box {
width: 300px;
height: 300px;
}
.box::before {
content: 'Hello';
color: red;
}
box的样式应该是这样
const styles = {
box: {
width: '300px',
height: '300px'
}
}
这种Css in Js
写法能够写伪元素样式吗,如果可以应该怎么写呢。
CSS in JS是不支持伪元素的写法的,你必须把伪元素替换成真实元素,你举的这个例子实现类似下面:
render() {
<div>
<span style={{color:'red'}}>Hello</span> //真实元素
<span style={styles.box}>World</span>
</div>
}
不过对于 ::placeholder 和 ::selection,CSS in JS 是无法实现的,对于 ::first-letter 和::first-line,则需要很繁琐的js代码才可实现。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
使用styled-components 或者 radium
使用radium写法如下: