有意思的css3属性

1. CSS 属性指定在什么情况下 (如果有) 某个特定的图形元素可以成为鼠标事件的 target(鼠标事件穿透)

说明
auto 与pointer-events属性未指定时的表现效果相同,对于SVG内容,该值与visiblePainted效果相同
none 元素永远不会成为鼠标事件的target。但是,当其后代元素的pointer-events属性指定其他值时,鼠标事件可以指向后代元素,在这种情况下,鼠标事件将在捕获或冒泡阶段触发父元素的事件侦听器
visiblePainted 只适用于SVG。元素只有在以下情况才会成为鼠标事件的目标:
  • visibility属性值为visible,且鼠标指针在元素内部,且fill属性指定了none之外的值
  • visibility属性值为visible,鼠标指针在元素边界上,且stroke属性指定了none之外的值
  • visibleFill 只适用于SVG。只有在元素visibility属性值为visible,且鼠标指针在元素内部时,元素才会成为鼠标事件的目标,fill属性的值不影响事件处理
    visibleStroke 只适用于SVG。只有在元素visibility属性值为visible,且鼠标指针在元素边界时,元素才会成为鼠标事件的目标,stroke属性的值不影响事件处理
    visible 只适用于SVG。只有在元素visibility属性值为visible,且鼠标指针在元素内部或边界时,元素才会成为鼠标事件的目标,fill和stroke属性的值不影响事件处理
    painted 只适用于SVG。元素只有在以下情况才会成为鼠标事件的目标:
  • 鼠标指针在元素内部,且fill属性指定了none之外的值
  • 鼠标指针在元素边界上,且stroke属性指定了none之外的值
  • visibility属性的值不影响事件处理
    stroke 只适用于SVG。只有鼠标指针在元素内部时,元素才会成为鼠标事件的目标,fill和visibility属性的值不影响事件处理
    all 只适用于SVG。只有鼠标指针在元素内部或边界时,元素才会成为鼠标事件的目标,fill、stroke和visibility属性的值不影响事件处理

    例:

    1
    2
    3
    {
    pointer-events: none;
    }

    这个时候鼠标事件会穿透这个元素,一般在我们不想让子元素触发父元素事件的时候可以给子元素加上这个属性


    本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!