我上树视图组件工作左侧菜单(见截图):拉伸树形视图项宽度父容器,CSS/HTML
在树视图中的所有项目必须是可选择的。我设置宽度为项100%,并且当我在高亮区域的树宽度选择项小于左侧板:
但宽度高亮区域的为等于左侧面板的宽度。我知道,它可以与margin和padding操作的高亮区域例如可以实现:
{
margin: 0 -400px;
padding: 0 400px;
}
但它会导致水平滚动条:
就在那儿强调任何“聪明”的方式区域延伸到容器(左侧面板)?
我上树视图组件工作左侧菜单(见截图):拉伸树形视图项宽度父容器,CSS/HTML
在树视图中的所有项目必须是可选择的。我设置宽度为项100%,并且当我在高亮区域的树宽度选择项小于左侧板:
但宽度高亮区域的为等于左侧面板的宽度。我知道,它可以与margin和padding操作的高亮区域例如可以实现:
{
margin: 0 -400px;
padding: 0 400px;
}
但它会导致水平滚动条:
就在那儿强调任何“聪明”的方式区域延伸到容器(左侧面板)?
当width: 100%
和/或max-width: 100%
时,每个孩子都应该适合其父母。
为了得到结果,你希望每个项目需要规则:
white-space: nowrap
(所以它不会换行到下一行)overflow: hidden
(砍掉多余的文字)width: 100%
(以拉伸到父)见下段为两个例子:与UL/LI和DIV的
html,
body {
/*UPDATE*/
box-sizing: border-box;
height: 100%;
width: 100%;
overflow: hidden
}
*,
*:before,
*:after {
box-sizing: inherit
}
/* { outline: 1px dotted red } /* for debug */
ul,
li {
list-style: none;
margin: 0;
padding: 0;
}
.side-panel {
max-width: 200px;
padding: 4px;
border: 1px solid rgba(0, 0, 0, .2)
}
ul,
.treeview {
max-width: 100%;
text-align: right;
}
li,
.item {
height: 23px; /*ADD*/
width: 100%;
white-space: nowrap;
overflow: hidden;
margin: 5px 0; /*ADD*/
}
li:hover,
.item:hover { /*ADD*/
height: 23px;
text-align: left;
border: 1px dashed cornflowerblue;
cursor: pointer
}
li:nth-child(even),
.item:nth-child(odd) {
background: rgba(0, 255, 0, 0.1)
}
li:nth-child(odd),
.item:nth-child(even) {
background: rgba(0, 0, 255, 0.1)
}
<div class="side-panel">
<h3>example with UL/LI</h3>
<ul>
<li>some item 1</li>
<li>some item 2</li>
<li>some item 3</li>
<li>some item 4fgdfg g</li>
<li>some item 5 sad d fd</li>
<li>some item 6 sdtresertg zdf dfsfd</li>
<li>some item 7</li>
</ul>
</div>
<div class="side-panel">
<h3>example with DIV's</h3>
<div class="treeview">
<div class="item">some item 1</div>
<div class="item">some item 2</div>
<div class="item">some item 3</div>
<div class="item">some item 4fgdfg g</div>
<div class="item">some item 5 sad d fd</div>
<div class="item">some item 6 sdtresertg zdf dfsfd</div>
<div class="item">some item 7</div>
</div>
</div>
感谢您的回复,但我真的不明白您的解决方案在这种情况下如何提供帮助。我已经使用div的http://jsfiddle.net/yzqLgrjb/定制了您的示例:添加嵌套的treeviews并增加一点填充以使其更清晰。现在我们有10px的侧面板填充和10px的每个树形视图。你会看到树视图项目的宽度小于侧面板的宽度,但是我认为它是相等的。 – Natasha
当我得到它的权利,你需要删除'.treeview'填充(只是为演示,无论如何)或改为'填充:0'(在UL的情况下),我会调整我的答案,以反映这...大多数开发者默认添加'UL,LI {list-style:none;保证金:0; padding:0}'以防止不需要的HTML默认行为。 –
当您从具有子项目的项目中移除'.item'类时,您的小提琴和我的新代码将起作用。例如'一些项目7'。检查我的小提琴(http://jsfiddle.net/renevanderlende/yzqLgrjb/7/) –
你有你已经尝试什么码? – cakan
@cakan以下是一个示例https://jsfiddle.net/gf2pa4qn/。这很麻烦,因为我从页面复制并粘贴标记,但问题在这里可见。如果问题未解决,我尝试准备简单的小提琴 – Natasha