我無法將元素懸停在移動設備上。如何將鏈接,按鈕和div懸停在移動設備上?
在我的CSS,I型是這樣的:
.button:hover {
background-color: #fff;
}
這似乎徘徊在我的桌面上正常,但是在我的iPhone和其他觸摸屏設備,我似乎無法使按鈕懸停。
我無法將元素懸停在移動設備上。如何將鏈接,按鈕和div懸停在移動設備上?
在我的CSS,I型是這樣的:
.button:hover {
background-color: #fff;
}
這似乎徘徊在我的桌面上正常,但是在我的iPhone和其他觸摸屏設備,我似乎無法使按鈕懸停。
在移動設備上沒有hover
事件,您可以定義懸停行爲,它可以在桌面上使用。但在移動設備上,只有通過點擊/觸摸才能看到此懸停。
哈弗意味着另一件事。在這種情況下,將鼠標光標放在HTML按鈕上或使用任何元素。
在電話的情況下,沒有鼠標光標。它總是一個點擊。在大多數情況下,盤旋只會在點擊或觸摸時顯示。如果你真的需要這個,你可以嘗試Javascrit onclick()
或其他功能,所以當他們點擊或觸摸時,你可以添加一些東西。
對於jQuery/CSS的這個問題的一個非常快速的解決方案,我做了以下。
寫樣式我的元素是這樣的:
.one-block:hover, .one-block.hover { ... }
它定位:
.one-block { position: relative; }
加入此塊中最後一個元素 - >.mobile-mask
:
<div class="one-block">
....
<div class="mobile-mask"></div>
</div>
定位.mobile-mask
:
.mobile-mask {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
隱藏它用於非移動(這部分不是精確在所有:只利用CSS。如果您通過其他方式檢測移動設備,並且比如給一個班級正文,而不是更準確。在這種情況下,我只需要一個快速的解決方案):
@media (min-width: 681px) {
.mobile-mask {
display: none;
}
}
創建的JavaScript將添加/刪除.hover
類:
$('.mobile-mask').on('click', function(){
$('.list .mobile-mask').show();
$('.list .one-block').removeClass('hover');
$(this).hide();
$(this).parent().addClass('hover');
});
$(window).on('resize', function(event){
var windowWidth = $(this).width();
if(windowWidth > 680){
$('.list .one-block').removeClass('hover');
}
});
移動設備不具備的:hover – TylerH
既然有沒有鼠標光標,您無法在移動設備上懸停按鈕。但是,您可以正確使用.activate來設置背景顏色,如下所示:'.button:activate {...}' – WebGuy
請參閱https://stackoverflow.com/questions/2427447/does-css-hover-work-on - 移動設備 – TylerH