添加方法:1、使用“style={{样式代码}}”在组件内部定义css样式;2、先创建style样式对象,然后在render函数的组件中使用“style={{对象}”语句引用;3、使用“import 'css文件路径'”引入外部css文件。
本教程操作环境:windows7系统、react16版本,Dell G3电脑。
相关教程推荐:React视频教程
相对于html中引用css的三种方法,react中也有三种方法,一一相对:
1、行内样式:直接在组件内部定义
行内样式是一种最基本的写法,也就是我们最开始学HTML时写的内联样式那样,在项目中可能会比较少用到
在JSX中的用法:
class App extends React.Component { // ... render() { return ( <div style={{ background: '#eee', width: '200px', height: '200px'}}> <p style= {{color:'red', fontSize:'40px'}}>Second Way!</p> </div> ) } }
需要注意的是,这里的css样式名采用驼峰命名法:如font-size →fontSize,并且你需要将CSS属性放在双大括号之间。为什么要用两个大括号?因为在JSX中渲染的JS表达式,它们必须被放在一对大括号里,{style}可以视为一个JS对象。所以第一对大括号正是将JS表达式放入JSX解析,里面的那对大括号则创建了一个style对象实例,所以在这里style是作为一个对象传入组件
2、声明样式:
声明样式其实是行内样式的一种改进写法,在render函数外部创建style对象,然后传递给组件,让css与标签分离,但实际上样式多了的话还是不太美观
class App extends React.Component { //... const style1={ background:'#eee', width:'200px', height:'200px' } const style2={ color:'red', fontSize:'40px' } render() { return ( <div style={style1}> <p style= {style2}>Second Way!</p> </div> ) } }
注意这里实用的还是驼峰命名法,其次因为已经在外部声明了style对象,所以在JSX中使用的时候只需要一个大括号{//..}
3、引入样式:引入外部的css文件,外部的css文件就是普通的css,在组件js中的import语句后面使用如下语句。
引入样式就是将CSS文件写下外部,在引入使用,这种普通的引入样式实际上会有一定的问题,我们先看用法,再分析问题
用法:
css 文件
.person{ width: 60%; margin:16px auto; border: 1px solid #eee; box-shadow: 0 2px 3px #ccc; padding:16px; text-align: center; }
js文件
import React from 'react'; import './Person.css'; class App extends React.Component { //.... render() { return ( <div className='person'> <p>person:Hello world</p> </div> ) } } export default App;
结果展示:
问题:
因为CSS的规则都是全局的,任何一个组件的样式规则,都对整个页面有效,这可能会导致大量的冲突。也就是说如果我有两个css文件,它们的中的一些样式名是一样的,那么就会被覆盖,简单的解决办法就是将样式的命名变得复杂且不重复,但这样样式多了也很难避免重复,且命名也不会太好看。
更多编程相关知识,请访问:编程教学!!
以上是react怎么添加css样式的详细内容。更多信息请关注PHP中文网其他相关文章!