在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1、行内样式想给虚拟dom添加行内样式,需要使用表达式传入样式对象的方式来实现
2、使用classReact推荐我们使用行内样式,因为React觉得每一个组件都是一个独立的整体 其实我们大多数情况下还是大量的在为元素添加类名,但是需要注意的是, import React, { Component } from 'react' 1. 外部引入定义的样式 import styles from './style.css' class ClassStyle extends Component { render() { // js逻辑 let className = cx({ font: false }) return ( <> <div className={className}>hello</div> <p className='setstyle'>样式</p> <DivContainer> world </DivContainer> <> ) } } export default ClassStyle 3、classNames不同的条件添加不同的样式有时候需要根据不同的条件添加不同的样式,比如:完成状态,完成是绿色,未完成是红色。那么这种情况下,我们推荐使用classnames这个包: import style from './style.css' <div className={style.class1 style.class2}</div> 想要得到最终渲染的效果是:
下载安装
使用 import classnames from 'classnames' <div className=classnames({ 'class1': true, 'class2': true )> </div> 4、css-in-js
styled-components 应该是CSS-in-JS最热门的一个库,通过styled-components,你可以使用ES6的标签模板字符串语法,为需要styled的Component定义一系列CSS属性,当该组件的JS代码被解析执行的时候,styled-components会动态生成一个CSS选择器,并把对应的CSS样式通过style标签的形式插入到head标签里面。动态生成的CSS选择器会有一小段哈希值来保证全局唯一性来避免样式发生冲突。 1.安装
定义样式 import styled from 'styled-components' const Title = styled.div` color:red; font-size:16px; h3{ color:blue; font-size:20px; } ` export { Title } 显示 import React, { Component } from 'react' import { Title } from './Styles' class App extends Component { render() { return ( <div> <Title> 我只是一个标题 <h3>你好世界</h3> </Title> </div > ); } } export default App 3.样式继承 import styled from 'styled-components' const Button = styled.button` font-size: 20px; border: 1px solid red; border-radius: 3px; `; // 一个继承 Button 的新组件, 重载了一部分样式 const Button2 = styled(Button)` color: blue; border-color: yellow; `; export { Button, Button2 } 显示 import React, { Component } from 'react' import { Button, Button2 } from './Styles' class App extends Component { render() { return ( <div> <Button>我是一个按钮1</Button> <Button2>我是一个按钮2</Button2> </div > ); } } export default App 4.属性传递 import styled from 'styled-components' const Input = styled.input` color: ${props => props.inputColor || "blue"}; border-radius: 3px; `; export { Input }
显示 import React, { Component } from 'react' import { Input } from './Styles' class App extends Component { render() { return ( <div> <Input defaultValue="你好" inputColor="red"></Input> </div > ); } } export default App 到此这篇关于react之四种组件中DOM样式设置方式的文章就介绍到这了,更多相关react组件DOM样式内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论