Как ограничить ширину span по фактически занимаемому буквами пространству?
В span есть стрелочка сортировки, она позиционируется абсолютно относительно span. Но когда происходит перенос строки, то образуется промежуток между тестом span и стрелочкой. Мне нужно, чтобы span занимал ширину по факту, сколько занимается ширины тест (чтобы не было промежутка). Есть ли такая возможность?
const CriteriaSelector: React.FC<ICriteriaSelectorProps> = ({
label,
sortCriteria,
sortHook,
className,
}) => {
return (
<div
className={classNames(styles.criteriaSelector, className)}
onClick={() => sortHook.recountSort(sortCriteria)}
>
<span
className={classNames(
styles.label,
sortCriteria === sortHook.sortCriteria && styles.active
)}
>
{label}
{sortHook.sortMode != ESortMode.noSort &&
sortCriteria === sortHook.sortCriteria && (
<svg
className={classNames(
styles.arrow,
sortHook.sortMode === ESortMode.ascendingOrder &&
styles.arrow_reverse
)}
viewBox="0 0 8 6"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M4 6L0.535898 6.52533e-07L7.4641 4.68497e-08L4 6Z"
fill="#606773"
/>
</svg>
)}
</span>
</div>
);
};
.criteriaSelector {
position: relative;
cursor: pointer;
user-select: none;
max-width: 200px;
.label {
position: relative;
display: inline-block;
.arrow {
position: absolute;
aspect-ratio: 1.333 / 1;
width: 8px;
left: calc(100% + 8px);
top: 50%;
transform: translateY(-50%);
transition: transform 150ms ease;
@include breakpoint(sm) {
left: calc(100% + 2px);
width: 7px;
}
&_reverse {
transform: translateY(-50%) scale(1, -1);
}
}
}