ant design Card组件了解

ant design card文档

文章目录

      • 示例1
      • 示例2,带cover
      • flex回忆

示例1

  • 需求:用组件card,用react实现其cover固定大小并自适应。并实现一行6个card,超过自动换行。

  • 代码

    import { Card } from 'antd';
    
    const cards = [
      { title: "Card 1", content: "This is card 1" },
      { title: "Card 2", content: "This is card 2" },
      { title: "Card 3", content: "This is card 3" },
      { title: "Card 4", content: "This is card 4" },
      { title: "Card 5", content: "This is card 5" },
      { title: "Card 6", content: "This is card 6" },
      { title: "Card 7", content: "This is card 7" },
      { title: "Card 8", content: "This is card 8" },
    ];
    
    function App() {
      return (
        
    {cards.map((card) => ( {card.content} ))}
    ); }

    在上面的代码中,我们使用 display: flexflex-wrap: wrap 来让卡片自动换行。然后我们将每一个卡片的宽度设置为 calc(100% / 6),这样每一行就可以显示六个卡片了。

    您还需要将卡片的外边距设置为适当的值,以便它们在页面上看起来更加美观。

示例2,带cover

import { Card } from 'antd';
import React, { useState } from 'react';

const coverStyle = {
  height: '150px',
  width: '100%',
  objectFit: 'cover',
};

const cardStyle = {
  width: '200px',
  margin: '10px',
};

const testData = [
  {
    title: 'Card Title 1',
    cover: 'http://xxx.jpg',
  },
  {
    title: 'Card Title 2',
    cover: 'http://xxx.jpg',
  },
  {
    title: 'Card Title 3',
    cover: 'http://xxx.jpg',
  },
  // add more data here...
];

function CardList() {
  const [data, setData] = useState(testData);

  return (
    
{data.map((cardData, index) => ( } > ))}
); } export default CardList;

flex回忆

flex 是 CSS3 中用来定义弹性盒子模型的属性。它是一个缩写,包含了三个子属性:flex-growflex-shrinkflex-basis

在这里,flex: "1 0 calc(100% / 6)" 表示:

  • flex-grow: 1:表示当有剩余空间时,卡片可以根据比例放大以填充父容器。
  • flex-shrink: 0:表示当空间不足时,卡片不会缩小,保持原始大小。
  • flex-basis: calc(100% / 6):表示卡片的初始宽度为父容器宽度的 1/6。

这样设置之后,每行就可以显示六个等宽的卡片,并且当窗口尺寸改变时,卡片的宽度也相应地进行调整。

flex-wrap: wrap:当一行放不下时,会自动换行。

你可能感兴趣的:(前端,javascript,react.js,前端)