html - 如何在选择中内联选项标签并使用 optgroup 划分它们?

标签 html css

实际问题是在select block 中横向使用option标签,用optgroup划分option值。

所以预期的结果是:

显示第 10 页上的元素 | 20 | 30,其中 10、20、30 是可选的,表格将显示选定的元素数量

我得出的解决方案是:

HTML:

<div class="styled-select">
   <select size="3">
       <optgroup label="|">
           <option value="10">10</option>
       </optgroup>
       <optgroup label="|">
           <option value="20">20</option>
       </optgroup>
       <optgroup label="|">
           <option value="30">30</option>
       </optgroup>
   </select>
</div>

CSS:

.styled-select {
  display:inline-block;
  overflow:hidden;
  margin-top:30px;
  overflow-x:hidden;
  height:25px;
}

.styled-select select {
  margin: -1px -20px -5px -5px;

}

optgroup {
  position:relative;
  display:inline-block;
  width:32px;
  padding-left:5px;
  padding-right: 0px;
}

optgroup:nth-child(1) {
  visibility:hidden;
}

.styled-select select option{
  visibility:visible;
  position:absolute;
  display:inline-block;
  width:15px;
  margin-left:12px !important;
  padding-top:-10px !important;
  margin-top:-16px !important;
  text-align: center;

}

.styled-select select option::before{
  content: none;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 0 0 0;
}

您可以在这里看到结果:https://jsfiddle.net/834gwtz7/4/

如果您有任何建议,如何以更优雅的方式做到这一点,请提供帮助!

最佳答案

不确定我是否遵循了您想做的事情,但也许像这样更简单的方法也能起到同样的作用?

<!DOCTYPE html>
<html>
<body>
<style>
#styled-select select optgroup {
  display:inline-block;
}
</style>
<div id="styled-select">
   <select size="3">
       <optgroup label="option1">
           <option value="10">10</option>
           <option value="10">10</option>
       </optgroup>
       <optgroup label="option2">
           <option value="20">20</option>
           <option value="10">10</option>
       </optgroup>
       <optgroup label="option3">
           <option value="30">30</option>
           <option value="10">10</option>
       </optgroup>
   </select>
</div>

</body>
</html>

关于html - 如何在选择中内联选项标签并使用 optgroup 划分它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54439733/

相关文章:

javascript - 如何使用 &lt;input type ="file"/> 的文件名更改 <label> 中的文本

html - anchor 标签中的散列

python - 编写 NBConvert 脚本以输出到多个 HTML 文件

iphone - CSS 三 Angular 形 : Thin border between container and triangle (iPad/Landscape iPhone)

html - 代码镜像生成的textarea难以居中

html - 在 CSS 中为超链接缩进

javascript - 比较多个div的位置

html - CSS 代码不适用于单个页面

html - 断开添加类和应用 CSS 之间的连接

css - 在自适应设计中水平对齐列表项