truncating abstract after 100 characters instead of 175

Well, in this case, you're limiting the description to an arbitrary number of characters, but we're not using a monospace font, so different descriptions could vary quite a bit in length.  Additionally, if somebody is hard of seeing and modifies the text size on their screen, the arbitrary character length suddenly starts overflowing, since it was selected for a smaller font size.

Using CSS ensures that as much of the description as possible is visible, and that if font sizes on the page change it won't overflow.  It's also slightly faster to render.