Create a multi-column, dynamic grid layout whose items can be sorted and filtered.
The Dynamic Grid component allows you to create a dynamic and responsive grid layout utilizing the Grid component. Grid items will arrange themselves fluently and seamlessly for a gap-free multi-column layout on all device sizes.
To apply this component, add the data-uk-grid attribute to the container element. Set the width of the grid items by using the uk-width-* or .uk-grid-width-* classes from the Grid component.
Example
1
2
3
4
5
6
7
8
Markup
<!-- This is a grid using uk-width-* on each item --><divdata-uk-grid><divclass="uk-width-small-1-2 uk-width-medium-1-4">...</div><divclass="uk-width-small-1-2 uk-width-medium-1-4">...</div></div><!-- This is a grid using uk-grid-width-* on the grid itself --><divclass="uk-grid-width-small-1-2 uk-grid-width-medium-1-4"data-uk-grid><div>...</div><div>...</div></div>
You can also filter your grid so that only particular items will be displayed. To do so, add the {controls: '#my-id'} option to the data-attribute to target the id for the filter controls. Each control needs to have the data-uk-filter attribute to define the category you want to filter. Then you also need to add the data-uk-filter attribute to each grid item to define what category the item belongs to. Separate multiple categories by comma.
To sort grid items ascendingly, add the {controls: '#my-id'} option to the data-attribute to target the id for the sorting controls.
Each control needs to have the data-uk-sort attribute with a custom value that targets the category you want to be sorted, for example data-uk-sort="my-category". You also need to add a data attribute to each grid item, using your target category’s name. The value contains the data which should be sorted, for example data-my-category="my-data".
Items are sorted ascendingly by default. To sort the items descendingly just add :desc to the value of the controls’ data attribute, for example data-uk-sort="my-category:desc".
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.