Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >悬停的CSS动态导航-如何让它在iOS Safari中工作?

悬停的CSS动态导航-如何让它在iOS Safari中工作?
EN

Stack Overflow用户
提问于 2010-08-17 10:48:31
回答 1查看 12K关注 0票数 7

在我的网站中,我只使用CSS动态菜单。这在桌面浏览器中很好,但在iOS (iphone、ipad等)上就不行了,因为触摸界面不支持:hover选择器。

我的问题是:在iOS上支持这一点的最佳方式是什么?(理想情况下,要么用一些CSS打补丁,要么用Javascript让现有代码正常工作,而不是仅仅为了支持iOS而重新做整个事情)

我的html如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<ul id="nav"> 
  <li> 
     Item 1
     <ul> 
       <li><a href=''>sub nav 1.1</a></li>
       <li><a href=''>sub nav 1.2</a></li>
     </ul> 
  </li> 
  <li> 
     Item 2
     <ul> 
       <li><a href=''>sub nav 2.1</a></li>
       <li><a href=''>sub nav 2.2</a></li>
     </ul> 
  </li> 
  <li> 
     Item 3 
     <ul> 
        <li><a href=''>sub nav 3.1</a></li>
        <li><a href=''>sub nav 3.2</a></li>
    </ul> 
  </li> 
</ul> ​​​​​

CSS是这样的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#nav li {
    float:left;
    padding:0 15px;
}

#nav li ul {
    position: absolute;
    width: 10em;
    left: -999em;
    margin-left: -10px;
}

#nav li:hover ul {
    left: auto;
}

我在这里做了一个jsfiddle:http://jsfiddle.net/NuTz4/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-17 10:53:03

查看这篇文章,也许它是您的解决方案;)

http://www.usabilitypost.com/2010/05/12/css-hover-controls-on-iphone/

另有JS解决方案,取自:http://www.evotech.net/blog/2008/12/hover-pseudoclass-for-the-iphone/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var nav = document.getElementById('nav');
var els= nav.getElementsByTagName('li');
for(var i = 0; i < els.length; i++){
    els[i].addEventListener('touchstart', function(){this.className = "hover";}, false);
    els[i].addEventListener('touchend', function(){this.className = "";}, false);
}

在jQuery中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$('#nav li').bind('touchstart', function(){
    $(this).addClass('hover');
}).bind('touchend', function(){
    $(this).removeClass('hover');
});

css:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
li:hover, li.hover { /* whatever your hover effect is */ }
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3501586

复制
相关文章
使用Safari或者Chrome远程调试IOS Safari中的页面
【转载请注明出处】:https://blog.csdn.net/huahao1989/article/details/108020899
后端老鸟
2020/08/15
23.1K0
使用Safari或者Chrome远程调试IOS Safari中的页面
iOS 5 Mobile Safari中label的bug
前几天在codepen上看到了不错CSS用法,今天打算在写新博客的时候使用类似的思路:
mmzhou
2018/08/06
6780
CSS 下拉菜单与 focus
focus 伪类 :focus 表示被点击、触摸或 tab 选中的元素,笼统地说就是「获得焦点」的元素。
Qwe7
2022/03/26
5.6K0
CSS 3.0实现的悬停菜单特效
今天给大家分享一个用CSS 3.0实现的悬停菜单特效,效果如下: 以下是代码实现,欢迎大家复制粘贴和收藏。 <!DOCTYPE html> <html lang="en"> <head> <
越陌度阡
2020/11/26
1.2K0
CSS 3.0实现的悬停菜单特效
CSS 3.0实现文字悬停特效
给大家分享一个用CSS 3.0实现的网页特效,效果如下: 以下是代码实现,欢迎大家复制粘贴和收藏。 <!DOCTYPE html> <html lang="en"> <head>
越陌度阡
2020/11/26
1.8K0
CSS 3.0实现文字悬停特效
css实现鼠标悬停图片放大
解析: transform:scale()可以实现按比例放大或者缩小功能。 transition允许CSS的属性值在一定的时间区间内平滑过渡。 可以调节放大倍数以及放大过程所用时间。 效果:
马修
2021/01/21
5.7K0
css实现鼠标悬停图片放大
CSS 3.0实现视频字幕悬停特效
给大家分享一个用CSS 3.0实现的视频字幕悬停特效,效果如下: 以下是代码实现,欢迎大家复制粘贴和收藏。 <!DOCTYPE html> <html lang="en"> <head>
越陌度阡
2020/11/26
4250
CSS 3.0实现视频字幕悬停特效
CSS实现图片悬停文字叠加效果
在这篇文章中,我们将看到如何轻松创建一个漂亮的图像悬停文本覆盖效果。对于本教程,你必须具备充分的 HTML 和 CSS 基本知识。
@零一
2021/05/19
3.5K0
CSS 3.0实现卡片悬停立体特效
今天给大家分享一个用CSS 3.0实现的卡片悬停立体特效,效果如下: 以下是代码实现,欢迎大家制复粘贴和收藏。 <!DOCTYPE html> <html lang="en"> <head>
越陌度阡
2020/11/26
1.6K0
CSS 3.0实现卡片悬停立体特效
按钮样式的正确方式
如果你正在建立一个网站或一个web应用,你可能会用到按钮,也许看起来像按钮的链接。不管怎样,让这些正常展示是很重要的。
frontoldman
2019/09/02
3.7K0
按钮样式的正确方式
云开发是啥?看看它在编程导航项目的实践
大家好,我是鱼皮,近几年腾讯云开发技术持续发力,更新升级速度非常迅猛,功能也是越来越强大易用,公司最近也搞了场云开发应用竞赛,见证云开发的破茧化蝶。
程序员鱼皮
2021/06/22
6930
5分钟实现鼠标悬停效果,CSS3悬停效果
今天的学习就到这里了,由于本人能力和知识有限,如果有写的不对的地方,还请各位大佬批评指正。如果想继续学习提高,欢迎关注我,每天学习进步一点点,就是领先的开始,加油。如果觉得本文对你有帮助的话,欢迎转发,评论,点赞!!!
AlbertYang
2020/12/29
2.1K0
5分钟实现鼠标悬停效果,CSS3悬停效果
CSS实现图片悬停文字叠加效果
在这篇文章中,我们将看到如何轻松创建一个漂亮的图像悬停文本覆盖效果。对于本教程,你必须具备充分的 HTML 和 CSS 基本知识。
@零一
2021/12/31
3.8K0
CSS实现图片悬停文字叠加效果
css3新属性position: sticky 一分钟实现 导航栏悬停功能
想必很多前端小伙伴经常会在开发中遇到这样一个需求,就是在下划时,导航栏悬停在屏幕最上方,例如咱们的csdn:
@零一
2021/01/29
1.8K0
css3新属性position: sticky 一分钟实现 导航栏悬停功能
解决iOS 版Safari 中浮动(float)导致页面右侧偏移的bug
长时间没写CSS代码就是生疏了啊!昨天在用ipad 调试最新的主题的时候遇到了一个坑,现在写在这里记录下——iOS 版Safari 中浮动(float)导致页面右侧偏移的bug。 重现 看标题看客可能
Jeff
2018/01/22
2.5K0
解决iOS 版Safari 中浮动(float)导致页面右侧偏移的bug
ios下Safari无法触发click事件的处理
<!DOCTYPE html> <html> <head> <title>122</title> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no"> </head> <body> <div> adfafasdfasdfasdfasfdasdf<br/> adfafasdfasdfasdfasfdasdf<br/
用户7657330
2020/08/14
1.6K0
命令模式与它在源码中的运用
将每一个请求当做一个命令,存下具体的命令接收者,然后等待着命令被执行或者被取消,当命令被执行时,可以先记录先执行了那些命令,接着命令接收者开始执行自己的操作。
爬蜥
2019/07/01
3020
点击加载更多

相似问题

scrollIntoView -如何让它在iOS中工作?

112

CSS Div,需要它在Firefox和Safari中工作

20

Css :悬停不工作在safari和ios总是显示边框

14

Safari iOS 8.4.1中仅CSS菜单悬停问题

13

用于导航的CSS :在Safari上悬停推送内容

115
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文