naszukałem się troche materiałów na powyższy temat, lecz nigdzie nie znalałem nic stosownego do omawianego problemu. Wszystkie artukuły i wypowiedzi ludzi na jakie natrafiłem były mało informacjo-dawcze lub wogóle mijały się z tematem.
Problem jaki spróbuje tu opisać, i miejmy nadzieję wraz ze społecznością rozwiązać, dotyczy, jak po temacie można wywnioskować, pozycjonowania.
Defakto chodzi mi tu o pozycjonowanie/układ relatywny elementów na stronie. Występować muszą ponadto następujące zależności pomiędzy blokami:
1. Wszystkie bloki muszą zachowywać stosowny odstęp od bloków sąsiednich, wjeżdżanie na inne jest niedopuszczalne.
2. Niektóre bloki są fixed width (tzn mają ustaloną szerokość) inne zajmują dostępne miejsce między blokami (brzegami strony, brzegiem strony a blokiem) przy zachowaniu 1.
3. Oczywiście co blok to inna wysokość, datego blok o szerokości większej niż blok poprzedzający od góry (możemy mówić tu o overflow'ingu) powinien zostać umieszczony do lewej, jednakże jego pozycja top powinna wynosić: 'koniec najdłuższego bloku' + odstęp.
4. Dla bloków umieszczanych jeden pod drógim (w tej samej kolumnie), mających tą samą szerokość (typ), możemy stosować div'y obejmujące w celu zgrupowania bloków i łatwiejszego pozycjonowania.
Poprzez blok rozumie jakiegoś div'a zawierającego inne elementy i/lub tekst, które w pozycjonowaniu nie biorą udziału.
Jak pisałem wyżej overflow bloku nie wchodzi w grę, dlatego wyróżniam wiele typów bloków w celu uproszczenia sprawy. Główne to: block - fixed width, mainblock - zmienne width, multiblock - zmienne width, posiada szerokość jak mainblock + szerokość kolumny/bloku popredzającego lub następnego.
Bloki typu block i mainblock nie mogą występować w tej samej 'kolumnie'. Mainblock może występować tylko raz w danej lini (row, wiersz) [bloki tego typu powinny znajdować się w jednej 'kolumnie', która zależnie od obszaru roboczego przeglądarki będzie zmieniać szerokość]
Dla uniknięcia dwuznacznośći, nie chcę stosować tu podziału na kolumny, czyli robić div'ów zawierających kolejne bloki. Mija się to z celem kiedy blok zajmuje dwie kolumny, wobec czego zasłaniał by treść następnej kolumny. [chyba, że istnieje do tego jakiś woraround :-) chętnie dowiem się jak to zrobić za pomocą css+div only]
Dla graficznego ukazania powyższego zamieszczam małego drafta:

Myśle, że oddaje to co wyżej napisałem. Pole pomiędzy blokami jest wolne.
To myśle na tyle w ramach wprowadzenia. Idąc dalej oraz wcielając problem w życie, potrzebne są klasy css do osiągnięcia takiego rezultatu. W tym miejscu liczę na ostrą dyskusję popartą przykładami :-)
Narazie sam nie wiem od którego końca się za to zabrać. Jako, że z definicji przewiduje dowolny układ elementów (oczywiście spełniający zastrzerzenia), potrzebna jest uniwersalność klas oraz metoda umieszczania kolejnych bloków w ciele strony aby były poprawnie wyświetlane.
Ktoś ma jakieś sugestie, popozycje, rozwiązania itp to bardzo prosze o wypowiedź. Temat wydaje się nie być łatwy dlatego im więcej głów nad nim myśli tym lepsze rezultaty...