【发布时间】:2021-04-22 19:49:02
【问题描述】:
我正在尝试制作一个范围滑块,并且我想让拇指(靛蓝)不超出边界框边框(红色)。
如果拇指小,那么它看起来很完美,但如果拇指大,在我的情况下,那么它看起来不对齐。
我在 react-range 库的帮助下使用 React 和 Tailwind,代码如下所示:
import * as React from "react"
import { Range } from "react-range"
export default function App() {
const [values, setValues] = React.useState([50])
return (
<div className="w-full flex justify-center">
<div className="w-48 border-4 border-red-300">
<h1 className="text-4xl">Range</h1>
<label>Slider</label>
<Range
step={1}
min={0}
max={75}
values={values}
onChange={(values) => {
setValues(values)
}}
renderTrack={({ props, children }) => (
<div
{...props}
className="w-full h-3 pr-2 my-4 bg-gray-200 rounded-md"
>
{children}
</div>
)}
renderThumb={({ props }) => (
<div
{...props}
className="w-5 h-5 transform translate-x-10 bg-indigo-500 rounded-full focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"
/>
)}
/>
<span>{values[0]}px</span>
</div>
</div>
)
}
我也做了一个可复现的demo→https://codesandbox.io/s/react-tailwind-align-range-slider-ghyf0?file=/src/App.tsx
我希望拇指与Slider 和0px 对齐,否则它看起来不正常。即使是原生范围滑块也不会超出边界框。我怎样才能达到这种效果?
【问题讨论】:
标签: javascript html css reactjs tailwind-css