样式定义与引入

样式定义与引入

CSS 样式

引入 CSS 文件

动态样式类名

SCSS

Style

Inline Style:行内样式

在 React 中,如果要使用行内元素,不可以直接使用 style="”这种方式,可以有:

import React from 'react';

var style = {
  backgroundColor: '#EEE'
};

export default React.createClass({
  render: function () {
    return (
      <div style={style}>
      //或者<div style={{backgroundColor: '#EEE'}}>
        <h1>Hello world</h1>
      </div>
    )
  }
});

可以看出,React 的 style 属性接收的也是一个 JavaScript 对象。

Styled Component

Class

你可以根据这个策略为每个组件创建 CSS  文件,可以让组件名和 CSS  中的 class  使用一个命名空间,来避免一个组件中的一些 class  干扰到另外一些组件的 class。

app/components/MyComponent.css

.MyComponent-wrapper  {
    background-color: #eee;
}

app/components/MyComponent.jsx

import "./MyComponent.css";
import React from "react";

export default React.createClass({
  render: function () {
    return (
      <div className="MyComponent-wrapper">
                <h1>Hello world</h1>
              
      </div>
    );
  },
});

## Multiple Class

上文中提及的利用 className 方式赋值,如果在存在多个类名的情况下:

render: function() {
  var cx = React.addons.classSet;
  var classes = cx({
    'message': true,
    'message-important': this.props.isImportant,
    'message-read': this.props.isRead
  });
  // same final string, but much cleaner
  return <div className={classes}>Great, I'll be there.</div>;
}

这里的 classSet 只是起到了一个帮助进行类名合成的功能,React 官方已经弃用了,改为了这个

SCSS

上一页