我有一個大多由嵌套無序列表組成的html樹。HTML樹全寬懸停效果
我需要爲每個葉子創建一個全寬度盤旋效果,與Windows文件菜單樹盤旋效果類似。
懸停效果是<div/>
與背景顏色和邊框。
我做了一個模擬全寬的黑客,但橫向邊界不再可見。
是否有一個CSS技巧,我可以使用以保持懸停效果的橫向邊界,仍然有全寬?
我做了一個jsfiddle的例子,所以比較容易理解。
注: 我不能改變的HTML樹結構或CSS,因爲它是由第三方插件(劍道UI樹視圖)創建的,所以我需要用什麼,我必須找到一個解決方案。
CSS:
h6 { font-size: 16px; font-weight: normal; margin-bottom: 10px; margin-top: 0; }
.tree { width: 300px; border: 1px solid #000; padding: 10px; margin-bottom: 15px; }
.tree ul { margin: 0; padding: 0; list-style-type: none; }
.tree ul li { padding-left: 16px; }
.tree li .item { position: relative; }
.tree li .item .overlay
{ position: absolute; left: 0; top: 0; width: 100%; height: 100%;
background-color: #C5E7E6; display: none; border: 1px solid red; }
.tree li .item:hover .overlay { display: block; }
/*Full width hack*/
.tree.fullWidth { overflow: hidden; }
.tree.fullWidth li .item .overlay { left: -100px; width: 1000px; }
HTML
<h6>Normal overlay - not full width</h6>
<div class="tree">
<ul>
<li>
<div class="item">
Node 1
<div class="overlay"></div>
</div>
<ul>
<li>
<div class="item selected">
Node 2
<div class="overlay"></div>
</div>
</li>
</ul>
</li>
</ul>
</div>
<h6>Full width overlay (but side borders aren't visible anymore)</h6>
<div class="tree fullWidth">
<ul>
<li>
<div class="item">
Node 1
<div class="overlay"></div>
</div>
<ul>
<li>
<div class="item selected">
Node 2
<div class="overlay"></div>
</div>
</li>
</ul>
</li>
</ul>
</div>
它與固定的Wi嗞。樹寬度可變。但是,我將使用一些JavaScript設置樹加載時疊加層的寬度 – Catalin