2017-07-05 2 views
0

たとえば、これらのコード。CSSで無限のネストされたリストをユニークなスタイルにするにはどうすればよいですか?

.sidebar-nav .metismenu ul a { 
    padding: 10px 15px 10px 30px; 
} 
.sidebar-nav .metismenu ul ul a { 
    padding: 10px 15px 10px 45px; 
} 

私は追加の(任意の量)に必要<ul>は左詰めに追加15pxを持っています。これを手動で入力するのではなく、どうすれば実現できますか?

+0

あなたは、関連するHTMLを追加してもらえますか? – Ryan

+0

わかりませんが、SASSのようなCSSプリプロセッサにはいくつかのループ構文がありますが、これは適切な解決策かもしれません。どんな場合でも、*無限*はどんな場合でも問題になるでしょう... – domsson

+0

https://jsfiddle.net/yd68t6op/ – notalentgeek

答えて

1

私はあなたの質問を理解するので、各ネストされたリストを親よりもインデントしたいと思っていますか?

ここでは、ulにパッドを配置しました。これは、各リストをその親に対して15pxインデントします。

.sidebar-nav .metismenu { 
 
    position: relative; 
 
} 
 

 
.sidebar-nav .metismenu ul { 
 
    padding-left: 15px; 
 
} 
 

 
.sidebar-nav .metismenu ul a { 
 
    padding: 10px 15px 10px 0; 
 
    display: block; 
 
    width: 100%; 
 
    color: #ADB5BD; 
 
    cursor: pointer; 
 
} 
 

 
.sidebar-nav .metismenu ul a:hover { 
 
    color: #F8F9FA; 
 
} 
 

 
.sidebar-nav .metismenu ul a:before { 
 
    content: ""; 
 
    opacity: 0; 
 
    transition: 0.3s opacity ease-out; 
 
} 
 

 
.sidebar-nav .metismenu ul a:hover:before { 
 
    position: absolute; 
 
    left: 0; 
 
    width: 100%; 
 
    background: #0B7285; 
 
    height: 3em; 
 
    z-index: -1; 
 
    opacity: 1; 
 
    transition: 0.3s opacity ease-out, 0.3s color ease-out; 
 
    transform: translateY(-1em); 
 
}
<div class="sidebar-nav"> 
 
    <div class="metismenu"> 
 
    <ul> 
 
     <li><a>Item 1</a> 
 
     <ul> 
 
      <li><a>Sub-item</a></li> 
 
     </ul> 
 
     </li> 
 
     <li><a>Item 2</a></li> 
 
     <li><a>Item 3</a> 
 
     <ul> 
 
      <li><a>Sub-item</a></li> 
 
      <li><a>Sub-item</a> 
 
      <ul> 
 
       <li><a>Sub-subitem</a></li> 
 
       <li><a>Sub-subitem</a></li> 
 
       <li><a>Sub-subitem</a></li> 
 
      </ul> 
 
      </li> 
 
     </ul> 
 
     </li> 
 
    </ul> 
 
    </div> 
 
</div>

+0

これは良いですが、私が望むものではありません。あなたがここを見れば、https://jsfiddle.net/yd68t6op/。あなたの解決策は ':hover'バックグラウンドを幅に伸ばしてしまうのを防ぎます。 – notalentgeek

+0

それは元の質問の一部ではありませんでした。しかし、私はフィドルで実証されているように、基本的な:ホバー効果を追加しました。 –

+0

あなたは正しいです。ありがとうございました。 – notalentgeek

関連する問題