我有一个复选框,点击后需要提交表单,即使没有javascript的帮助。因此,我正在创建一个内部有一个按钮的表单,并尝试将该按钮伪装成一个复选框。
到目前为止,我将此作为我的HTML:
<form>
<button class="checkbox" type="submit">
</button>
</form>
这是我的CSS:
.checkbox {
padding: 0;
height: 13px;
width: 13px;
-webkit-appearance: checkbox;
-moz-appearance: checkbox;
}
我缺少什么让这个类与IE,Safari,Opera等兼容?
另外,如何让按钮显示?
答案 0 :(得分:2)
-ms-appearance
Opera的-o-appearance
顺便说一句,这称为供应商前缀。
答案 1 :(得分:2)
除了在添加vendor prefixes之前的答案之外,您可以通过在html
.checkbox {
height: 25px;
width: 25px;
-webkit-appearance: checkbox;
-moz-appearance: checkbox;
-ms-appearance: checkbox;
-o-appearance: checkbox;
appearance: checkbox;
}
<button class="checkbox" type="submit">✔</button>
显然Firefox不会在按钮内显示任何内容,所以我建议不要使用appearance
,只是将勾号放在按钮内,它看起来像一个复选框,而不是Firefox中的默认复选框,但是如果你不能容忍你必须使用叠加层或svg
来解决它
.checkbox {
height: 25px;
width: 25px;
margin: 0;
padding: 0;
}
<button class="checkbox" type="submit">✔</button>
答案 2 :(得分:0)
你可以使用svg:
.button{
display: inline-block;
width:20px;
height:30px;
padding:20px 30px;
border:3px solid orangered;
background:white;
border-radius: 3px;
position:relative;
cursor:pointer;}
.icon {
display: inline-block;
stroke-width: 0;
width:30px;
fill: orangered;
position:absolute;
line-height:0;
top:50%;
left:50%;
transform:translate(-50%,-50%)
}
<form class="form" action="">
<button class="button">
<svg class="icon icon-checkmark" viewbox="0 0 32 32">
<path d="M27 4l-15 15-7-7-5 5 12 12 20-20z"></path>
</svg>
</button>
</form>