HTML + CSS:当显示Flex时,锚占据整个宽度,但按钮不会

mm9b1k5b  于 2023-10-14  发布在  其他
关注(0)|答案(1)|浏览(154)

我试图创建一个按钮,具有相同的风格作为一个锚标记。
但是,我注意到锚标记的宽度是父标记的全宽,而添加display: flex时按钮的宽度只是其内容的宽度

  1. const App = () => {
  2. const buttonRef = useRef();
  3. return(
  4. <div className="box">
  5. <a className="link" href="/blah">hey</a>
  6. <button
  7. onClick={() => {
  8. console.log(buttonRef.current);
  9. }}
  10. ref={buttonRef}
  11. className="link">
  12. Special Button
  13. </button>
  14. </div>
  15. );
  16. }

CSS:

  1. .link {
  2. display: flex;
  3. justify-contents: center;
  4. align-items: center;
  5. background-color: grey;
  6. }

为什么它们有相同的样式却有不同的宽度?
下面是我的codepen使用react:https://codepen.io/edmundmai/pen/qBRewxX

mrzz3bfm

mrzz3bfm1#

根据this answer,实际上是按钮标签没有正常工作。
或者,将按钮设置为width: 100%,或者将其 Package 在具有display: flex; flex-direction: column;的父级中

相关问题