

Maybe only a few, but legitimate nonetheless. As Eric says, there are legitimate use cases for truncating text. I think “… if used in certain situations” belongs there, but it certainly makes for a better blog post title without it.

But once you change the viewport or resize the text, the end of the text disappears. However, I often see it used on items like buttons or even form labels to make them look nicer(?) or when aligning them vertically. To preserve more space for the title, you constrain the description to one line on small viewports to the one-line and you repeat the description on the detail page for this item. For example, you might have a table with titles and descriptions. You don't.There are a few legitimate use cases for this technique.
#Flexbox text overflow ellipsis full#
Those responsible for the specification did, and you can read the full conversation that started with a Mozilla bug report and leads to a whole mail group discussion about why it should (or, in this case, should not) be implemented as part of the spec.Īnd that, ladies and gentlemen, is how you get text-overflow working on flex items. If you're wondering how I came to that conclusion you can stop because I didn't. It turns out that there really isn't a clean way to do this. That being said, so what? I mean, can't the spec be adjusted to include text-overflow on flex items? Although you would think it's not a big deal to make this work for flex-items too, there are a number of considerations that need to be taken into account. It turns out text-overflow isn't meant to work on flex items, rather it is meant to work on block items as per the spec. This property specifies rendering when inline content overflows its line box edge in the inline progression direction of its block container element ("the block") that has overflow other than visible. If you look at the spec for, text-overflow you find the definition you see in the quote below I'll try and explain this, but be aware that I'm likely oversimplifying things.Īs I mentioned before, this whole issue is expected behaviour. In case you want to see the end result working, here you can check it out here. Now the text-overflow property applies, and all is good! The Solution in Action The we introduce is a block element that lives inside of the flex item.
#Flexbox text overflow ellipsis code#
Item Code that is way too long and shoud use ellipsis In our case, we need to wrap the text we want to have the ellipsis show up in a block element. The solution is to make sure that we apply the text-overflow property to a block element that lives inside a flex item.

It turns out that this is the expected behaviour (see "But Why?" section below). We have everything aligned, but no ellipsis. If their contents exceed the length of the then should display an ellipsis. The goal here is to have all the elements line up, regardless of their contents. This post exists to document both the problem and solution with the hope that it prevents future headaches for other CSS developers. It didn't work as expected, but after some digging, a solution was discovered. He wanted to use the text-overflow: ellipsis on a flexbox item that displayed text, where the ellipsis would show up if the text was too long. Dave Paquette, a fellow Western Dev, hit a strange CSS snag the other day.
