第二行div与CSS和React并排

Nao*_*omi 11 css reactjs

如图所示,我有两个组件,我想要并排排列: 仪表板

我使用的反应,并与组件Negotiation,frontend以及food来自其它组件传递的元素.

我如何设置这个样式,以便每个元素(Negotiation,Frontendfood)彼此分开,但仍然在同一列中,旁边有新闻排列?

我的JavaScript:

class Course extends React.Component {
  render() {
    return (
      <div>
        <div className="coursecontent">
          <h3>{this.props.coursename}</h3>
          <h4> {this.props.status} {this.props.progress}</h4>
        </div>
        <button className="coursecontent">Start exercise</button>
      </div>
    );
  }
}

class Welcomebox extends React.Component {
  render() {
    return <h1>Welcome Naomi</h1>;
  }
}

ReactDOM.render(<Welcomebox />, document.getElementById('welcomebox'));

class Coursebox extends React.Component {
  render() {
    return (
      <div className="box-field">
        <Course coursename="Negotiation" progress= "20%" status="Progress"/>
        <Course coursename="Frontend" progress="56%" status="Progress"/>
        <Course coursename="Food" status="Progress" progress="43%"/>
      </div>
    );
  }
}

class Newsbox extends React.Component {
  render() {
    return (
      <div className="box-field" className="newsbox">
        <h3>News</h3>
      </div>
    );
  }
}

class Dashboardbox extends React.Component {
  render() {
    return (
      <div className="dashboardbox">
        <Coursebox />
        <Newsbox />
      </div>
    );
  }
}

ReactDOM.render(<Dashboardbox />, document.getElementById('dashboardbox'));
Run Code Online (Sandbox Code Playgroud)

我的CSS:

.box-field,
.newsbox {
  width: 45%;
  background-color: lightgrey;
  font-family: arial;
  margin-left: 30px;
  height: 80%;
  padding: 5px 10px 10px 10px;
  border-radius: 10px;
  display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)

所以基本上,在每个Course元素之间我想要空间(最好设置Margin),我希望Newsbox组件与Coursebox组件对齐.

小智 27

将新Newsbox组件放在旁边的解决方案Coursebox

import Coursebox from './Coursebox';
import Newsbox  from './Newsbox'
 class ContainerRow extends React.Component {
 render(){
    return (
        <div className='rowC'>
            <Coursebox />
            <Newsbox />
        </div>
    );
    }
 }
Run Code Online (Sandbox Code Playgroud)

CSS

.rowC{display:flex; flex-direction:row;}
Run Code Online (Sandbox Code Playgroud)