html - 如何在选择输入中表示分层数据?

标签 html css

我不是问如何生成它,而是问如何格式化它。是否有任何一组字符用于该目的?我的直觉方法是让选项具有以下值:

master
    |-- foo 1
    |-- foo 2
        |-- bar 1

最佳答案

如果你想用一个选择元素来完成它并且你不需要超过两个级别,那么你可以使用 optgroup .

CSS 样式是有限的。据我所知,对于 select 本身,您可以更改 colorbackgroundborder字体文本对齐

对于 optgroupoption,您可以更改...嗯,同样的事情。您还可以使用 [selected] {/*styles*/> 为所选选项设置不同的样式。您不能更改 paddingmargin...之类的东西。尝试嵌套 optgroup 也不起作用。

您可以做什么:您可以为不同的 optgroupoption 设置不同的样式(使用类、nth-child、属性选择器)。

Demo

如果您需要很多级别,那么使用嵌套列表也许会更好。

<ul>
    <li>master
        <ul>
            <li>foo 1</li>
            <li>foo 2
                <ul>
                    <li>bar 1</li>
                </ul>
            </li>    
        </ul>
    </li>
</ul>

关于html - 如何在选择输入中表示分层数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11599911/

相关文章:

html - 在 ASP.NET Core 2 中的 layout.cshtml 中使用和路由 Less 文件

html - 移动 View 屏幕右侧的间隙

javascript - 在博客文章列表中移动动态 div

html - <ol> <li> 奇怪的挑战 - 保持左边距

javascript - 定位 Accordion 中的切换按钮

javascript - 多个滑动div的时间和速度

java - 我应该把我的 css 文件放在 Intellij IDEA 的什么地方

html - 如何在 iPhone 和 iPad 上为等效的外观高度设置缩放比例

css - 隐藏最大宽度/最大高度/溢出的 div 内的垂直对齐图像?

javascript - CSS/JS 用户控制的阴影效果