こんにちは
、私はマルチレベルのタブを作成していますが、いまいましいものをスタイリングする際に問題が発生しました。
ここに、2 レベルの順序付けられていないリストがあります
<section class="tabs">
<ul class="links1lvl">
<li><a>About</a>
<ul class="links2lvl">
<li><a href="#about/who">O nás</a></li>
<li><a href="#about/personal">Personál</a></li>
</li>
<li><a>student</a>
<ul class="links2lvl">
<li><a href="student/chart.html">Rozvrhy</a></li>
<li><a href="student/charts.html">Bloková výuka</a></li>
...など...そして、私は自分のjQueryを持っています
$(function () {
$(".links2lvl a").click(function(){
$(".links2lvl li").siblings("li").removeClass("active2");
$(this).parent("li").addClass("active2");
});
});
$(function(){
$(".links2lvl").hide();
$(".links1lvl li").click(function(){
$(this).children(".links2lvl").toggle();
});
});
もちろんCSSも
.links1lvl a
{
padding: 5px 10px;
display: inline-block;
border-radius: 3px 3px 0px 0px;
background: blue;
font-size: 13px;
color: red;
transition: all linear 0.15s;
}
.links2lvl a
{
padding: 5px 10px;
display: inline-block;
border-radius: 3px 3px 0px 0px;
background: greenyellow;
font-size:10px;
color:orangered;
transition: all linear 0.15s;
.links2lvl li
{
margin: 4px 5px auto 0px;
float:left;
list-style: none;
.active2 a
{
background: white;
color:black;
}
... and much more ...
この背後にある考え方は、親タブをクリックすると、そのすべての子タブが表示されるということです。別の親タブをクリックすると、現在のタブが再び非表示になり、そのそれぞれのタブの子タブが表示されます。
1.問題は、親タブのスタイルを設定しようとすると、そのすべての子に自動的に適用されることです。
2.問題は、子タブの配置です。親タブの下に表示されるようになりましたが、他の親タブは横に移動します。私はそれを止める必要があります..
https://jsfiddle.net/lone_wanderer/9d4a0kLs/これが私のjsfiddleです。青いタブが親タブで、緑のタブが子タブであることがわかります。デフォルトでは、青いタブのみが表示され、それらをクリックすると、それぞれの子タブが表示されます。ただし、最初の行の下に、すべての親タブの同じ場所に表示する必要があります。