I am trying to build a simple web application based on grids.
Like, have this widget occupy 1/3 of the screen on bottom, that one line of large bold text on top, and let another one occupy the rest of the screen.
While grid layouts were with us for ages in desktop applications, somehow it is a forbidden fruit in the world of the Web. When asking/searching on how to do it, you get an amazing mix of:
- full screen grids are evil because they are against the Party Line
- long discussions about separation of structure and behavior
- pointers to gigantic galleries of half-working examples
- suggestions to use CSS (totally brain dead idea: the notion of “and the rest of the available space goes to element X” is completely foreign to CSS)
- complex ad hoc JavaScript snippets that work in this particular case, but not the other
- some mix of the above
This “answer” on Stack Overflow is very indicative of the situation. It starts with “I must respectfully disagree with the answer that colspan is exclusively indicative of structure…” while the real answer is “no, you can’t do it with CSS”.
Finally, I find this: JQuery Layout plugin. Looks perfect. Alas, I can’t make it work with the latest JQuery. Reason? $.browser()
has been removed. Apparently, it also crossed a Party Line. The suggestion is to use a plugin like Modernizr, but there is no version of JQuery.Layout
that uses Modernizr, and rewrite of a major piece of complex JavaScript code is currently not in my plans.
So, my choice is to either use the layout plugin and get stuck with JQuery 1.2, or use the latest JQuery (1.10 at the time of writing) and do without the layout plugin.
Bottom line: DLL hell can be found anywhere, even in JavaScript land (surprise-surprise!). Especially when Party Lines get involved and people remove useful stuff they consider ideologically wrong.
P.S. There is a release candidate of JQuery.Layout
that is compatible with JQUery 1.9+, but it looks like all development seized in January 2013. Too bad…
CodeProject