gpt4 book ai didi

html - 带有显示 block 的 ul 不占用父元素的整个空间

转载 作者:太空宇宙 更新时间:2023-11-03 22:37:28 25 4
gpt4 key购买 nike

我有一个 <ul><li> 树,可以在其中切换子项的可见性。 :hover 应该显示元素的整个宽度。为了说明问题,这些元素具有 orange 背景色。

现在你会看到最外面的 <ul class="tree"> 不会占用父级的整个空间。

.tree 有一些包装,因为在现实生活中 .tree 位于可调整大小的区域内。这也是使用overflow-x: scroll;的原因,也是

的原因
padding-left: 2000px;
margin-left: -2000px;

再次是用背景色装饰整个元素。

我还需要使用 white-space: nowrap;,因为每个 <li> 应该只占用一行,并根据需要占用尽可能多的宽度空间。

.grid {
width: 200px;
}

.box {
width: 100%;
height: 100%;
overflow-x: scroll;
border: solid 1px fuchsia;
}

ul.tree {
display: block;
width: 100%; /* makes nothing */
border: solid 1px lime;
}

ul.tree,
ul.tree ul,
ul.tree li {
margin: 0;
padding: 0;
list-style: none;
}

ul.tree ul {
margin: 0 0 0 20px;
}

ul.tree a {
white-space: nowrap;
display: block;
padding: 5px;
padding-left: 2000px;
margin-left: -2000px;
margin-bottom: 5px;
color: #000;
background-color: orange;
}
<div class="grid">
<div>
<div class="box">
<ul class="tree">
<li>
<a href="#">xxx</a>
<ul>
<li>
<a href="#">xxx xxx</a>
<ul>
<li>
<a href="#">xxx xxx xxx</a>
<ul>
<li>
<a href="#">xxx xxx xxx</a>
<ul>
<li>
<a href="#">xxx xxx xxx xxx 123456 7890</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>

所以我需要的是橙色一直到紫红色边界,而不是在石灰边界停止的地方停止。我怎样才能做到这一点?

最佳答案

只需在 ul.tree 上使用 inline-blockmin-width 100% (它也适用于 IE)

.grid {
width: 200px;
}

.box {
width: 100%;
height: 100%;
overflow-x: scroll;
border: solid 1px fuchsia;
}

ul.tree {
display: inline-block;
min-width: 100%;
border: solid 1px lime;
}

ul.tree,
ul.tree ul,
ul.tree li {
margin: 0;
padding: 0;
list-style: none;
}

ul.tree ul {
margin: 0 0 0 20px;
}

ul.tree a {
white-space: nowrap;
display: block;
padding: 5px;
padding-left: 2000px;
margin-left: -2000px;
margin-bottom: 5px;
color: #000;
background-color: orange;
}
<div class="grid">
<div>
<div class="box">
<ul class="tree">
<li>
<a href="#">xxx</a>
<ul>
<li>
<a href="#">xxx xxx</a>
<ul>
<li>
<a href="#">xxx xxx xxx</a>
<ul>
<li>
<a href="#">xxx xxx xxx</a>
<ul>
<li>
<a href="#">xxx xxx xxx xxx 123456 7890</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>

关于html - 带有显示 block 的 ul 不占用父元素的整个空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45675635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com