美文网首页
08.React样式

08.React样式

作者: Ching_Lee | 来源:发表于2018-02-06 11:45 被阅读0次

这里使用的是webpact和npm搭建的开发环境react-existing(参考第一节),在基础上做的改动。

1.内联样式

1.1 使用jsx引入内联样式

header.js

import React from 'react'
import ReactDom from 'react-dom'

class Header extends React.Component{

    render(){
        const headerStyle={
            divStyle:{background:"black",textAlign:"center"},
            pStyle:{color:"yellow"},
            hStyle:{color:"white"}
        };
        return (
            <div style={headerStyle.divStyle}>
                <h1 style={headerStyle.hStyle}>这是头部</h1>
                <p style={headerStyle.pStyle}>这是小标题</p>
            </div>
        );
    }

}

index.js

import React from 'react'
import ReactDom from 'react-dom'
import Header from './Component/header'
ReactDom.render(<Header/>, document.getElementById("page"));
1.2 引入样式表,这里的样式会对所有的组件起作用

header.js

import React from 'react'


export default class Header extends React.Component{

    render(){
        /* const headerStyle={
             divStyle:{background:"black",textAlign:"center"},
             pStyle:{color:"yellow"},
             hStyle:{color:"white"}
         };*/
        return (
            <div className="header">
                <h1>这是头部</h1>
                <p>这是小标题</p>
            </div>
        );
    }

}

index.css

.header{
    background:black;
    text-align:center;
}
.header h1{
    color:white;
}
.header p{
    color:yellow;
}

将index.css引入index.html

1.3 内联样式的表达式

2.css模块化

react环境搭建及css模块化配置源码:https://github.com/Ching-Lee/react-create

我们希望css只对相应的组件起作用
进入项目中安装如下两个个插件。

"style-loader"
"css-loader"

下图第一个插件是解决JSX中class必须写成className,如果想要按照原来的css来写,可以安装该插件,这里可装可不装。



打开webpack.config.js
添加插件react-html-attrs(安装的)
添加css模块化的配置

module: {
        loaders: [
            {
                test: /\.js?$/,
                exclude: /(node_modules)/,
                loader: 'babel-loader',
                query: {
                    presets: ['react', 'es2015'],
                    plugins: ['react-html-attrs'],//添加组件的插件配置
                }
            },

            //下面添加css的loader,也是css模块化的配置方法
            {
                test: /\.css$/,
                loader: 'style-loader!css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]'
            },

        ]
    },
项目目录

header.js

import React from 'react'
var headerCss=require("../../css/header.css");

export default class Header extends React.Component{

    render(){
        /* const headerStyle={
             divStyle:{background:"black",textAlign:"center"},
             pStyle:{color:"yellow"},
             hStyle:{color:"white"}
         };*/
        return (
            <div class={headerCss.header}>
                <h1>这是头部</h1>
                <p>这是小标题</p>
            </div>
        );
    }

}

header.css

.header{
    background:black;
    text-align:center;
}
.header h1{
    color:white;
}
.header p{
    color:yellow;
}

index.js

import React from 'react'
import ReactDom from 'react-dom'
import Header from './Component/header'
ReactDom.render(<Header/>, document.getElementById("page"));

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试react安装环境</title>
</head>
<body>
<div id="page"></div>
<script type="text/javascript" src="src/bundle.js" charset="utf-8"></script>
</body>
</html>

3.Ant Design样式框架介绍

官网:https://ant.design/docs/react/introduce-cn

  • 安装及环境配置
    进入项目目录,执行安装命令
npm install antd --save

webpack.config.js

  //下面是使用ant-design的配置文件
            {
                test: /\.css$/,
                loader: 'style-loader!css-loader'
            },
  • 在组件中使用
    header.js
import React from 'react';
import { Button } from 'antd';
import { Input } from 'antd';

export default class Header extends React.Component {

    render() {
        /* const headerStyle={
             divStyle:{background:"black",textAlign:"center"},
             pStyle:{color:"yellow"},
             hStyle:{color:"white"}
         };*/
        return (
            <div>
                <div>
                    <h1>这是头部</h1>
                    <p>这是小标题</p>
                </div>
                <Button type="primary"> Primary </Button>
                <Button>Default</Button>
                <Button type="dashed"> Dashed</Button>
                <Button type="danger">Danger</Button>
                <Input placeholder="Basic usage" />
            </div>
        );
    }

}
  • 在index.js中引入样式
import React from 'react';
import ReactDom from 'react-dom';
import Header from '../js/Component/header';
import 'antd/dist/antd.css';
ReactDom.render(<Header/>, document.getElementById("page"));

相关文章

  • 08.React样式

    这里使用的是webpact和npm搭建的开发环境react-existing(参考第一节),在基础上做的改动。 1...

  • CSS-基础

    选择器样式:背景/大小样式:文本/字体 选择器 样式:背景/大小 样式:文本/字体 样式:边框 样式:内边距 样式...

  • CSS哪些样式属性可以继承

    不可继承的样式 可继承的样式 所有元素可继承: 内联样式: 块状样式: 列表样式: 表格样式:

  • iOS 改变字符串中所有指定字符串的颜色

    样式 代码 样式 代码 样式

  • CSS修饰

    1. 内部样式 2. 内联样式 3. 引用外部样式 内部样式如下: 内联样式如下: 引用外部样式 优先级:内联样式...

  • React Native StryleSheet 实践总结

    1) 引入样式 2) 创建样式 3) 调用样式的几种方式 单个样式引用(对象) 多个样式引用(数组) 条件样式 ...

  • CSS样式的建立

    样式的建立:内部样式 外部样式 和内联样式 1、内部样式 : 语法: css语句 注:使用style标记创建样式时...

  • css基础1

    使用css的方式 使用css的方式有3种,样式的优先权为:行内样式>内部样式>外部样式行内样式内部样式外部样式 行...

  • 样式表

    样式表 在css中可以在三种位置设置样式:行间样式,内部样式和外部样式 行间样式:对单个标签进行设置样式(缺点:当...

  • css

    css:层叠样式展示,用于制作静态页面 css样式分为三大类:行间样式、内部样式、外部样式 行间样式:写在body...

网友评论

      本文标题:08.React样式

      本文链接:https://www.haomeiwen.com/subject/cdwizxtx.html