使单选按钮看起来有勾号和活动边框
make radio button look like it has tick and border upon active
我一直在尝试做这样的事情https://prnt.sc/20x8u7h
试了很多方法,还是达不到想要的状态。
我尝试将 1000 和 uzs 包含在 font awesome 中带有勾号 i class,尝试使用外观:none;,尝试使用位置,已经两天了,仍然想不通。
你能告诉我怎么做吗?
我一直在使用 tailwind,并尝试与同行 classes 一起使用,但出于某种原因它无法使用我的 tailwind,甚至找不到 class,然后决定我最好写我自己的文字。
我只需要让一个单选按钮看起来像打印出来的那样,其余的我可以熟练地复制粘贴。
非常感谢任何帮助提前致谢
理想的状态应该是:单击时,单个单选按钮处于活动状态,并且它的边框带有右侧的勾号:-5px;顶部:-5px,
<template>
<div>
<h3 class="font-Rubik text-xs font-medium tracking-wide uppercase mb-1 mt-3 text-tcolor">To‘lov summasi</h3>
<div class="flex flex-wrap">
<div class="relative p-2">
<input class="absolute" type="radio" checked />1000
<span class="text-uzs text-xs font-Rubik font-normal">UZS</span>
<label for="1000" class=""><i class="fas fa-check hidden"></i> </label>
</div>
</div>
</div>
</template>
<script>
export default {
}
</script>
<style scoped lang="scss">
.tick{
top: -5px;
right: -5px;
}
input[type="radio"]{
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
-o-appearance: none;
appearance: none;
width: 30px;
height: 30px;
border: 2px solid #1FBED6;
background-color: white;
&:checked + label{
background: none;
}
您应该使用隐藏 radio button
并使用图标作为检查。使用 grid 列出 labels
将被定位 relative
并将作为图标和文本的容器。您可以使用 +
选择器并为第一个兄弟 label
获取选中的 input:radio
并设置样式。
input[type=radio]:checked + label{
border: 1px solid indigo;
}
input[type=radio]:checked + label > span.icon {
display: inline-block;
}
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css" rel="stylesheet">
<div>
<h3 class="font-Rubik text-xs font-medium tracking-wide uppercase mb-1 mt-3 text-tcolor">To‘lov summasi</h3>
<div class="grid grid-cols-3 gap-2">
<input class="hidden" id="1000" name="uzs" type="radio" checked />
<label class="block w-full border p-2 relative" for="1000">
<span class='hidden icon'><i class="fas fa-check border border-indigo-600 bg-indigo-600 text-white rounded-full text-xs p-1 absolute top-0 right-0 -m-2"></i></span>
1000
<span class="text-uzs text-xs font-Rubik font-normal">UZS</span>
</label>
<input class="hidden" id="5000" name="uzs" type="radio" />
<label class="block w-full border p-2 relative" for="5000">
<span class='hidden icon'><i class="fas fa-check border border-indigo-600 bg-indigo-600 text-white rounded-full text-xs p-1 absolute top-0 right-0 -m-2"></i></span>
5000
<span class="text-uzs text-xs font-Rubik font-normal">UZS</span>
</label>
</div>
</div>
我一直在尝试做这样的事情https://prnt.sc/20x8u7h 试了很多方法,还是达不到想要的状态。
我尝试将 1000 和 uzs 包含在 font awesome 中带有勾号 i class,尝试使用外观:none;,尝试使用位置,已经两天了,仍然想不通。
你能告诉我怎么做吗?
我一直在使用 tailwind,并尝试与同行 classes 一起使用,但出于某种原因它无法使用我的 tailwind,甚至找不到 class,然后决定我最好写我自己的文字。
我只需要让一个单选按钮看起来像打印出来的那样,其余的我可以熟练地复制粘贴。
非常感谢任何帮助提前致谢
理想的状态应该是:单击时,单个单选按钮处于活动状态,并且它的边框带有右侧的勾号:-5px;顶部:-5px,
<template>
<div>
<h3 class="font-Rubik text-xs font-medium tracking-wide uppercase mb-1 mt-3 text-tcolor">To‘lov summasi</h3>
<div class="flex flex-wrap">
<div class="relative p-2">
<input class="absolute" type="radio" checked />1000
<span class="text-uzs text-xs font-Rubik font-normal">UZS</span>
<label for="1000" class=""><i class="fas fa-check hidden"></i> </label>
</div>
</div>
</div>
</template>
<script>
export default {
}
</script>
<style scoped lang="scss">
.tick{
top: -5px;
right: -5px;
}
input[type="radio"]{
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
-o-appearance: none;
appearance: none;
width: 30px;
height: 30px;
border: 2px solid #1FBED6;
background-color: white;
&:checked + label{
background: none;
}
您应该使用隐藏 radio button
并使用图标作为检查。使用 grid 列出 labels
将被定位 relative
并将作为图标和文本的容器。您可以使用 +
选择器并为第一个兄弟 label
获取选中的 input:radio
并设置样式。
input[type=radio]:checked + label{
border: 1px solid indigo;
}
input[type=radio]:checked + label > span.icon {
display: inline-block;
}
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css" rel="stylesheet">
<div>
<h3 class="font-Rubik text-xs font-medium tracking-wide uppercase mb-1 mt-3 text-tcolor">To‘lov summasi</h3>
<div class="grid grid-cols-3 gap-2">
<input class="hidden" id="1000" name="uzs" type="radio" checked />
<label class="block w-full border p-2 relative" for="1000">
<span class='hidden icon'><i class="fas fa-check border border-indigo-600 bg-indigo-600 text-white rounded-full text-xs p-1 absolute top-0 right-0 -m-2"></i></span>
1000
<span class="text-uzs text-xs font-Rubik font-normal">UZS</span>
</label>
<input class="hidden" id="5000" name="uzs" type="radio" />
<label class="block w-full border p-2 relative" for="5000">
<span class='hidden icon'><i class="fas fa-check border border-indigo-600 bg-indigo-600 text-white rounded-full text-xs p-1 absolute top-0 right-0 -m-2"></i></span>
5000
<span class="text-uzs text-xs font-Rubik font-normal">UZS</span>
</label>
</div>
</div>