动态调整大小的HTML列表框

问题描述 投票:1回答:1

在HTML中,可以将选择元素呈现为“列表框”,用户可以通过设置元素的“大小”属性从列表中而不是从下拉列表中选择项目。例如:

https://jsfiddle.net/0ma8gdt2/

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>title</title>
  </head>
  <body>
    <div class="container">
    <select size="5">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    </select>
    </div>
  </body>
</html>

.container {
  border: 1px solid black;
  height: 2in;
  width: 1in;
}

但请注意,列表框不会扩展到容器的底部,“size”属性不会让我们能够做到这一点。那么,我如何让盒子一直延伸到容器的底部?

html
1个回答
2
投票

可以使用CSS flexboxes执行此操作:

https://jsfiddle.net/rov12uh4/

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>title</title>
  </head>
  <body>
    <div class="container">
    <select class="selector" size="2">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
    <option value="4">Option 4</option>
    </select>
    </div>
  </body>
</html>

.container {
  display: flex;
  flex-direction: column;
  border: 1px solid black;
  height: 2in;
  width: 1in;
}

.selector {
  flex-grow: 1;
}

列表框的行为符合要求,即使技术上有更多的项目,否则大小= 2将允许。

© www.soinside.com 2019 - 2024. All rights reserved.