У меня есть div (.inner
) с динамической шириной c в зависимости от его содержимого.
.inner {
display: inline-block;
position: absolute;
}
Это обрезается его родителем (.clipper
) с использованием overflow: hidden
:
.clipper {
width: 100%;
height: 100%;
overflow: hidden;
position: relative;
}
Я хочу, чтобы полная внутренняя ширина элемента не была обрезана, я делаю это так:
useLayoutEffect(() => {
const { clientWidth: innerWidth } = innerRef.current;
// work with innerWidth..
}, []);
Однако, это innerWidth
, clientWidth
или ширина ограничительной рамки - все возвращаются обрезанное значение (370 в этом случае).
Проверка его в DOM показывает его реальную ширину (723).
Кроме того, после горячей перезагрузки модуля консоль регистрирует нужную ширину один раз ..
Может кто-нибудь просветить меня, что происходит? Это как-то связано с повторным рендерингом или чем-то с console.log?