This is my sixth year teaching in a public H. S. and I have gotten a few gifts from kids, mostly girls. Honestly, I thought it was sweet at the time, but I certainly understand why kids don't give high school teachers gifts. I do have to say that I have gotten several Christmas cards from students with really nice messages in them, and I keep them in a box and they bring a smile to my face whenever I come across that box. I would highly recommend having your kids send middle school or high school teachers cards with a simple message. If they're too embarrassed, you can drop them in the main office and have them placed in teacher's boxes.
I would also recommend against just giving cards to the "favorite" teachers. This is a big problem with students who have a lot of teachers during the day. Usually teenagers' favorite teachers are the lazy teachers who just allow them to break the rules a lot and give away high grades for little effort. Upper-level teachers who really push kids academically and hold them accountable for their behavior are generally very unpopular and unappreciated. Please don't allow popularity contests to determine which teachers get an acknowledgement from your kids. Trust me, I've just returned to H.S. teaching after a few years away, and I forgot how unappreciated you feel. Teenagers whine about every assignment, gripe if you make them follow the rules, groan if you won't have a party or let them sleep, like so-and-so teacher down the hall who always shows movies and never makes them read. A little thing like a Christmas card can really make a difference for an exhausted middle or high school teacher.