gpt4 book ai didi

javascript - 如何在样式组件中获取元素的宽度(以 px 为单位)?

转载 作者:行者123 更新时间:2023-12-04 10:00:19 24 4
gpt4 key购买 nike

由于元素可以根据其内容改变其宽度,因此我不知道如何获取其宽度(以像素为单位)。

这是基本的、简化的结构:

// React component 

export const Navbar = ({ month }) => (
<NavbarStyled>
<div>
<span>{month}</span> //month is what varies in width
</div>
</NavbarStyled>
)
// NavbarStyled.js

export const NavbarStyled = styled.nav`
...

span:after{
...

animation: show 1s ease forwards;
}

@keyframes show{
100%{
transform: translateX(the_element's_width_in_px);
}
}
`

我尝试了很多方法,但没有结果。

谢谢!

最佳答案

您可以使用 getBoundingClientRect() function 获取宽度,它将返回元素属性的对象。对于样式化组件,您需要使用 useRef 来引用元素。钩子(Hook)or another referencing method为了调用 getBoundingClientRect()。

referencedElement.getBoundingClientRect()
// Return the width by calling referencedElement.getBoundingClientRect().width

关于javascript - 如何在样式组件中获取元素的宽度(以 px 为单位)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61843643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com