如何使用CSS缩小选择下拉菜单中的类别和无限子类别?
1. Apple
2. Arts & Entertainment
1. Amusement
2. Art
3. Artists
1. A
1. a1
2. a2
2. B
3. C
4. D
3. Automotive
4. Network
5. Server
6. Web Design
1. CSS
2. HTML
答案 0 :(得分:2)
您无法使用<select>
元素执行此操作。你不能像你建议的那样拥有无穷无尽的嵌套子类别,只有一个<optgroup>
。样式也很困难,因为样式表单元素的样式因浏览器而异。
但是,根据您的需要,以下解决方案可能有效:
为此,我们使用HTML列表重新创建select
元素。标记看起来像这样:
<div id="select">
<p>Select your Answer</p>
<ul>
<li><a href="#">Apple</a></li>
<li><a href="#">Arts and Entertainment</a>
<ul>
<li><a href="#">Amusement</a></li>
<li><a href="#">Art</a></li>
<li><a href="#">Artist</a>
<ul>
<li><a href="#">A</a></li>
<li><a href="#">B</a></li>
</ul></li>
</ul>
</li>
</ul>
</div>
然后,使用CSS,将其设置为适合您的目的:
#select {
border: 1px solid #999;
background-color: rgba(0, 0, 0, 0.1);
position: absolute;
width: 300px;
font-family: Arial, sans-serif;
font-size: 11px;
}
#select:hover {
background-color: #efefef;
}
#select > ul {
display: none;
list-style: none;
}
#select:hover > ul {
display: block;
}
#select > ul ul {
margin-left: 20px;
}
#select > ul a, #select > p {
display: block;
padding: 3px 8px 4px;
color: #333;
text-decoration: none;
}
#select > ul a:hover {
background-color: #ddd;
}
在此处使用它:http://jsfiddle.net/thHFS/
答案 1 :(得分:0)
如果使用元素(标签)来安装下拉结构,则可以执行以下操作:
<强> HTML 强>
<div class="menu">
<div>
1. Apple
</div>
<div>
2. Arts
<div>2.1 Foo</div>
<div>2.2 Bar</div>
</div>
<div>
3. Auto
</div>
</div>
<强> CSS 强>
.menu div {
padding-left: 30px;
}
.menu div
选择器使用“menu”类获取div中的所有div。它们是嵌套的,因此填充是自动求和的。
我已经在jsfiddle(here)中测试过并且工作正常。