Bootstrap Modal在iOS设备上不起作用
我在使用Bootstrap的网站上工作,有一个问题,我似乎无法修复。 这里是网站的草稿 。
在“我们做什么”面板上,我在第一个缩略图框(在缩略图下面写着“Enterprise Software development”)创build了一个可点击的模式窗口。 如果您在非移动设备上单击缩略图,则会popup一个模式窗口。
在台式电脑(或笔记本电脑)上,它工作得很好。 但是在iOS(iPhone,iPad等)上,它根本不起作用:即点击它不会显示模式窗口。
但是,如果您在“我们是谁”面板的页面上看起来较低,则会出现“查看更多关于Tim …”button。 如果您点击或点击该button,它将适用于所有设备(包括iOS)。
我可以看到两者之间的唯一区别是,第一个是在一个<div>
标签,而第二个是在一个<button>
标签。
Bootstrap不支持从iOS设备上的<div>
启动模式窗口吗? 如果是这样,您是否看到我的代码有任何问题,只会在iOS设备上失败?
克里斯的答案是正确的。 更改div
到一个button
将有助于澄清你的标记。 但是,如果您需要保留相同的标记,您还可以添加cursor: pointer
您的div元素的cursor: pointer
,以让safari知道这是可以点击的东西。 它也让我们的鼠标用户有一个标准的视觉提示,该元素也是可点击的。
只需添加类clickable
,然后包括以下CSS:
.clickable { cursor: pointer; }
这里是一个小提琴的MCVE与修复以及
注意我没有在这里使用Bootstrap的btn
类,因为它们会自动添加cursor
规则。
这根本不是Bootstrap特有的,这是iOS上的一个普遍问题。 默认情况下,许多非常用交互元素(如<div>
)在iOS上不可点击/可点击。
有关更多详细信息,请参阅https://github.com/facebook/react/issues/134以及其中的链接和后续步骤。
如果可能,请改用<button>
或<a>
。 无论如何,交互式元素的<div>
在语义上不是很合适。