supports_快速提示:将@supports CSS文件添加到您的CodePen演示中

本文介绍如何使用CSS的@supports规则创建可重用的警告通知,以在浏览器不支持特定CSS特性时提醒用户。通过将这些通知封装在独立的CodePen笔中,可以在多个演示中轻松引用,确保代码的整洁和高效。文章还展示了如何通过外部CSS链接将这些通知整合到其他演示中,实现统一管理和更新。

supports

当您的CodePen演示依赖于最先进CSS时,警告人们是个好主意。 当浏览器不支持我们的演示时,我们使用@support规则来提供方便的可重用CodePen资产,以提供通知。

最终结果

这就是我们正在努力的方向; 可重用的通知,以突出显示不受支持CSS。 它将几乎完全保存在自己的笔中,我们可以通过外部CSS链接将其添加到其他演示中:

@supports规则

CSS @supports已经存在了好几年,并且本身就享有相当不错的浏览器支持 。 它使我们能够执行功能查询 ,仅当浏览器当时支持指定的属性时才应用CSS。 这样可以防止半执行样式规则,甚至允许我们在显示警告时显示警告。

它通过将样式声明包装在一个条件中来工作,如下所示:

@supports (display: grid) {
  div {
    /* when CSS Grid is supported, do something */
  }
}

通知事项

让我们快速发出几个通知:

我们正在通过伪元素添加文本内容,以便可以从一个位置进行控制。 这些标签最终将在许多演示中使用,因此将内容分开保存意味着我们可以一次性更改所有标签。

.support-initial-letter::after {
    content: "✋🏼 Hold on there cowboy; initial-letter is unsupported in your browser.";
}

随意设置这些样式。

添加@supports条件

默认情况下,我们的通知是可见的,但我们只希望在不支持其各自属性时显示它们。 让我们添加一个条件来做到这一点:

@supports (initial-letter: 1) or (-webkit-initial-letter: 1) {
  .support-initial-letter::after {
    display: none;
  }
}

这里我们说的是“如果支持initial-letter或-webkit-initial-letter,请不要显示.support-initial-letter通知”

然后,我们为每个通知重复此操作,并给我们以下成品笔:

您可以看到多少条通知?

重新用作外部CodePen资产

保存笔后,我们可以从其他笔中引用它,从而为我们提供了超级有用的外部资产。 将其作为外部CSS文件添加到新笔中:

这只会拉入CSS,而忽略我们在那里的任何HTML或JS,因此现在将所需的任何通知元素添加到新笔HTML中:

<div class="support-backdrop-filter"></div>

就这样,完成了! 每当您更新@supports笔时,这些更改都会反映在您使用过的所有演示中。

结论

您会在笔上使用@supports通知来注意到许多尖端的@supportsJen Simmons做到了, Rachel Andrew做到了, 我们做到了。 将通知样式放入外置笔中是管理事务同时保持标记闪闪发光的完美方法。 更新消息,添加新CSS属性,应用季节性品牌,发疯! 让我们知道您如何在评论中使用@supports

翻译自: https://webdesign.tutsplus.com/tutorials/quick-tip-add-a-supports-css-file-to-your-codepen-demos--cms-27378

supports

解释下 行 62397: 03-08 15:04:15.131867 4296 4672 I BluetoothInCallService: BluetoothInCallService = com.android.bluetooth.telephony.BluetoothInCallService@38bdc84 行 62398: 03-08 15:04:15.131962 4296 4672 I BluetoothInCallService: processChld 1 行 62399: 03-08 15:04:15.132103 4296 4672 I BluetoothInCallService: ringingCall hashcode: 177724520 行 62400: 03-08 15:04:15.132338 4296 4672 I BluetoothInCallService: Active: Call [id: TC@42, state: ACTIVE, details: [id: TC@42, state: ACTIVE, pa: ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, 1, UserHandle{0}, hdl: tel:18756305546, hdlPres: 1, videoState: Audio Only, caps: [Capabilities: CAPABILITY_SUPPORT_HOLD CAPABILITY_MUTE CAPABILITY_SUPPORTS_VT_LOCAL_RX CAPABILITY_SUPPORTS_VT_LOCAL_TX CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL CAPABILITY_SUPPORTS_VT_REMOTE_RX CAPABILITY_SUPPORTS_VT_REMOTE_TX CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL CAPABILITY_CAN_PAUSE_VIDEO CAPABILITY_REMOTE_PARTY_SUPPORTS_RTT], props: [Properties: PROPERTY_HIGH_DEF_AUDIO]]] Ringing: Call [id: TC@43, state: RINGING, details: [id: TC@43, state: RINGING, pa: ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, 1, UserHandle{0}, hdl: tel:18136655845, hdlPres: 1, videoState: Audio Only, caps: [Capabilities: CAPABILITY_SUPPORT_HOLD CAPABILITY_RESPOND_VIA_TEXT CAPABILITY_MUTE CAPABILITY_SUPPORTS_VT_LOCAL_RX], props: [Properties:]]] Held: null chld: 1 行 62434: 03-08 15:04:15.136505 26054 26054 D InCall : Call - TelecommCallListener onStateChanged call=Call [id: TC@42, state: DISCONNECTING, details: [id: TC@42, state: DISCONNECTING, pa: ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, 1, UserHandle{0}, hdl: tel:18756305546, hdlPres: 1, videoState: Audio Only, caps: [Capabilities: CAPABILITY_SUPPORT_HOLD CAPABILITY_MUTE CAPABILITY_SUPPORTS_VT_LOCAL_RX CAPABILITY_SUPPORTS_VT_LOCAL_TX CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL CAPABILITY_SUPPORTS_VT_REMOTE_RX CAPABILITY_SUPPORTS_VT_REMOTE_TX CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL CAPABILITY_CAN_PAUSE_VIDEO CAPABILITY_REMOTE_PARTY_SUPPORTS_RTT], props: [Properties: PROPERTY_HIGH_DEF_AUDIO]]] newState=10 行 62435: 03-08 15:04:15.136588 26054 26054 D InCall : Call - updateFromTelecommCall: Call [id: TC@42, state: DISCONNECTING, details: [id: TC@42, state: DISCONNECTING, pa: ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, 1, UserHandle{0}, hdl: tel:18756305546, hdlPres: 1, videoState: Audio Only, caps: [Capabilities: CAPABILITY_SUPPORT_HOLD CAPABILITY_MUTE CAPABILITY_SUPPORTS_VT_LOCAL_RX CAPABILITY_SUPPORTS_VT_LOCAL_TX CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL CAPABILITY_SUPPORTS_VT_REMOTE_RX CAPABILITY_SUPPORTS_VT_REMOTE_TX CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL CAPABILITY_CAN_PAUSE_VIDEO CAPABILITY_REMOTE_PARTY_SUPPORTS_RTT], props: [Properties: PROPERTY_HIGH_DEF_AUDIO]]] 行 62436: 03-08 15:04:15.136617 26054 26054 I InCall : Call - setIsAnswering: false 行 62437: 03-08 15:04:15.136634 26054 26054 I InCall : Call - setIsDowngradeVideoCall: false 行 62438: 03-08 15:04:15.136824 26054 26054 D InCall : Call - oldVideoCall: android.telecom.VideoCallImpl@7391459, currentVideocall: android.telecom.VideoCallImpl@7391459 行 62439: 03-08 15:04:15.136849 26054 26054 I InCall : Call - setPlayingVideoCrbt, mVideoCrbtMode:0 mLastVideoCrbtMode:0 行 62440: 03-08 15:04:15.136870 26054 26054 I InCall : InCall - isRelayCall=false, isCallRelayed=false, isOfflineCall=false, mNotifyCallRelayed=false
最新发布
03-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值