我在 stackoverflow 上发现了几个与此问题相关的问题,但我的问题有点独特,我还没有找到解决方案。我也不是css专家,去看看。
我的情况如下:我在 div 中有一个字符串,必须使用以下约束显示:
使用以下字符串作为示例:“快速的棕色狐狸跳过懒惰的狗,一次又一次。”
- 文本的中间必须与 div 的中间对齐。
- Div 可以是 100% 宽,但必须限制为一行。如果窗口太小,则应在任一侧截断文本,但文本的中心必须始终可见。例如,如果窗口太小,则 div 内容可能是:“over the”,其余部分在任一侧被截断,依此类推。
什么 css 可以帮助我实现这一目标?我尝试了以下方法无济于事:
<html>
<head>
<style type='text/css' >
div {
width:100%;
border:solid 1px black;
text-align: center;
vertical-align:middle;
display: table-cell;
white-space:nowrap;
overflow:hidden;
}
</style>
</head>
<body>
<div>
The quick brown fox jumps over the lazy dogs, again and again as well too.
</div>
</body>
</html>
这里的动机是我正在尝试创建一个移动网络应用程序,它将在列表中显示一些搜索结果。搜索文本将始终被高亮显示,我想确保它始终在列表中可见。因此,如果搜索查询是“lazy dogs”,我无法将整个搜索结果放在一行中,所以我需要将其放入一个 100% 宽的 div 中,中间显示“lazy dogs”,多余的两边截断的文本。
因此,用户可能会在列表中看到类似这样的结果之一。(“...”不是必需的,此处显示以进行说明):
......懒狗,再次......
此外,当用户在横向和纵向之间切换设备方向时,列表项应该优雅地展开并显示更多文本。
我确信有一种优雅的 css 方法可以做到这一点,而不是我现在正在考虑的凌乱的 javascript 路由。
请让我知道我是否可以提供任何澄清,或者是否有其他方法可以实现我想要做的事情。或者也许这不是一个好的 UI 设计选择?
一如既往,非常感谢任何帮助!
谢谢!
穆罕默德