Git Product home page Git Product logo

iotacss's Introduction

iotaCSS

Smart, open-source, Sass based OOCSS framework built for scale. iotaCSS helps you create lightweight, performant, readable and fully responsive user interfaces in no time.

Getting Started

You can install all iotaCSS modules at once:

$ npm install --save iotacss

and import them as follows:

@import 'node_modules/iotacss/settings/core';
@import 'node_modules/iotacss/tools/core';

...

Or you can install only the modules you need:

$ npm install --save iotacss-settings-core iotacss-tools-core ...

and import them as follows:

@import 'node_modules/iotacss-settings-core/settings.core';
@import 'node_modules/iotacss-tools-core/tools.core';

...

Documentation

For more information about iotaCSS as well as the complete documentation of each module, use the official iotaCSS documentation - https://iotacss.com/docs.

License

Licensed under the Apache License, Version 2.0. Copyright © 2016–2017. Dimitris Psaropoulos.

iotacss's People

Contributors

andrewckor avatar harby avatar jonic avatar russellbishop avatar timonweber avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iotacss's Issues

Autosizing equal width size utility

In a project I'm working on I needed a sizer helper class which makes elements with the class equal width no matter the items inside the grid.

I extended the size utility to generate this class (including a class for each breakpoint if the responsive flag was set to true) with the default namespace of "equal-width" but this is configurable like the other iotacss namespaces.

So with the default iotacss config it would be: .u-equal-width, .u-equal-width@sm, ...

Is this something that could be useful for iotacss base? If so, I can create a PR.

Dart Sass is deprecating use of slash for divison

$margin-size: ((100 / $column-size) * $i) * 1%;

Uses '/' for division.

Dart Sass compiler is deprecating this - warnings from the compiler:

DEPRECATION WARNING: Using / for division is deprecated and will be removed in Dart Sass 2.0.0.

Recommendation: math.div(100, $column-size)

More info and automated migrator: https://sass-lang.com/d/slash-div

   ╷
34 │     $margin-size: ((100 / $column-size) * $i) * 1%;
   │                     ^^^^^^^^^^^^^^^^^^
   ╵
    ../node_modules/iotacss/modules/iotacss-utils-pull/_utilities.pull.scss 34:21  @import

There maybe other uses of this in the libary, but this is one example.

The documentation site is not accessible.

The documentation site doesn't scroll together. It relies on two columns, and users are expected to scroll one column at a time, with sheer in the middle of the window.

This makes it harder to scroll, and can trigger migraines for users with visual processing issues.

Add full media modifier to build full row layouts

Media object is a great way to make simpler layout using the modifier o-media-full like this

<div class="o-media o-media--full">
  <div class="o-media__fixed">
     ...
  </div>
  <div class="o-media__fluid">
     ...
  </div>
</div>

It will render one fixed sized row and one fluid row using all the vertical height of the parent and making the content scrollable.

capture d ecran 2018-02-14 a 13 52 22

iotacss code:

$iota-objs-media-full-name: 'full' !default;

.#{$iota-objs-media-var-media-mod + $iota-objs-media-full-name} {
  height: 100%;
  overflow: hidden;

  & > .#{$iota-objs-media-var-media-fixed},
  & > .#{$iota-objs-media-var-media-fluid} {
    height: 100%;
    overflow: auto;
  }
}

New utilities for border, border-radius and bow-shadow

Maybe you are already thinking/implementing new utilities, but I would like to know what do you think about adding those:

Border

Add a border to an element

<div class="u-bt-black">A div with a bottom border</div>
<div class="u-bv-black">A div with a left and right border</div>

Border-radius

Add a border-radius to an element

<div class="u-br-x2">A div with a border radius of 2px on all corner</div>
<div class="u-brb-x4">A div with a border radius on bottom corner</div>

Box-shadow

Add a shadow to an element

<div class="u-boxshadow-x3">A div with a strong shadow</div>
<div class="u-boxshadow-x1">A div with a light shadow</div>

Allow map of lists to $iota-utils-margin-extra

$iota-utils-margin-default may have a list value to set which exactly margins should be generated which is a really cool feature.

// that is awesome
$iota-utils-margin-default: null null '10px';

It would be logical and very helpful if $iota-utils-margin-extra variable could also contain a map of lists but currently it can't.

// that would be even more awesome
$iota-utils-margin-extra: (
  '-x2': null null '20px',
  '-x3': null null '30px',
  '-x4': null null '40px',
);

Same with $iota-utils-padding-extra.
And thanx for such a great framework!

Missing utility class to disable the push / pull styles

If you set the responsive flag to true for the push and pull module, it will generate utility classes for each breakpoint, which is great!

The only thing that is missing is a class to stop this pushing / pulling on certain breakpoints (like Bootstraps .col-*-offset-0 classes)

I can create a PR if you think this would be a useful addition to IotaCSS.

Grid equal-height mod affects content

I noticed when using the .o-grid--equal-height modifier, the child block elements of the grid columns become inline.

E.g.:

<div class="o-grid o-grid--equal-height">
<div class="o-grid__col u-12/24@md-up">
<div class="div1">...</div>
<div class="div2">...</div>
</div>
<div class="o-grid__col u-12/24@md-up">...</div>
</div>

Will result in .div1 and .div2 being placed side-by-side.

The documentation is rather sparse on describing what to expect from iota's core classes, but I assume that all that modifier is supposed to do is make the two .o-grid__col elements the same height, but not affect their children.

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.