- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Wed, 9 Nov 2005 20:25:21 -0800
- To: <www-style@w3.org>
I am experimenting with Java style layout managers in CSS and use home grown 'flow' style attribute for defining layout type. So far 'flow' gets following values: flow:vertical - standard layout of <div> element. flow:horizontal - same as above but child blocks layouted in horizontal direction forming single row; flow:h-flow - this is close to Java's FlowLayout [1], blocks layouted horizontally until space allows consequently forming rows; flow:v-flow - this is close to column layout, blocks layouted from top to bottom. On vertical overflow they are wrapped into new column; Screenshot of h-flow layout is here: http://terrainformatica.com/w3/h-flow.jpg Each "flowed" container declared as: <div class="container" > <div class="sub">#1</div> <div class="sub">#2</div> <div class="sub">#3</div> <div class="sub">#4</div> <div class="sub">#5</div> </div> Main differences of horizontal flows from existing methods like display:inline-block or float: left are: 1) margin collapsing between blocks works in both directions - vertical and horizontal. ( On screenshot above each child block has margin:20px set) 2) all blocks in row having height:auto (or 100%% in my case) are getting the same final (computed) height. My conclusions: These three new schemas: 1) are simple in use and in implementation; 2) due to their simplicity can be implemented uniformely in different UA's ; 3) can effectively eliminate need of tables for layout purposes in typical cases. Just for your information. (Live demo will be available tomorrow) Andrew Fedoniouk. http://terrainformatica.com [1] http://java.sun.com/docs/books/tutorial/uiswing/layout/visual.html#flow
Received on Thursday, 10 November 2005 04:25:33 UTC