1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>React样式测试</title>
<!-- react.js 是React的核心库 -->
<script src="./build/react.js charset="utf-8"></script>
<!-- react-dom.js是作用是提供与DOM相关的功能 -->
<script src="./build/react-dom.js" charset="utf-8"></script>
<!-- browser.min.js 的作用是将JSCX语法转换成Javascript的语法 -->
<script src="./build/browser.min.js" charset="utf-8"></script>
<!-- 还可以直接通过网址引入browser.min.js文件 -->
<!-- 比如:<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.min.js" charset="utf-8"></script> -->

<style>
    .pStyle {
        font-size:30px;
    }
    .color{
        color:#f00;
        background:#f00;
        font-size:50px;
    }
</style>

</head>
<body>
    <!-- React渲染的模板内容会插入到这个DOM节点中,作为一个容器 -->
    <div id="container">
         
    </div>

**<!-- 在React开发中,使用JSX,跟Javascript不兼容,在使用JSX的地方,要设置type:text/babel -->
<!-- babel是一个转换编译器,把ES6转成可以在浏览器中运行的代码 -->
设置组件样式,讲解三种:
1、内联样式
2、对象样式、
3、选择器样式

注意:在React和HTML5中设置样式时的书写格式是有区别的

1、HTML5以;结尾**
   React以,结尾
2、HTML5中key、value都不加引号**
   React中属于Javascript对象,key的名字不能出现"-",需要使用驼峰命名法。
   如果value为字符串,需要加引号。
3、HTML5中,value如果是数字,需要带单位**
   React中不需要带单位
 

我们定义一个组件类,同时使用三种设置组件样式的方式

需求:定义一个组件,分为上下两行显示内容

<div> 内联样式:设置背景颜色、边框大小、边框颜色
    <h1></h1>   对象样式:设置背景颜色、字体颜色
    <p></p>     选择器样式:设置字体大小
    <span></span> 动态添加样式(动态添加选择器样式)
</div>

注意:在React中使用选择器设置组件样式时,属性名不能使用class,需要使用className替换

(因为class在React中是一个关键字)
类似的:使用htmlFor替换for
**如果需要动态添加样式可以在setState里面修改**


  <script type="text/babel">   
        var hStyle = {
            backgroundColor: "green",
            color: "red"
        }
        var ShowMessage = React.createClass({
            getInitialState:function(){
                return {color:""}
            },
            mouseover:function(){
                this.setState({addClass:"color"})
            },
            render: function() {
                return (
                    // 注意;这里的backgroundColor,中间不能加“-”
                    <div style={{backgroundColor:"#ccc", borderWidth:5, borderColor:"brack", broderStyle:"solid"}}>
                        <p className="pStyle">{this.props.title}</p>
                        <h1 style={hStyle}>{this.props.name}</h1>        
                        <span className={this.state.addClass} onMouseOver={this.mouseover}>测试鼠标滑过效果</span>
                    </div>
                );
            }
        });
        ReactDOM.render(
                <ShowMessage name="鹏鹏" title="名字" />,
                document.getElementById("container")
        );
     
    </script>
     
</body>
</html>

dfasd123
21 声望1 粉丝