我在列表项中有一个容器,它有一个flex显示。当此容器内的内容也是display flex时,容器会调整大小,而不是内容溢出。 list元素看起来像这样。
如果标签太长,列表项会相应调整大小,而不是让标签溢出。
#div {
width: 300px;
border: 1px solid red;
}
#userimage {
width: 20px;
height: 20px;
border: 1px solid red;
}
#usertag {
display: flex;
}
#inner {}
#outer {
display: flex;
}
ul {
list-style-type: none;
}
p {
margin: 0;
text-overflow: ellipsis;
overflow: hidden;
}
<div id="div">
<ul>
<li>
<div id="outer">
<div id="inner">
<input type="checkbox" id="checkbox" />
</div>
<div id="usertag">
<div id="userimage">
</div>
<p>
<label>1</label>
</p>
</div>
</div>
</li>
<li>
<div id="outer">
<div id="inner">
<input type="checkbox" id="checkbox" />
</div>
<div id="usertag">
<div id="userimage">
</div>
<p>
<label>12312312312451232e524t230t923t8rq0w9t8q0w9er</label>
</p>
</div>
</div>
</li>
</ul>
</div>
第二个列表项已根据此处标签的大小调整大小。 我希望文本显示省略号。当我改变外部div的显示时会发生这种情况。但这种调整被搞砸了。
这是柔性显示的工作原理吗?或者我做错了什么?
答案 0 :(得分:0)
你需要给你孩子的外部宽度。
给复选框“inner”div赋予宽度= 10%
你的“usertag”div的宽度= 90%。
#div {
width: 300px;
border: 1px solid red;
}
#userimage {
width: 20px;
height: 20px;
border: 1px solid red;
}
#usertag {
display: flex;
width: 100%;
}
#inner {
width: 10%;
}
#outer {
display: flex;
width: 90%;
}
ul {
list-style-type: none;
}
p {
margin: 0;
text-overflow: ellipsis;
overflow: hidden;
}
<div id="div">
<ul>
<li>
<div id="outer">
<div id="inner">
<input type="checkbox" id="checkbox" />
</div>
<div id="usertag">
<div id="userimage">
</div>
<p>
<label>1</label>
</p>
</div>
</div>
</li>
<li>
<div id="outer">
<div id="inner">
<input type="checkbox" id="checkbox" />
</div>
<div id="usertag">
<div id="userimage">
</div>
<p>
<label>12312312312451232e524t230t923t8rq0w9t8q0w9er</label>
</p>
</div>
</div>
</li>
</ul>
</div>