简体   繁体   English

按钮上的 className 属性不起作用 - Reactjs

[英]className attribute on button is not working - Reactjs

It's a cart, I am displaying the total amount of the items added to the cart.这是一个购物车,我正在显示添加到购物车中的商品总数。 I have added different styles to the elements, and everything works fine.我在元素中添加了不同的 styles,一切正常。 But the style on both the buttons won't change.但是两个按钮的样式都不会改变。

电流输出 预期产出

Cart.js:购物车.js:

import Modal from "../UI/Modal";
import classes from "./Cart.module.css";

const Cart = (props) => {
  const cardItems = (
    <ul className={classes['cart-items']}>
      {[{ id: "c1", name: "Sushi", amount: 2, price: 12.99 }].map((item) => (
        <li>{item.name}</li>
      ))}
    </ul>
  );
  return (
    <Modal>
      {cardItems}
      <div className={classes.total}>
          <span>Total Amount</span>
          <span>35.62</span>
      </div>
      <div className={classes.action}>
          <button className={classes['button--alt']}>Close</button>
          <button className={classes.button}>Order</button>
      </div>
    </Modal>
  );
};

export default Cart;

Cart.module.css:购物车.module.css:

   
  .actions button {
    font: inherit;
    cursor: pointer;
    background-color: transparent;
    border: 1px solid #8a2b06;
    padding: 0.5rem 2rem;
    border-radius: 25px;
    margin-left: 1rem;
  }
  
  .actions button:hover,
  .actions button:active {
    background-color: #5a1a01;
    border-color: #5a1a01;
    color: white;
  }
  
  .actions .button--alt {
    color: #8a2b06;
  }
  
  .actions .button {
    background-color: #8a2b06;
    color: white;
  }

Change classes.action to classes.actionsclasses.action更改为classes.actions

import Modal from "../UI/Modal";
import classes from "./Cart.module.css";

const Cart = (props) => {
  const cardItems = (
    <ul className={classes['cart-items']}>
      {[{ id: "c1", name: "Sushi", amount: 2, price: 12.99 }].map((item) => (
        <li>{item.name}</li>
      ))}
    </ul>
  );
  return (
    <Modal>
      {cardItems}
      <div className={classes.total}>
          <span>Total Amount</span>
          <span>35.62</span>
      </div>
      <div className={classes.actions}>
          <button className={classes['button--alt']}>Close</button>
          <button className={classes.button}>Order</button>
      </div>
    </Modal>
  );
};

export default Cart;

You just have a typo in your className in你只是在你的className中有一个错字

<div className={classes.actions}>

<div className={classes.actions}> instead of <div className={classes.action}> <div className={classes.actions}>而不是<div className={classes.action}>

It's working if it is classes.actions .如果它是classes.actions ,它就可以工作。

在此处输入图像描述

I found your bug我发现了你的错误

  <div className={classes.action}>
      <button className={classes['button--alt']}>Close</button>
      <button className={classes.button}>Order</button>
  </div>

You're using classes.action but in the css its actions (without s)您正在使用 classes.action 但在 css 中它的操作(没有 s)

solution:解决方案:

   <div className={classes.actions}>

change action to actions.改变行动为行动。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM