likes
comments
collection
share

非标准的css你懂不懂

作者站长头像
站长
· 阅读数 4

-webkit-tap-highlight-color

CSS 的 -webkit-tap-highlight-color 属性是一个非标准的属性,它是专门为基于 WebKit 的浏览器(如旧版的 Safari 和 Chrome)设计的。这个属性允许开发者自定义当用户在移动设备上点击(或“tap”)可点击元素时显示的高亮颜色。

默认情况下,当用户在触摸设备上点击一个链接或者具有 JavaScript 点击事件监听器的元素时,浏览器会显示一个半透明的灰色矩形来提供视觉反馈。使用 -webkit-tap-highlight-color 属性,开发者可以改变这个高亮颜色,甚至可以将其设置为 transparent 以完全去除这个高亮效果。

示例代码如下:

element {
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0.3); /* 设置为白色半透明 */
}

/* 或者 */

element {
    -webkit-tap-highlight-color: transparent; /* 完全去除 tap 高亮 */
}

在这些例子中,第一个规则将点击高亮颜色设置为半透明的白色,而第二个规则则将颜色设置为透明,这意味着点击时不会有任何高亮效果。

需要注意的是,因为这是一个非标准属性,所以它只适用于支持 WebKit 引擎的浏览器。此外,由于它影响了用户的视觉反馈,所以在使用这个属性时应该考虑到用户体验。例如,如果你完全移除了点击高亮,那么用户可能不容易知道他们的点击操作是否被识别,尤其是在网页响应时间较长或者点击没有立即反馈的情况下。因此,在移除默认的点击高亮时,最好提供其他形式的反馈,比如状态变化、动画等。

-ms-text-size-adjust

-ms-text-size-adjust 是一个非标准的 CSS 属性,主要用于微软的 Internet Explorer 和 Edge 浏览器。这个属性允许开发者在网页上控制文本的大小调整,特别是在用户缩放页面时。使用这个属性可以防止浏览器改变文本大小,确保布局和文本的一致性。

该属性主要有以下几个值:

  • none:禁止浏览器调整文本大小。
  • auto(默认值):允许浏览器根据其默认的设置来调整文本大小。
  • 百分比值:允许文本大小调整到指定的百分比。

例如,如果你想禁止浏览器更改页面中的文本大小,可以这样设置:

cssCopy Code
html {
  -ms-text-size-adjust: none;
}

但是,需要注意的是 -ms-text-size-adjust 属性是一个专为旧版 IE 和 Edge 浏览器设计的私有属性,它不是所有浏览器都支持的标准 CSS 属性。在其他浏览器中,有一个类似的标准属性叫做 text-size-adjust。为了确保跨浏览器的兼容性,你可能需要同时设置标准的 text-size-adjust-ms-text-size-adjust

cssCopy Code
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

上面的例子将文本大小调整限制为100%,即浏览器不会对文本大小进行任何缩放,无论用户如何缩放页面。

最后,考虑到用户的可访问性,通常不建议完全禁止文本缩放,因为这可能会影响视力不好的用户阅读内容。在实际开发中,应当谨慎使用这个属性。

-webkit-text-size-adjust

-webkit-text-size-adjust 是一个非标准的 CSS 属性,它主要用于 WebKit 引擎的浏览器,比如早期的 Safari 和 Chrome。这个属性允许开发者控制在网页上对文本大小的调整,特别是在移动设备上,用户缩放页面时可以防止浏览器改变文本大小,确保布局和文本的一致性。

该属性接受以下几个值:

  • none:禁止浏览器调整文本大小。
  • auto(默认值):允许浏览器根据其默认的设置来调整文本大小。
  • 百分比值:允许文本大小调整到指定的百分比。

例如,如果你想禁止浏览器更改页面中的文本大小,可以这样设置:

cssCopy Code
html {
  -webkit-text-size-adjust: none;
}

或者,如果你想限制文本大小调整为不超过100%,可以这样设置:

html {
  -webkit-text-size-adjust: 100%;
}

这将确保即使用户缩放页面,文本大小也不会变大,有助于维护设计的一致性。

然而,需要注意的是 -webkit-text-size-adjust 属性是一个专为 WebKit 浏览器设计的私有属性,并不是所有浏览器都支持的标准 CSS 属性。为了跨浏览器兼容性,除了 -webkit-text-size-adjust,还应该设置标准的 text-size-adjust 属性:

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; /* 主要针对旧版 IE 和 Edge */
  text-size-adjust: 100%;
}

同样地,出于可访问性的考虑,不建议完全禁用文本大小的调整,因为这可能会影响到那些需要放大文本以便阅读的用户。在实际开发中,应当谨慎使用这个属性,并且始终考虑到所有用户的需求。

-webkit-overflow-scrolling

CSS 的 -webkit-overflow-scrolling 属性是一个非标准的属性,它用于控制在基于 WebKit 的浏览器上(如早期版本的 Safari 和 Chrome)的滚动行为。这个属性主要用于移动设备,以提供一个更流畅的用户体验。

该属性有两个可能的值:

  1. auto:默认值,使用普通滚动。当用户滑动时,滚动会立即停止,没有惯性效果。
  2. touch:启用了惯性滚动,类似于原生应用中的滚动效果。当用户滑动后,内容会根据滑动的速度和力度继续滚动一段距离,然后逐渐减速直至停止。

使用 -webkit-overflow-scrolling: touch; 可以使得在具有滚动条的元素内的滚动行为看起来更加平滑和自然,尤其是在 iOS 设备上。这个属性通常与 overflow: scroll;overflow: auto; 结合使用。

示例代码如下:

.element-with-scrolling {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

在这个例子中,.element-with-scrolling 类的元素将会有一个惯性滚动效果,在用户触摸屏幕并滑动后,滚动会以平滑的方式逐渐减速停止,而不是立即停止。

需要注意的是,-webkit-overflow-scrolling 是一个专门为旧版 WebKit 浏览器设计的属性,现代浏览器已经默认实现了平滑的滚动效果,因此这个属性可能在最新的浏览器版本中不再必要或者不再有效。此外,由于它是一个非标准属性,建议只在需要支持旧版移动浏览器时使用,并且要注意测试在不同设备和浏览器上的行为表现。

转载自:https://juejin.cn/post/7308939878682132543
评论
请登录