我使用CSS(这里通过Tailwind简洁)强制一个flex子对象在纵向模式下位于自己的行上,方法是将flex容器设置为flex-wrap
,并将子对象的order
更改为last,宽度更改为full,这样它就必须位于自己的行上。
<div class="flex gap-2 flex-wrap [&_*]:border-b [&_*]:px-2">
<div>fixed</div>
<div class="truncate order-last w-full landscape:order-[unset] landscape:w-[unset]">variable</div>
<div class="flex-1 text-center">stretch</div>
<div>fixed</div>
</div>
这个很好用。
肖像:
景观:
当truncate
子节点包含的内容应该被截断,但实际上由于flex-wrap
的原因,其他子节点被推到了新的一行时,它就会崩溃。工作在纵向,但在横向,truncate
孩子只是继续前进,并推出其兄弟姐妹的边缘。
肖像:
景观:
这是所需的结果:
肖像:
景观:
我必须使用什么CSS选项来控制flex-wrap
和text-overflow: ellipsis
的顺序,以使truncate
子节点中的文本省略,而不是将其兄弟节点推到下一行?
Tailwind Play
2条答案
按热度按时间bvjxkvbb1#
使用orientation媒体查询,或在希望
.truncate
换行时在媒体查询中指定一个点。一个简单的例子,做你想要的(如果我正确理解的问题......):
jdzmm42g2#
添加以下样式来截断解决问题
我不知道tailwind,所以我只能给予你简单的CSS解决方案