У меня есть дерево html, которое в основном состоит из вложенных неупорядоченных списков.HTML tree full width hover effect
Мне нужно создать эффект зависания всей ширины для каждого листа, что-то похожее на эффект наложения дерева дерева файлов Windows.
Эффект парения является <div/>
с цветом фона и границей.
Я сделал хак, который имитирует полную ширину, но боковые границы больше не видны.
Есть ли трюк CSS, который я могу использовать, чтобы также сохранить боковые границы эффекта наведения и по-прежнему иметь полную ширину?
Я сделал пример jsfiddle, поэтому его легче понять.
Примечание: Я не могу изменить структуру HTML дерева или CSS, потому что он создан плагин третьей стороной (кендо UI TreeView), поэтому мне нужно найти решение, используя то, что у меня есть.
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>
Он работает с исправлением d ширина. Дерево имеет переменную ширину. Однако я буду использовать некоторый javascript для установки ширины наложений при загрузке дерева – Catalin