html - 使用 css 设置 div 样式,使其看起来与默认的 html 选择表单完全一样

标签 html css drop-down-menu

有没有一种方法可以使用 css 设置 div 的样式,使其看起来与其原生的 html 选择表单完全一样? .就像这些照片一样。没有悬停 enter image description here悬停 select form . 问题是我正在用 javascript 制作多级下拉菜单,我希望它看起来像标准的 html 选择。我唯一无法弄清楚的部分是悬停时带有蓝色渐变的箭头。我无法正确定位它。

这是我的div结构

<div class="multilevel-dropdown-display"><span class="multilevel-dropdown-value"></span> <span class="multilevel-dropdown-arrow"></span></div>

我知道我必须使用绝对定位来定位箭头,但是如果我在 hower 上添加另一张图片(我知道我应该使用背景渐变来做到这一点),它就会超出该区域。

这是箭头的CSS样式

.multilevel-dropdown-arrow {

    background-image: url("icon.png");
    width:16px; 
    height:18px;
    display: table-cell;
    vertical-align:middle;
    text-align:center;
    background-repeat:no-repeat;


}

也许我做错了,有一个更简单的解决方案。我希望它看起来真的和选择表单一模一样。 谢谢你的帮助

最佳答案

您需要使用填充将箭头包围在另一个 div 中。因此,HTML 结构将如下所示:

<div class="multilevel-dropdown-display"><span class="multilevel-dropdown-value"></span> <div class="multilevel-dropdown-arrow-box"><span class="multilevel-dropdown-arrow"></span></div></div>

应用填充和悬停效果后,CSS 看起来像 -

.multilevel-dropdown-arrow-box {border:1px solid transparent;padding-top , padding-bottom: 5px;padding-left , padding-right:3px;}
.multilevel-dropdown-display:hover .multilevel-dropdown-arrow-box {background: linear-gradient(to bottom, rgba(0,0,255,0), rgba(0,0,255,0.8));border:1px solid blue;}

请注意,您必须根据需要重新定位 multilevel-dropdown-arrow-box。

关于html - 使用 css 设置 div 样式,使其看起来与默认的 html 选择表单完全一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58732210/

相关文章:

html - 选择最后(动态)行的元素?

javascript - 为什么宽度为 : 0 doesn't work

php - 单击复选框时页面跳转到顶部 css

html - 下拉子菜单中每列只有三个元素

python - 在 jupyter 笔记本中显示图像网格

javascript - Bootstrap 2.3.2 type-head 不允许我在下拉菜单显示时输入 '&'

html - 将带有 svg 代码的外部文件链接到主索引

google-chrome - 将 css3 旋转到 Chrome 中的 DIV,然后背景附件 :fixed creating bug

c# - 如何以编程方式搜索 C# DropDownList

javascript - 当用户打开一个下拉菜单时关闭其他下拉菜单