如何使用html和css创建复选框和单选按钮

时间:2017-11-17 13:56:09

标签: html css

我目前正在开展一个学校项目,我的想法的很大一部分是基于单选按钮和复选框。我已经找到了很多关于如何创建它们的代码,唯一的问题是我只允许使用某些html标签而不使用jQuery。

我可以使用的标签:

•html,head,body,title,meta,link

•标题,部分,文章,页脚

•div

•h1-h6

•p

•span

•ul,ol,li

•a

•img

•音频

有没有办法用这些标签创建复选框和单选按钮?

2 个答案:

答案 0 :(得分:3)

<强>单选按钮

我想出了做放射线按钮的方法,但只有当其中一个被聚焦时,它们才有效。

&#13;
&#13;
.radio {
    display: inline-block;
    position: relative;
    margin-left: 1em;
    padding-left: 1.5em;
}

.radio::before {
    content: "";
    display: inline-block;
    border: 1px solid black;
    width: 1em;
    height: 1em;
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.radio:focus {
    outline: none;
}

.radio:focus::after {
    content: "";
    display: inline-block;
    border: 1px solid black;
    width: 0.5em;
    height: 0.5em;
    border-radius: 100%;
    position: absolute;
    background-color: black;
    left: 0.25em;
    top: 0.25em;
}
&#13;
<ul class="radio-group">
    <li tabindex="0" class="radio">Option 1</li>
    <li tabindex="0" class="radio">Option 2</li>
    <li tabindex="0" class="radio">Option 3</li>
</ul>
&#13;
&#13;
&#13;

此处的关键元素是<li>项中的tabindex,使它们可以集中精力。

  

tabindex全局属性指示其元素是否可以被聚焦,以及它是否/在何处参与顺序键盘导航(通常使用Tab键,因此名称)。它接受一个整数作为值,具有不同的结果,具体取决于整数的值:[...]

<强>复选框

我设计了它们但是我不知道如何让它们在没有JS的情况下工作(现在它们的行为与收音机完全一样。)

&#13;
&#13;
.check {
    display: inline-block;
    position: relative;
    margin-left: 1em;
    padding-left: 1.5em;
}

.check::before {
    content: "";
    display: inline-block;
    border: 1px solid black;
    width: 1em;
    height: 1em;
    position: absolute;
    left: 0;
    top: 0;
}

.check:focus {
    outline: none;
}

.check:focus::after {
    content: "";
    display: inline-block;
    border-left: 3px solid black;
    border-bottom: 3px solid black;
    transform: rotate(-45deg);
    width: 1em;
    height: 0.5em;
    position: absolute;
    left: 0.1em;
    top: -0.1em;
}
&#13;
<ul class="check-boxes">
    <li tabindex="0" class="check">Option 1</li>
    <li tabindex="0" class="check">Option 2</li>
    <li tabindex="0" class="check">Option 3</li>
</ul>
&#13;
&#13;
&#13;

提示:我想到的唯一纯粹的CSS事物类似于保存状态CSS counters,但是因为你无法构建基于计数器的选择器#39; s值......

答案 1 :(得分:0)

要以HTML格式输入用户数据,您唯一的选择就是输入标记。请查看官方文档:

https://www.w3schools.com/html/html_form_input_types.asp

只有使用允许的标签,您才能创建单选按钮和复选框。