Coder Social home page Coder Social logo

atomic-layout-docs's Introduction

Introduction

Atomic layout is a library that manages spacial distribution in your layouts. It aims to provide a single control point for any space, and thus composition, in your implementations.

Goals

  • Immutable. Stop coupling spacing with your components. Have a dedicated composition layer that handles components relation, ensuring immutable layouts.
  • Physical composition. ****Allow to treat spacing and composition as physical components.
  • Standardized layout declaration. Imagine opening any layout part of the project and being able to understand and adjust it in seconds.
  • Faster development speed. Best practices and patterns immediately at your disposal.

Motivation

Think of how you create layouts today. You most likely have a set of reusable units (atoms) so you can combine them into functional compositions. Units are simple and predictable, but once they become composites for layouts they acquire contextual spacing and positioning. So you apply additional CSS rules to them to ensure that behavior. That makes elements contextual, thus not predictable (and also makes you write more CSS, nobody likes that).

Atomic layout exposes you a separate layer responsible for the spacial distribution between layout composites. Put simply, it allows you to set spacing and position of layout units without mutating them. That deprives from writing redundant CSS and ensures unit's predictability.

{% page-ref page="general/motivation.md" %}

Advantages

  • Tiny, around 6 Kb gzipped!
  • Based on standardized CSS Grid, no hacks or polyfills
  • Supported in more than 85% of browsers around the globe
  • Encourages consistent, maintainable layout declaration
  • Supports Responsive props to create responsive layouts incredibly fast
  • Keeps layout composites immutable and predictable

How does it work?

Briefly, Atomic layout is based on CSS Grid. During the layout composition you define which layout areas are present, configure their relation, and render your components in those areas.

Get a more profound understanding of what Atomic layout does following the example-based guidelines:

{% page-ref page="general/getting-started/" %}

atomic-layout-docs's People

Contributors

kettanaito avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.