CSS - 将右侧边距与自动换行的工具提示段对齐

时间:2018-02-03 14:24:51

标签: javascript html css leaflet tooltip

有或没有设定宽度,如何使右边距正确对齐我的工具提示段落?

Screenshot of my problem

How I'd like the tooltip to appear

在这个例子中,我将宽度设置为190px,因此段落包含在"描述"这没关系,但它在右侧留下了很大的差距。是否可以设置宽度但是右边缘与文本对齐?我不确定如何在不设置宽度的情况下自动换行,但在设置宽度时我无法看到问题消失。

我已经尝试了很多天这一点,而且我提出的最佳解决方法是设置宽度并使用text-align: justifytext-align: center但我会宁愿让它与左边对齐。

您可以在下面的JSFiddle中看到默认工具提示如何在Leaflet中工作。 Leaflet CSS.leaflet-tooltip部分没有设置宽度,white-space: nowrap部分包含.leaflet-tooltip { position: absolute; padding: 6px; background-color: #fff; border: 1px solid #fff; border-radius: 3px; color: #222; white-space: nowrap; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; pointer-events: none; box-shadow: 0 1px 3px rgba(0,0,0,0.4); } ,因此它们不是为此设计的,而是针对少数地方标记I&#39 ; d想要添加描述,信息或来源,让他们看起来最好是很好的。 Leaflet中的CSS也是:

buildForm

类似于我的问题我在搜索时发现的情况太不相同,以至于他们的答案对我的代码不起作用或者太复杂而无法理解。我尝试了许多不同的属性和价值但没有运气 - 也许我做错了什么。我并不认为我仍会对此感到头疼,所以请查看JFiddle并玩弄它,并希望建议您是否能够。谢谢

很抱歉,如果我错误地使用任何单词!对所有这些来说还是很新的。

JSFiddle 请点击"欧文"在顶部,右侧控制框中显示标记

1 个答案:

答案 0 :(得分:0)

所以,虽然工具提示本身不受width属性的限制,但包含的p元素是。

段落元素是元素,这意味着它本质上是一个矩形,其内容根据应用的属性以不同的方式包装。

在这种情况下,段落设置为固定的190px,这意味着如果至少有一行的字符加起来不是精确的190px,则它们会以不同的方式换行。

因此,您可以选择以下备选方案:

  • 已在评论中提出,将word-break属性更改为word-break: break-all

  • 将文字对齐方式更改为text-align:justify

  • 删除固定宽度并在段落元素上应用display:inlinefloat:left,但内容行数不可预测。

嗯,那是关于它的。为了定位段落元素,请使用类.leaflet-tooltip p