What is grid layout using CSS? - css

Difference between grid and liquid layouts? Looking for explanation of a grid layout.thanks

Grid layouts are built more towards a specific width no matter how wide a user's browser window is.
Liquid layouts expand/contract based on the width of the user's browser window.

Grid layouts are frameworks that work by using columns and rows of fixed size. You have to decide on the width you want the page to be and use a relatively complex range of classes to create basically a table layout. Check out one of the most popular ones:
http://960.gs/

There are already a number of pointers to good grid layout systems in other answers, I like Yahoo's UI Grids a lot. It can do fixed-width layouts and 100% (fluid) layouts, and there's a nice tool that allows you to play with different layouts.
Fixed-width layouts have the advantage of being more predictable than fluid layouts in many cases.

Related

How to make a "Staggered Grid" in Semantic UI

I am using Semantic UI for the CSS styling and couldn't find any documentation regarding a staggered grid view. Has anyone implemented it yet or any ideas how to?
Thanks!
I assume you are talking about a layout that looks like Pinterest where grid items are in fixed width columns but the aspect ratio of the content inside those columns stagger the gaps between items at uneven points. It is kind of like a masonry layout rotated 90 degrees.
Unfortunately Semantic UI does not have support for masonry or staggered grid layouts with their grid system. Depending on your needs and your environment you may want to check out a tool like Isotope.

Famo.us - Is a Gridlayout always a Gridlayout?

I am trying to ‘look’ at my screen in a grid format so I can lay out content based on that grid.
This isn’t strictly a gridlayout like having loads of photos or items evenly split across a screen, but understanding more the sizes and locations I can add surfaces or views.
Grid layout http://www.pandafinity.com/Screen-Grid.jpg
The above image is how I want to view the screen – so I can layout various items, some will span the smaller grid cells, some will be smaller (inside the grid cell), and some will span over multiple grid cells.
How would I create this approach using Famo.us? Can I use the Gridlayout for this or is it best to get the screen dimensions and do some maths to look at alignment and origins?
Thanks again :)
Going to use https://github.com/IjzerenHein/famous-flex.
Next bit is taken from the Github page (Hope Hein doesn't mind) :)
"
Flexible, animated and plugable layout-controller for famo.us, which:
Smoothly animates renderables between layouts (using physics)
Makes it easy to layout renderables (without having to create lots of modifiers)
Is shipped with various commonly used layouts
Allows you to easily create custom layouts and layout-helpers
Is very good at creating responsive designs
"
I think its a great approach and helps you split the layout from the renderables.
J. Andrew Brassington made such a thing in Famo.us already, similar to Isotope or Masonry if you about know those. He might be one to contact: https://github.com/jabbrass

SUSY static grid, but with set widths according to resolution

I am quite new to web grid systems but would like to choose SUSY mainly because so many people recommend it. What I'd like to achieve is something similar to what I see with the grid system in Twitter bootstrap, where the columns are not fluid in width, but the entire grid width has two or three pre-defined widths based on available resolution.
So, for example, I'd like to have an 8 column grid, with a grid width of 1140px if available, else 960px.
I was able to come up with something similar with SUSY, where my max container width was 1140px, and by setting a min-width of 960px it would never resize below that, but the grid was fluid between the two and my preference is for it to simple switch from one to the other when the resolution becomes available. This is mainly to have 2 or 3 predictable layouts.
Many thanks if anyone can help.
Chris Chandler
You want to use Susy's static output. To do that, set $container-style: static;. See the docs on the official Susy site.

How do CSS grid systems save time when implementing designs that aren’t grid-based?

What CSS grid systems do quickly which we can't do without them?
I work on freelance projects from various resources and the Photoshop file (PSD) i get are not based on grid or not using same grid width and column, gutters. I'm not in direct communications with designers. I only get design files directly from Clients or other freelancers/sub-contractors. I'm good at making HTML CSS for PSD without using any Grid also with IE compatibility.
These days twitter bootstrap is being popular in community which is based on 940px width grid and other thing too for button, and jquery plugins.
My question is specifically for using grid. How it can reduce our development time without restricting us on anything compare to our usual method, specially when Designer are on remote locations and I'm directly not connected to them and even I can't force them to use any grid based systems. Some clients are asking me to use twitter bootstrap but the design files they give me are not matching with 940px grid.
If the design you’re implementing isn’t based on a layout grid, then a CSS grid system won’t help you at all.
I’ll probably show my lack of design knowledge here, but my understanding is that layout grid specifies a minimum width for layout columns, e.g. 60px, and a width for the gutter (the horizontal space between columns), e.g. 20px. Larger columns are then made up of multiples of the minimum column width and the gutter — e.g. a 4-span column is as wide as four individual layout columns, plus three gutters.
It’s a way to make layouts with different numbers of columns look consistent with each other.
CSS grid systems implement this in CSS for you, so that you don’t have to write any CSS.
E.g. http://twitter.github.com/bootstrap/scaffolding.html#grid-system
You just apply classes to HTML elements. In the case of Twitter Bootstrap’s CSS grid system, to have a 4-span column and and 8-span column next to each other, you use the following HTML:
<div class="row">
<div class="span4">...</div>
<div class="span8">...</div>
</div>
The <div>s then get the right widths and gutters, and the right combination of float-related code so that they’re laid out as columns. So you get the time savings from not having to write (and debug in various browsers) any layout CSS for individual columns.
But if the design you’re implementing doesn’t use a layout grid, then a CSS grid system won’t help you at all, because you’re not implementing a layout grid.

Overlapping grids in 960 Grid System

For example, in a 12-column grid, I want to have a 9-grid-wide and another 4-grid-wide . The divs will have an overlap 1 grid wide in the middle. This is useful for some fancy effects.
Of course I can just use one div and then create more divs inside accordingly (not using the Grid System), but is there a better way?
Or you could organize your layout by yourself with all custom DIVs, that just follows the guidelines the 960GS gives you. There's nothing that tells you that you have to use the premade HTML template to benefit from the concept of the grid system. It's just there as a guide to make sure all widths on the page look good and fit together.
I believe that grid CSS systems were designed to enable quick and easy table-less layouts. They were not designed for this kind of thing. However, there is a third party tool that may interest you. You can find it here: http://gridder.andreehansson.se/
You may however find it easier to just use CSS to layout your DIV elements, overlap them using negative margins and use the z-index property to determine which of the overlapped DIV elements should be on top.

Resources