progressive-enhancement - 带盒阴影的渐进增强

标签 progressive-enhancement css

我想使用WebKit的box-shadow css属性进行一些下拉。代码如下所示:

.drop_down{
  -webkit-box-shadow: 1px 1px 4px #888;
  box-shadow: 1px 1px 4px #888;
}

但是,对于不具有此功能的浏览器,我想使用边框来近似此投影,如下所示:
.drop_down{
  border-top: 1px solid #bbb;
  border-left: 1px solid #bbb;
  border-right: 2px solid #bbb;
  border-bottom: 2px solid #bbb;
}

问题是,我不希望为支持盒形阴影的浏览器显示基于边框的阴影。我想避免浏览器嗅探,因为我认为很难涵盖所有情况。最简单的方法是什么?我更喜欢无JavaScript的解决方案,但我也会考虑基于javascript的简单解决方案。

最佳答案

Modernizr具有功能检测。代码为:

.drop_down{
  border-top: 1px solid #bbb;
  border-left: 1px solid #bbb;
  border-right: 2px solid #bbb;
  border-bottom: 2px solid #bbb;
}
.boxshadow .drop_down{
  border: 0px none;
  -webkit-box-shadow: 1px 1px 4px #888;
  box-shadow: 1px 1px 4px #888;
}

您需要包括modernizr javascript库才能运行。

关于progressive-enhancement - 带盒阴影的渐进增强,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2044806/

相关文章:

html - 我怎样才能在我的网站上有边框?

没有javascript的Html水平 anchor

javascript - 服务器端渲染和应用程序外壳模型

html - 当悬停另一个元素时显示 div 元素

html - 底层 CSS 转换完成时字体粗细向上移动

javascript - 如何使用 Laravel Mix 连接已编译的 SASS 和组合的 CSS?

javascript - 渐进增强,页面尚未完全加载时的行为

使用 Capybara 测试渐进增强的功能

javascript - 如何在 Javascript 不可用时显示内容,在 javascript 可用时隐藏它并且在任何一种情况下都不闪烁?

javascript - 是否可以在关闭 JS 的情况下使 AJAX 站点可抓取并优雅地降级?