因此,我将父元素相对定位,以便允许工具提示元素绝对定位在其内部,位于其顶部。0,right:0”,这样元素的宽度仍然可以设置为自动,我已经做到了。但是,我的父元素有一个固定的宽度,工具提示被限制为这个宽度,所以自动宽度不能超出它,有什么办法吗?
CSS:
.parent {
position: relative;
width: 100px;
height: 100px;
}
.tooltip {
position: absolute;
top: 0;
left: 0;
right: 0;
margin: 0 auto;
text-align: center;
width: auto;
padding: 5px 10px;
}
要素:
<div class="parent">
<div class="tooltip">Text goes here</div>
</div>
没有JS请,寻找一个CSS的解决方案,谢谢!
5条答案
按热度按时间zzoitvuj1#
不要在
.tooltip
上同时设置left
和right
,而设置white-space: nowrap
应该可以:Working example。
您需要使用**this solution来将绝对元素居中。不过,它确实需要一个额外的元素。Demo**
n6lpvg4x2#
我认为此问题的最佳解决方案是不设置
left
、right
或white-space: nowrap
,但我们为宽度属性max-content
提供了新值...因此只需添加width: max-content;
(此值也适用于max-width
)演示:http://jsfiddle.net/qLgw8bxu/
技术支持:https://caniuse.com/#search=max-content
qyyhg6bp3#
如果
.parent
可以内联,那么可以将.tooltip
呈现为一个表,它将自动调整大小以适应其内容,但与使用white-space:nowrap
不同的是,它还支持max-width
。bgibtngc4#
我以前没有遇到过这个问题,但是我认为这是怎么回事,
width: auto;
自动继承了其父节点的属性,所以你要么在(width: 50px;
)中输入一个数字,要么在(width: 50%
)中输入一个百分比。6jygbczu5#
使用宽度自动与
white-space: nowrap;
和位置绝对