我想要一个在右侧中间有一个十字图标的项目列表。为了做到这一点,我使用了一个有一些填充的锚点,向右漂浮,并且相对定位。该图标是已知的宽度和高度。CSS溢出隐藏和浮动元素
这些项目也有一些文本,也应该垂直居中。额外的问题是,这个文本有一个任意长度,我不想任何溢出或包装。文字不得与图标重叠,并且必须允许其上升。
拼图的最后一部分是每个项目的宽度必须增长到其父项的大小。高度应该保持不变。
下面是一个例子(https://jsfiddle.net/bj6806u6/3/)
div {
background-color: red;
padding-right: 50px;
display: inline-block;
width: 80%;
vertical-align: middle;
height: 50px;
}
p {
background-color: yellow;
height: 20px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: inline-block;
max-width: 100%;
}
a {
background-color: green;
float: right;
position: relative;
padding: 10px;
top: 6px;
right: -44px;
}
<div><p>This is a short paragraph.</p><a>X</a></div>
<br /><br />
<div><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p><a>X</a></div>
卸下-44px;
,这是比较明显的一点是什么问题,但我仍然不知道如何解决它。当然,这一定是可能的,这似乎是一个微不足道的问题。
所以我的问题:如何保持交叉向下移动?我希望它总是看起来像第一个div。
您使用的引导作为你的CSS?如果你确实有更好的方法来实现这一点。 – Franco
为此,您最好使用flexbox。 – 2016-09-30 04:22:35
我会使用位置:绝对的X,看到这个小提琴:https://jsfiddle.net/bj6806u6/6/这是你所追求的? –