Я хотел бы удалить стрелки, когда ввод сфокусирован, но я не могу использовать файл CSS. Я должен сделать это на моем компоненте.
Как я могу этого добиться? Возможно ли это с помощью TailwindCSS?
const InputCounter = ({ id, label, value }: NumericInputProps) => {
const [count, setCount] = useState(value ?? 0);
return (
<div className = "hk-flex hk-flex-col hk-gap-2">
<label htmlFor = {id} className = "hk-text-sm hk-font-bold hk-text-neutral-700">
{label}
</label>
<div>
<button
type = "button"
className = "hk-h-10 hk-w-10 hk-bg-transparent hk-rounded hk-rounded-r focus:hk-outline-none"
onClick = {() => setCount(count - 1)}
>
<IconLess width = {16} height = {16} />
</button>
<input
id = {id}
type = "number"
value = {count}
className = "hk-h-10 hk-w-16 hk-text-center hk-text-base hk-border-none hk-rounded focus:hk-outline-none hk-appearance-none"
/>
<button
type = "button"
className = "hk-h-10 hk-w-10 hk-bg-transparent hk-rounded hk-rounded-l focus:hk-outline-none"
onClick = {() => setCount(count + 1)}
>
<IconPlus width = {16} height = {16} />
</button>
</div>
</div>
);
};
нет, так как CSS находится в CSS. Мне нужно, чтобы это было в моем className или атрибуте на входе
Тогда я думаю, что нет никакого способа сделать это только с служебными классами, предоставляемыми попутным ветром. Вам нужно будет использовать пользовательские стили CSS.
Вы можете добавить style = "" к элементу.
Вы имеете в виду, что не можете добавлять/обновлять какие-либо классы CSS?
Я могу добавить классы или атрибут стиля, но я не могу создать файл css, чтобы добавить в него CSS.
Затем используйте тег <style> и напишите внутри него CSS.
Я пытался, но получаю сообщение об ошибке: "Не удается найти имя "webkit"" ^^'
Обязательно сделайте это таким образом: <style jsx>{`styles_go_here`}</style>
Что происходит, когда вы добавляете атрибут стиля?
@AHaworth Я добавил это, но стрелки все еще были там






Используйте атрибут [&::-webkit-inner-spin-button] с утилитой appearance-none.
Как вы можете видеть здесь, -webkit-inner-spin-button определяет те стрелки, которые вы хотите отключить:
CSS-псевдоэлемент ::-webkit-inner-spin-button используется для оформления внутренней части кнопки-счетчика элементов ввода числа.
Следующие работы:
<input id = "{id}" type = "number" value = "0" class = "[&::-webkit-inner-spin-button]:appearance-none" />
С вашим кодом:
<div class = "flex items-center border border-neutral-300 w-fit rounded m-8 ">
<button type = "button" class = "h-10 w-10 rounded border-r border-gray-300 bg-transparent focus:outline-none">-</button>
<input id = "{id}" type = "number" value = "0" class = "h-10 w-16 text-center [&::-webkit-inner-spin-button]:appearance-none" />
<button type = "button" class = "h-10 w-10 rounded border-l border-neutral-300 bg-transparent focus:outline-none">+</button>
</div>
Отвечает ли это на ваш вопрос? stackoverflow.com/questions/3790935/…