gpt4 book ai didi

CSS Transitions 对比三星 Galaxy Tab 2

转载 作者:行者123 更新时间:2023-11-28 13:34:27 24 4
gpt4 key购买 nike

我正在开发适用于平板电脑的网络应用程序,我为我的复选框设置了一组 div 和标签的样式,以便它看起来像一个开关。 ( JsFiddle here. )

它在 iPad 2 和 3 上运行良好,但是当我在 Samsung Galaxy Tab 2 上查看它时它只会在我将平板电脑从纵向转到横向或反之时更改状态

我也试过不转场,还是一样的问题。

有没有什么方法可以在没有 Javascript 的情况下获得我想要的效果?

所以不会让我只链接到 jsfiddle 所以这里是代码:

HTML:

<label class="switch" for="test">
<input type="checkbox" id="test">
<div class="track">
<div class="knob"></div>
</div>
</label>​

CSS:

label.switch > .track {
width: 80px;
height: 52px;
border-radius: 60px;
box-shadow: 0 1px 3px black inset, 0 -1px 1px rgba(255,255,255,0.15);
/*border: 5px solid #666;*/
display:inline-block;
cursor:pointer;
background: #333;
background: -moz-linear-gradient(top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0.65)), color-stop(100%,rgba(0,0,0,0)));
background: -webkit-linear-gradient(top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
background: -o-linear-gradient(top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
background: -ms-linear-gradient(top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
background: linear-gradient(to bottom, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
transition: background .5s;
-webkit-transition: background .5s;
-moz-transition: background .5s;
-o-transition: background .5s;
-ms-transition: background .5s;
}

label.switch > .track > .knob {
height: 54px;
width: 54px;
border-radius: 50px;
margin-top:-1px;
box-shadow: 0 2px 3px black, 0 1px 0 rgba(255, 255, 255, 0.5) inset, 0 0 0 5px rgba(237,237,237,1) inset;
transition: margin-left .25s;
-webkit-transition: margin-left .25s;
-moz-transition: margin-left .25s;
-o-transition: margin-left .25s;
-ms-transition: margin-left .25s;
background: rgb(191,191,191);
background: -moz-linear-gradient(top, rgba(191,191,191,1) 0%, rgba(246,246,246,1) 53%, rgba(255,255,255,1) 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(191,191,191,1)), color-stop(53%,rgba(246,246,246,1)), color-stop(100%,rgba(255,255,255,1)));
background: -webkit-linear-gradient(top, rgba(191,191,191,1) 0%,rgba(246,246,246,1) 53%,rgba(255,255,255,1) 100%);
background: -o-linear-gradient(top, rgba(191,191,191,1) 0%,rgba(246,246,246,1) 53%,rgba(255,255,255,1) 100%);
background: -ms-linear-gradient(top, rgba(191,191,191,1) 0%,rgba(246,246,246,1) 53%,rgba(255,255,255,1) 100%);
background: linear-gradient(to bottom, rgba(191,191,191,1) 0%,rgba(246,246,246,1) 53%,rgba(255,255,255,1) 100%);
}


label.switch > input {
display:none;
}

label.switch > input:checked ~ .track {
background: #D96200

}

label.switch > input:checked ~ .track > .knob {
margin-left:26px;
}

最佳答案

Android 平板电脑(至少是 Samsung Galaxy Tab 2)以旧版 Chrome 作为默认浏览器。

此浏览器无法识别 general sibling selector (~)。这就是动画不工作的原因。

解决方案是更改所有出现的 adjacent sibling selector 的通用兄弟选择器。 (+).

关于CSS Transitions 对比三星 Galaxy Tab 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13146526/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com