【问题标题】:how to apply width to css flexbox如何将宽度应用于css flexbox
【发布时间】:2020-07-01 08:05:20
【问题描述】:

渲染标题列表并尝试为它们提供宽度或弹性,但它不起作用标签使用默认宽度 133px,但仅适用于静态数据 min-width 有效。如何在标签中使用 flex 或 width?

import React, { Component } from "react";
import { NavLink, BrowserRouter } from "react-router-dom";
import "./chooseCategory.scss";
import { categoryList } from "./categoryList";
import axios from "axios";

class chooseCategory extends Component {
  state = {
    recdata: [],
  };

  async componentDidMount() {
    let data = await axios.get(`https://jsonplaceholder.typicode.com/posts`);

    this.setState({
      recdata: data.data,
    });
  }

  render() {
    console.log(this.state.recdata);
    return (
      <div className="chooseCategory">
        {this.state.recdata.map((title) => (
          <p className="categoryLink">{title.title}</p>
        ))}
      </div>
    );
  }
}

export default chooseCategory;
.chooseCategory {
  display: flex;
  flex-flow: row nowrap;
  overflow: scroll;
  .categoryLink {
    width: 200px;
    margin-right: 10px;
    border: 1px solid black;
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.1/umd/react-dom.production.min.js"></script>

【问题讨论】:

    标签: javascript css reactjs


    【解决方案1】:

    您应该将flex-shrink: 0 添加到.categoryLink

    这是一个工作示例:https://codesandbox.io/s/snowy-sun-elo7d?file=/src/App.js

    【讨论】:

    • 它和 min-width 一样我想要的是每个标题应该动态地占用宽度,没有额外的空间
    猜你喜欢
    • 2013-07-07
    • 2015-07-18
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 2015-07-05
    • 2015-08-09
    • 2020-11-13
    • 2020-06-06
    相关资源
    最近更新 更多