首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浮动-用户界面反应交互-如何设置浮动元素宽度与参考宽度相同

浮动-用户界面反应交互-如何设置浮动元素宽度与参考宽度相同
EN

Stack Overflow用户
提问于 2022-07-31 09:48:43
回答 3查看 732关注 0票数 0

在我的react应用程序中,我试图用floating-ui/react-dom-interactions构建下拉菜单(以前称为react-popper)。下面是我的组件演示的一个码箱链接。下面是应用程序当前状态的输出。

我想设置浮动元素宽度与引用元素相同。我试图从文档中跟踪这种方法,但没有得到所需的输出。如何设置浮动元素宽度与引用元素相同。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-07-31 11:31:19

最后一个使用大小键的解决方案,如包中所定义的。

代码语言:javascript
复制
const { x, y, reference, floating, strategy, context } = useFloating({
    placement,
    open,
    middleware: [
      offset(4),
      size({
        apply({ rects, elements }) {
          Object.assign(elements.floating.style, {
            width: `${rects.reference.width}px`
          });
        }
      }),
      flip(),
      shift({ padding: 5 })
    ],
    onOpenChange: setOpen,
    whileElementsMounted: autoUpdate
  });

选中沙箱- https://codesandbox.io/s/angry-marco-4yhuer?file=/src/SecondaryCategoryItems.jsx

票数 1
EN

Stack Overflow用户

发布于 2022-07-31 10:22:37

当我看到你有一个网格--网格-cols-4用于类别,这意味着每一个宽度都是25%,我可以建议一个解决方案而不深入讨论包的可能性,只需添加一个类,如

代码语言:javascript
复制
<div className={"bg-gray-700 py-2 text-white px-3 w-1/5 flex flex-col"}
  {...getFloatingProps({
  ref: floating,
  className: "Tooltip",
  style: {
    position: strategy,
    ref: floating,
    top: y ?? 0,
    left: x ?? 0,
  }
 })}
>

在index.css中定义样式,如

代码语言:javascript
复制
.Tooltip {
  background: #222;
  color: white;
  font-weight: bold;
  padding: 5px;
  border-radius: 4px;
  font-size: 90%;
  pointer-events: none;
  width: 25%;
}
票数 0
EN

Stack Overflow用户

发布于 2022-07-31 11:07:51

另一种使用SecondaryCategoryItems paddings的解决方案,当我在主父服务器上签入px-8时,这意味着,从开始和结束,都可以通过网格和填充到组件,计算minWidth,比如minWidth:("100“/格栅)- (p / 4) + "%"

沙箱示例- https://codesandbox.io/s/cold-monad-vqm7ch?file=/src/SecondaryCategoryItems.jsx:1304-1340

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73182229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档