Je zet de background in de body of html. De button(s) kun je overal dan neer gaan zetten waar je wilt. Onderstaand een voorbeeld voor de achtergrond op te nemen in de CSS.
Wat bedoel je met "beste manier"? Er is geen technische belemmering om gewoon een button weer te geven over een background-image? Hier hoef je niets speciaals voor te doen. Wat betreft het estetische aspect: jij bent de ontwerper :p.
Wellicht zou je uit oogpunt van zoekmachine-optimalisatie de afbeelding uit de (CSS) achtergrond kunnen trekken en een omschrijvende bestandsnaam en alttekst kunnen geven ofzo en wellicht wel meer truuks om extra metadata aan een afbeelding op te hangen. In dat geval zou je de button over de afbeelding heen kunnen plaatsen met behulp van z-indexen. Op deze manier haal je waarschijnlijk "meer kilometers" uit een afbeelding en krijgt deze echt betekenis in plaats van dat het enkel een opmaak-element is.