Radio 单选框
响应式单选框组件。
行内 Tailwind/UnoCSS 用法
使用行内的tailwind/unocss样式构建,复制组件的代码即可使用
查看代码
html
<!-- 直接使用 -->
<input type="radio" name="test" value="1" class="my-0 size-3 appearance-none rounded-full border-gray-300 bg-white text-blue-600 ring-1 ring-primary ring-offset-2 checked:bg-primary disabled:ring-gray-300 dark:border-gray-600 dark:bg-gray-700">
<!-- 带文字 -->
<label class="space-x-2">
<input type="radio" name="test" value="2" class="my-0 size-3 appearance-none rounded-full border-gray-300 bg-white text-blue-600 ring-1 ring-primary ring-offset-2 checked:bg-primary disabled:ring-gray-300 dark:border-gray-600 dark:bg-gray-700">
<span class="text-gray-700 dark:text-gray-300">Default Radio</span>
</label>
<!-- 禁用状态 -->
<label class="cursor-not-allowed items-center space-x-2 opacity-50">
<input disabled type="radio" name="test" value="3" class="my-0 size-3 appearance-none rounded-full border-gray-300 bg-white text-blue-600 ring-1 ring-primary ring-offset-2 checked:bg-primary disabled:ring-gray-300 dark:border-gray-600 dark:bg-gray-700">
<span class="text-gray-700 dark:text-gray-300">Disabled Radio</span>
</label>
<!-- Radio 组 -->
<div class="inline-flex space-x-2">
<label class="space-x-2">
<input type="radio" name="test" value="4" class="my-0 size-3 appearance-none rounded-full border-gray-300 bg-white text-blue-600 ring-1 ring-primary ring-offset-2 checked:bg-primary disabled:ring-gray-300 dark:border-gray-600 dark:bg-gray-700">
<span class="text-gray-700 dark:text-gray-300">Default Radio</span>
</label>
<label class="space-x-2">
<input type="radio" name="test" value="5" class="my-0 size-3 appearance-none rounded-full border-gray-300 bg-white text-blue-600 ring-1 ring-primary ring-offset-2 checked:bg-primary disabled:ring-gray-300 dark:border-gray-600 dark:bg-gray-700">
<span class="text-gray-700 dark:text-gray-300">Default Radio</span>
</label>
<label class="space-x-2">
<input type="radio" name="test" value="6" class="my-0 size-3 appearance-none rounded-full border-gray-300 bg-white text-blue-600 ring-1 ring-primary ring-offset-2 checked:bg-primary disabled:ring-gray-300 dark:border-gray-600 dark:bg-gray-700">
<span class="text-gray-700 dark:text-gray-300">Default Radio</span>
</label>
</div>
<!-- Radio按钮组 -->
<div class="inline-flex">
<label class="group cursor-pointer items-center border border-solid border-gray-300 bg-white px-3 py-1.5 first:rounded-l-md last:rounded-r-md has-[:checked]:z-[2] has-[:checked]:border-transparent has-[:checked]:bg-primary has-[:checked]:!text-white [&:not(:first-child)]:-ml-px">
<input type="radio" name="test" value="4" class="sr-only">
<span>Radio1</span>
</label>
<label class="group cursor-pointer items-center border border-solid border-gray-300 bg-white px-3 py-1.5 first:rounded-l-md last:rounded-r-md has-[:checked]:z-[2] has-[:checked]:border-transparent has-[:checked]:bg-primary has-[:checked]:!text-white [&:not(:first-child)]:-ml-px">
<input type="radio" name="test" value="5" class="sr-only">
<span>Radio2</span>
</label>
<label class="group cursor-pointer items-center border border-solid border-gray-300 bg-white px-3 py-1.5 first:rounded-l-md last:rounded-r-md has-[:checked]:z-[2] has-[:checked]:border-transparent has-[:checked]:bg-primary has-[:checked]:!text-white [&:not(:first-child)]:-ml-px">
<input type="radio" name="test" value="6" class="sr-only">
<span>Radio3</span>
</label>
</div>