Barcelona is well known for having both beaches and mountains, being in between both geographically, and having plenty of sunshine and culture. You will find Barcelona to be a lively city, which is also quite large. The beaches are good for sun-bathing and swimming, and there are many restaurants with different cuisine from which to choose from.
If you’re into hiking/rock-climbing, you can drive a little ways out of Barcelona to find some mountain cliffs that with sport clips.
Also, Barcelona has an amusement park nestled above the city in the mountains, called Tibidabo. It has 25 rides, excellent panoramic views, and the Sagrat Cor church. You can take a bus to Tibidabo from Barcelona, or you can take a taxi.
All opinions are my own.