javascript - 如何为 HTML 中的 Select 元素添加阴影?

标签 javascript jquery html css

我有一个简单的下拉列表,我想给它添加一个阴影。很难找到工作代码。你有什么建议?

<select>
<option>apple</option>
</select>

最佳答案

好吧,这是我很快拼凑起来的东西。它依靠 Modernizr 进行特征检测,并将每个 select 包装在一个 div 中,该 div 设置了 box-shadow

if (Modernizr.boxshadow) {
    $('select').wrap('<div class="shadow" />').parent().width(function() {
        return $(this).outerWidth() - 2
    }).height(function() {
        return $(this).outerHeight() - 2
    });
}

此代码尝试将外部 div 缩小 2px 以补偿浏览器填充。和 CSS:

.shadow {
    -moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);

    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;

    display: inline-block;
}

不是特别有效,但总比没有好。这里的主要问题是不同操作系统的默认表单样式可能不同。我为此设置了一个相当大的 border-radius,但我相信 OSX 的 select 比那个更圆,尽管我手头没有任何东西可以测试它出去。

参见:http://jsfiddle.net/ykZCz/5/对于实时版本。

关于javascript - 如何为 HTML 中的 Select 元素添加阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3905677/

相关文章:

javascript - jQuery ajax load() 的错误处理

javascript - Jquery 图像幻灯片放映不从头开始

javascript - 选择符号后启用日期选择器

html - 是否有一个事件回调来知道 html5 <audio> 何时加载了音频并且可以播放?

javascript - 调整 HTA 大小时如何固定页面位置

javascript - 调用 ajax 或放置静态 JSON 时,下拉列表未显示在我的 HTML 表中

javascript - Django 和 d3.js : CSV data

javascript - 在验证错误时将焦点设置到 inputText

javascript - 从 SQL 查询派生的 URL 打开页面

javascript - 无法清除 jQuery 中的下拉值