html - 仿select

标签 html css

我正在尝试模仿带有跨度的标签。这是代码:

HTML

<div class="field select-field">
    <select class="form-control">
        <option value="">Select Type of paper</option>
        <option value="1">Essay (any type)</option>
    </select>
    <span class="select" id="select-1">Select Type of paper</span>
</div>

CSS

.select-field {
        position: relative;
    }

    select::-ms-expand {
        display: none;
    }

    .select-field select {
        cursor: pointer;
        overflow: hidden;
        opacity: 0;
        z-index: 10;
    }

    span.select {
        position: absolute;
        width: 100%;
        bottom: 0;
        float: left;
        top: 0;
        left: 0;
        line-height: 38px;
        text-indent: 10px;
        cursor: default;
        z-index: 1;
        font-size: 14px;
        overflow: hidden;
        color: #b1a9bb;
        background: url(images/arrow.png) no-repeat right #e6e7e9;
        border-radius: 6px;
    }

Select标签现在是不可见的,我需要激活它(你可以点击 下拉,span的内容会被JS改变)。

最佳答案

  1. 改变select类的位置到relative,
  2. 选择标签也必须有相对位置。
  3. 例如将 select 标签的高度设置为 38px。
  4. 添加 select 类的负顶部位置,-38px。

应该可以。

关于html - 仿select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25105426/

相关文章:

javascript - 每当元素 clientWidth 更改时,Vue 更新数据属性

javascript - 与表单在同一页面上的成功或错误消息

jquery - 灰色提交按钮直到表格填写完毕

html - 对齐 li 内容底部的列表样式类型

html - CSS3 动画过渡

css 表单复选框样式与检查和标签后

javascript - 我在这个 jQuery 链接中做错了什么?

html - nth-of-type 不工作

javascript - 如何模拟触摸屏风格的滚动?

html - 去除部分边框