Code Monkey home page Code Monkey logo

stellar's Introduction

stellar is a LESS library for easy and fast webapp scaffolding

It is good at:

  • vertical align;
  • and..centering things;
  • arranging in rows (for wide screens) and columns (for small screens); and of course
  • responsive design with just a few lines of code.

And easy because:

there is a parent (element) and it has children (elements)..and the parent says how his children are arranged in terms of x-axis and y-axis.

How to use:

  • First, let's see what the parent can do to children.

Use .row(); or .column(); on a parent element to arrange its children in a row or a column.

Inside the brackets you can use @x: and @y: to specify how the children are positioned on the corresponding axis.

Use @left;, @center;, @right; or @spread; for x-axis positioning. Use @top;, @center;, @bottom; or @spread; for y-axis positioning.

Default values:

	.row(@x: @left; @y: @top;);
	.column(@x: @left; @y: @top);

If using a default value, the property and its corresponding value can be skipped.

Sample:

Тhis: .row(@x: center; @y: @top); is the same like .row(@x: center;);.

  • And now, what children can do despite their parent's say.

A child can get a different positioning than the rest of the children.

Use .naughty(row; @y: value;); when the children are arranged in a .row;. (values: @top, @center, @bottom).

Use .naughty(column; @x: value;); when the children are arranged in a .column;. (values: @left, @center, @right).

Default values:

	.naughty(row; @y: @top;);
	.naughty(column; @x: @left;);

Sample

HTML code

<div class="container">
	<div class="child"></div>
	<div class="child"></div>
	<div class="child naughty"></div>
	<div class="child"></div>
</div>

LESS code

.container {
	.row(@x: @center; @y: @top);
	height: 100vh;
	width: 960px;
	.child {
		height: 100px;
		margin: 20px;
		width: 100px;
	}	
	.naughty {
		.odd(row; @y: @center;);
	}
}

Browser Support

  • Chrome 21+
  • Firefox 22+
  • IE 11
  • Edge
  • Opera 12.10+
  • Safari 6.1+

Issues

IE 11 does not position the children elements along y-axis correctly if the parent has min-height. If you need to set min-height to the parent element, use height as well.

Install

$ bower install stellar-less

in your .less file:

@import "path/to/stellar/stellar";

More samples

For more complex samples in an interactive playground, please visit http://stellar.stelavit.com.

stellar's People

Contributors

stelaseldano 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.