Uwagi:
- jak dajesz margin: 0 auto to margin-left: auto i margin-right: auto są niepotrzebne
- position:relative - po co ? tylko komplikuje kod
- na poczatku ustawiłeś margin:0 i padding:0 dla body, więc później dla divów już nie trzeba tego robić
- wsadzasz obrazek o szerokości 260px do diva o szerokości 160px, chyba masz parę takich kwiatkow
- ustawiasz wysokości elementów na sztywno, to zły pomysł jeśli ich zawartość będzie się zmieniać
- uzywasz masę spanów zamiast zrobić jedną liste (zawartość div#szare) ->
zamiast kupy spanów możesz przecież wsadzić wszystko w jeden, albo ustawić właściwości wyświetlania dla kontenera który ten tekst zawiera
To że kod się waliduje nie oznacza że wszystko jest ok