CSS触摸动作无作用于身体,捏缩放元素

时间:2018-09-26 18:54:45

标签: javascript jquery html css

我正在尝试应用此

body {
  touch-action: none;
}

.left-side {
  touch-action: pinch-zoom;
}

<div class="left-side"><img src="image.jpg" /></div>

触摸操作:没有任何作用,但是左侧是:(

我在做什么错?还是身体凌驾于一切之上?

2 个答案:

答案 0 :(得分:1)

touch-actionpinch-zoom是各种修饰符。根据{{​​3}},它与其他值结合使用:

  

touch-action属性可以指定为以下任意一种:

     
      
  • 关键字autononemanipulation中的任何一个
  •   
  • 关键字pan-xpan-leftpan-right和/或之一,关键字pan-ypan-uppan-down可选地关键字pinch-zoom
  •   

pinch-zoom本身什么也不做,它只是让浏览器知道它应该允许使用两个手指手势。来控制列出的动作。

因此,如果要允许多指支持来横向平移页面,请使用:

.left-side {
   touch-action: pan-x pinch-zoom;
}

注意:请记住,此功能仅适用于触摸设备。鼠标和可访问系统不会反映任何功能更改。

答案 1 :(得分:1)

这些属性并不是它们看起来的样子:

<块引用>

touch-action CSS 属性允许开发人员限制用户与元素进行交互的方式,这特别有助于 防止在不必要时分派事件。

您无法真正添加任何不存在的触摸交互,但您可以根据需要限制现有的触摸交互。那么 pinch-zoom 会做什么?

<块引用>

如果您在网站上捏合,它通常会放大页面 内容。定义一个触摸动作会阻止这种行为,但是 添加双指缩放将重新启用此行为。

我不知道有任何捏缩放 CSS 解决方案,但它可以使用一些 javascript(touchstarttouchmovetouchend 为您提供所需的一切)。还有一些库为常见手势提供了方便的包装器,例如 hammerjs

您可以阅读有关触摸操作 here 的更多信息。