Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. # Layouts Serious Detoxification
  2.  
  3. ## Concept
  4.  
  5. The main idea is to have single column layout on each page that can contain blocks arranged vertically. *Block*, a.k.a. _placek_, is a layout element that has 100% available page width and parametrized N % available page height. There should some constraints what minimal page width and height should be for each breakpoint. If total height of blocks exceeds 100% of the page, scroll will be visible.
  6.  
  7. ### Grid
  8. Base *Block* type is one containing grid layout inside. Number of columns is derived from breakpoint and number of rows is calculated from breakpoint and height property.
  9.  
  10. > ##### Example
  11. *Grid*(50%) on *Desktop* breakpoint could have 10 rows and 12 columns while *Grid*(70%) on *Mobile* breakpoint could have 7 rows and 4 columns.
  12.  
  13. ### Card
  14. It behaves the same way as *Grid*, only visually it adds background and shadow to its content.
  15.  
  16. > ##### Inside a Grid
  17. *Card* is a container that is allowed inside a *Grid*. When put inside it will wrap part of internal grid.
  18.  
  19. ### Border
  20. It behaves the same way as *Grid*, only visually it adds border to its content.
  21.  
  22. > ##### Inside a Grid
  23. *Border* is a container that is allowed inside a *Grid*. When put inside it will wrap part of internal grid.
  24.  
  25. ### Tabset
  26. It behaves the same way as *Grid*, only it allows one row less, which is reserved for tabs control.
  27.  
  28. > ##### Inside a Grid
  29. *Tabset* is a container that is allowed inside a *Grid*. When put inside it will wrap part of internal grid - minus one row, which will be reserved for tabs control.
  30.  
  31. ### Section
  32. It behaves the same way as *Grid*, only it allows one row less, which is reserved for section control.
  33.  
  34. ### Accordion
  35. Should this be included?
  36.  
  37. ## Repeating
  38. Repeating should be allowed for:
  39. * Pages
  40. * Blocks
  41. * Tabs within Tabset
  42.  
  43. ## Responsiveness
  44. All *Blocks* are placed one below the other. There is no concept of *Page* horizontal splitting.
  45.  
  46. Numbers of rows and columns is decided based on breakpoint. If arranged elements won't fit into grids on lower breakpoints, they're expected to expand (design-time) their containers and place one below the other until the designer arranges them specifically for given breakpoint.
  47.  
  48. ## Backwards compatibility
  49. We should for some time support both old and new approaches and offer a migration path - in most cases we could automatically flatten existing configurations and put them into new containers.
  50.  
  51. FlexLayout should turn into *Grid*.
  52.  
  53. FluidLayout should turn into *Grid*.
  54.  
  55. Repeating within *GridLayout* should turn into repeating *Grid* blocks.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement