ファイルやフォルダのツリーのような階層表示用のCSSを思い付きません。ネストされた順序なしリストを使用します。
<ul>
<li>animals<ul>
<li>dogs</li>
<li>cats</li>
</ul></li>
</ul>
それらは適切なCSSと接続線を除いてうまく表示されます。接続するためのラインが必要です。これは次のCSSで行います。
ul ul li:before {
content: "";
padding: 15px;
border: 1px solid #000;
border-width: 0 0 1px 1px;
border-radius: 0 0 0 10px;
position: absolute;
left: -22px;
top: -15px;
}
問題は、線が動物、犬、猫のアイコンと重なることです。 Z-indexを変更しても効果がありません。 CSSでこれを達成するより良い方法はありますか?または、Zインデックスを意味のあるものにする別の方法はありますか?
日付の付いたすばらしい オンラインチュートリアル があります。
imagesを使用して固有の弾丸を作成しましたが、あなたの場合はパイプを使用できます(つまり、|
)記号を使用して、目的の色でより大きなフォントサイズを指定します。
スクリーンショット:
編集:
これは、曲線の接続線を複製する追加のjsFiddleです。
編集2:
これが最終的な改訂jsFiddleリビジョンであり、エスケープされたスペースを追加して、曲線的な接続を維持しながら視認性を向上させます。
jsFiddle Demo 3 および 3b
EDIT 3:これは、上記のデモのcontent
プロパティに使用できるオプションですparticular :
Entity Name Symbol/Description
    en space
確かに、特別な空白スペースは、シンボルの下にある3つの空白のmiddleです。これを使用するには、代替文字を使用する必要はなく、透明度空白スペースのシミュレーションを使用します。透明度のプロパティを削除すると、IE8が幸せになります。念のため、下の空行には1つの特別な空白スペース文字。 Entity
およびName
が機能しないため、使用するクリップボードにコピーします。
EDIT 4:Edit 3の代替は、チェックアウトすることですSO回答を提供 CSSコンテンツを使用したHTMLエンティティの追加 。
この例を確認してください。サーモン色のボックスを画像で簡単に置き換えることができます:
<div>
<h3>Root</h3>
<ul>
<li>Folder 1
<ul>
<li>Folder 2
<ul>
<li>file1.xml</li>
<li>file2.xml</li>
<li>file3.xml</li>
</ul>
</li>
<li>file.html</li>
</ul>
</li>
<li>file.psd</li>
<li>file.cpp</li>
</ul>
</div>
body {
margin: 20px;
line-height: 3;
font-family: sans-serif;
}
div {
position: relative;
}
ul {
text-indent: .5em;
border-left: .25em solid gray;
}
ul ul {
margin-top: -1.25em;
margin-left: 1em;
}
li {
position: relative;
bottom: -1.25em;
}
li:before {
content: "";
display: inline-block;
width: 2em;
height: 0;
position: relative;
left: -.75em;
border-top: .25em solid gray;
}
ul ul:before, h3:before, li:after {
content: '';
display: block;
width: 1em;
height: 1em;
position: absolute;
background: salmon;
border: .25em solid white;
top: 1em;
left: .4em;
}
h3 {
position: absolute;
top: -1em;
left: 1.75em;
}
h3:before {
left: -2.25em;
top: .5em;
}
単純な例が必要な場合は、次のようにします。
[〜#〜] html [〜#〜]
<ul>
<li>animals
<ul>
<li>dogs</li>
<li>cats</li>
</ul></li>
</ul>
[〜#〜] css [〜#〜]
li {
border-left: 1px solid #000;
margin-left: 10px;
margin-top: 5px;
padding-left: 10px;
}
参照 jsFiddle結果