CSS `touch-action` `pan-x`, `pan-y`, `pinch-zoom` 组合手势控制

各位观众老爷,大家好!今天咱们来聊聊CSS的touch-action属性,尤其是pan-x、pan-y、pinch-zoom这几个小家伙组合起来能玩出什么花样。这玩意儿在移动端开发中可是相当重要,用得好,能让你的网页在触摸设备上丝滑流畅,用不好,那就是一场灾难。准备好了吗?咱们这就开始! touch-action:触摸事件的指挥官 首先,得搞清楚touch-action是干嘛的。简单来说,它就是个指挥官,负责告诉浏览器,当用户在某个元素上进行触摸操作时,应该如何响应。默认情况下,浏览器会尝试处理所有的触摸手势,比如滚动、缩放等等。但有时候,我们希望自己来掌控这些手势,比如只允许水平滚动,或者禁用缩放。这时候,touch-action就派上用场了。 pan-x、pan-y:水平垂直,各司其职 pan-x和pan-y这两个属性分别控制水平和垂直方向的平移(也就是滚动)。 pan-x:允许水平方向的平移,禁止垂直方向的平移。 pan-y:允许垂直方向的平移,禁止水平方向的平移。 举个例子,假设我们有一个水平滚动的列表: <div class=”horizontal-scroll”&gt …

CSS `Force Touch` / `3D Touch` 事件与 `transform` / `opacity` 深度交互

各位朋友,大家好!我是你们的老朋友,今天咱们来聊聊一个有点酷炫,但又经常被忽视的玩意儿:CSS Force Touch / 3D Touch 事件,以及它和 transform、opacity 这些老伙计的深度交互。 别看这玩意儿名字里带着 Force、3D 这么唬人的词儿,其实它背后的原理并不复杂。简单来说,就是设备能感知你按压屏幕的力度,然后我们就能根据这个力度来做点文章。 一、Force Touch/3D Touch:是谁?从哪儿来?要到哪儿去? 首先,得跟大家承认,Force Touch 和 3D Touch 现在有点“过气”了。Apple 已经在新的设备上逐渐放弃了这种硬件特性。但是,理解它的工作原理,以及如何利用它进行交互设计,仍然很有价值。因为类似的压力感应技术可能会以其他形式回归,而且我们现在仍然能用它来做一些很有意思的实验。 Force Touch (Apple Watch, MacBook): 主要检测你按压的力度是 "点击" 还是 "用力点击"。基本上只有两种状态。 3D Touch (iPhone 6s – i …