【发布时间】:2017-01-12 17:00:09
【问题描述】:
我正在尝试创建一个用于混合 Android 应用程序的轻量级切换开关 - 以代替我目前依赖脚本来传递其魔力的工作。这是我迄今为止所取得的成就
.onoffBox
{
text-align:left !important;
padding:0.5em;
}
.onOffBox > span
{
display:inline-block;
width:90vw;
text-align:left !important;
color:white;
}
.inpOnOff
{
display:none;
}
.inpOnOff + label
{
width:10vw;
float:right;
background-color:silver;
border-radius:3vw;
height:3vw;
padding:0;
margin:0;
position:relative;
}
.inpOnOff + label:before
{
padding:0;
margin:0;
background-color:white;
content:'';
border-radius:5vw;
height:5vw;
width:5vw;
position:absolute;
left:0;
top:-1vw;
}
.inpOnOff:checked + label{background-color:aqua;}
.inpOnOff:checked + label:before
{
left:calc(100% - 5vw);
background-color:aqua;
}
body{background-color:black;}
<div class='onOffBox'>
<span>Hide Hints</span>
<input id='inpHideHints' class='inpOnOff' type='checkbox'/>
<label for='inpHideHints' id='lblHideHints'></label>
</div>
查看this fiddle 以了解实际情况。
虽然这可行,但我有两个担忧
- 我对@987654323@ 一直不太满意,所以我不确定我在这里的用法是否正确
- 您会注意到,在
input:checked状态下,我使用CSS calc来定位label:before伪元素的左侧。鉴于所有这些都是针对 Android 混合网络应用程序,我担心早期版本的 Android WebView 可能无法理解calc。
如果有人可以在这里提出一些改进或替代方案,我将不胜感激。
【问题讨论】:
标签: android css cordova webview toggle