anjia / blog

博客,积累与沉淀
106 stars 4 forks source link

具有“脚本魔力”的属性们 #75

Open anjia opened 4 years ago

anjia commented 4 years ago

属性的“脚本魔力”,是指仅仅通过一行简单的属性设置,就能实现看起来要 JS 才能完成的交互功能。包括但不限于:

touch-action

touch-action可以控制用户在触摸屏上的行为,诸如滚动(横向滚动、纵向滚动)、网页缩放等。它能决定在此元素上触发的触摸行为,能否触发浏览器的默认行为。

它的取值可以是:

touch-action: auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation

取值说明:

特别说明:

  • 术语 pan 和 scroll 是同义词,用来定义触发 panning(平移)和 scrolling(滚动)
  • pinch 单词释义:捏、掐、撮
  • zoom 单词释义:放大

该属性最常用的使用场景:

它的原理是浏览器在响应触摸事件之前,会先判断下属性touch-action的值。更多内容,详见标准 Pointer Events / Details of touch-action values

不建议用 touch-action: none; 这会影响到无障碍特性。它会禁止操作浏览器的缩放功能,不方便弱视人群阅读网页。

pointer-events

pointer-events可以定义元素如何响应鼠标事件。

pointer-events: auto | none | fill | stroke | all | bounding-box | visiblePainted | visibleFill | visibleStroke | visible | painted 

它的取值可以是:

pointer-events: none 在下面的场景下很有用:

其它 CSS 属性

以上三个比较直观,可以直接看在线例子

  • scroll-* 元素的滚动行为
  • animation 动画相关

HTML 属性

小结

了解这些小小的属性,可以让我们在特定场景下事半功倍。:)

zzz6519003 commented 4 years ago

维护配置文件就哭了~。~