The idea of a feature team is that it is a cross-functional team with all of the skills needed to deliver any given feature. To build one of these teams, you need to start with identifying what skills are used to create features. I'd usually recommend asking the teams. For a web product, the list would probably look something like:
graphic design, html/css, java/python/c#/whatever language, database
administration, [other domain knowledge areas for your company]
From here, you want to ask team members to rank themselves in each of these skills. Usually I use a scale something like this:
0 - no knowledge/experience
1 - beginner - someone should look over my work
2 - proficient - able to effectively work alone on most tasks
3 - expert - can take hard tasks and mentor others
Now you can take any team and see if they have gaps (nobody with a 2+ in a skill) or bottlenecks (only 1 person with a 2+ in a skill). If you want to reform your people into feature teams, just ask them to self-organize into groups that have no gaps or bottlenecks (you may decide some bottlenecks are ok for infrequently used skills).
Congratulations. Now you have teams that can all work on any given feature as needed.
It is worth noting that something it makes sense to break your product down into areas and then the teams may work in one or two product areas, but this is usually reserved for incredibly large products (like Microsoft Office) or products where different areas have radically different skill sets (as an example, I worked in a datacenter company where some teams were building a web application and other teams were building customer storage hardware).