React组件的样式

<!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转成能够在浏览器中运行的代码 -->
设置组件样式,讲解三种:
一、内联样式
二、对象样式、
三、选择器样式html

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

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

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

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

<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>
相关文章
相关标签/搜索