The way this works out at the shop I'm currently at is that you get a bunch of devs who are, for lack of a better description, 3/4 stack developers (back-end, database, anything on the front-end that isn't CSS), and a few other devs who are strictly involved in the design/HTML/CSS portion of projects.
This system seems to work out pretty well on most projects. There is a significant body if knowledge required to get the styling and markup in an application built properly, with a high degree of cross-browser compatibility, and in a reasonable amount of time.
When I think of a front-end dev I tend to lean towards this definition. Which leaves me at somewhat of a loss to describe my role as a "back-end" developer, as I spend a generous portion of my time coding with Angular.