
Blaze CSS – Open Source Modular CSS Framework - rtcoms
http://blazecss.com/
======
ungzd
"Un-opinionated" right next to "BEM". It's like saying WinAPI and COM is un-
opinionated.

~~~
jlukic
My thoughts exactly. Also labeling Semantic, Bootstrap etc. as monoliths, yet
they both offer custom modular builds.

------
melicerte
Really nice. The only thing that would prevent me to give it a real go to is
that it is a one man project not backed by any company...

~~~
azurvii
Wasn't Linux originally a one man job as well?

~~~
jazoom
Would you use a 1-man-developed OS on your servers?

Linux is no-longer a 1-man show.

------
rattler
This looks really good. The grid is much more customisable than
bootstrap/foundation.

~~~
grumpywizards
Thanks! Worked hard on the grid!

------
allendoerfer
Is there a reason beyond the marginal performance difference, why there are no
global modifiers in BEM?

I find the _c-button c-button--primary_ a bit annoying. Why not just _c-button
primary_ and define them like this?

    
    
        .c-button.primary {
          …
        }
    
    

Or namespace it:

    
    
        .c-button.m-primary {
          …
        }

~~~
ryantownsend
It's not so much about performance, it's about specificity. To override
anything in `.c-button.primary` you'd need something to have equal or greater
specificity (meaning you couldn't do `.c-button--large`).

Obviously this is a fairly basic example, but with more chaining comes more
levels of specificity which makes for increasingly difficult changes and worse
productivity.

~~~
allendoerfer
I don't get your example.

What's the difference between

    
    
        .c-button.primary { … }
        .c-button.large { … }
    

and

    
    
        .c-button--primary { … }
        .c-button--large { … }
    ?

~~~
nilliams
.c-button--primary has lower specificity that .c-button.primary

~~~
allendoerfer
But _.c-button.large_ has the same specificity as _.c-button.primary_.

~~~
buchanaf
Indeed, but with BEM, you keep a specificity of 1, which means you can
override styles simply by adding a class and ensuring that it is further down
in the style sheet than its other base classes.

Like mentioned above, this keeps things simple and prevents the snowball
effect of people continually adding classes or selectors to override styles.

~~~
grumpywizards
Single Reaponsibility principal. Create a class called .button. The
responsibility of that class is to define what a button looks like. Then
create a class called .button--primary whose sole responsibility is to define
what a primary button looks like. If you create a class called .primary it has
multiple responsibilities spread over the solution making it harder to
maintain and improve upon

------
NKCSS
Small thing I noticed: on
[http://blazecss.com/components/buttons/](http://blazecss.com/components/buttons/),
the 'link' button made from a normal <a> tag is slightly larger (Chrome 51).

~~~
grumpywizards
Could raise an issue in the repo if it's still a problem?

------
alien3d
Quite nice.maybe will be used it for future replacing twitter bootstrap.

~~~
grumpywizards
Any feedback you can give would be appreciated ;)

------
Kiro
I love the opt-in part. I really like building stuff in Bootstrap but I loathe
the fact that it changes a lot of stuff implicitly, making me feel I lose
control.

~~~
nilliams
Correct me if I'm wrong or misunderstanding, but apart from basic typography
(relative sizes and spacing of headings and body text), bootstrap has been
opt-in since bootstrap 3.

Everything else requires adding classnames or using mixins before bootstrap
starts to take effect.

If you don't want the typography stuff you can uncheck it on the customize
page. (Or if you're using Less/Sass delete the typography import e.g. delete
`@import bootstrap/typography` . from `_bootstrap.scss`).

~~~
grumpywizards
Blaze doesn't mention Bootstrap specifically regards opt in. But Bootstrap
does apply CSS to some elements without permission. Foundation even more so.
SemanticUI too. Blaze is different than all of these in that it gives the
power back to you!

~~~
nilliams
Only what I addressed. Typography, which you can disable or override easily.

Let's be clear, Bootstrap is the most popular CSS framework in the world,
whose Github issue threads have been pored over many times more than Blaze's
are likely to be for a very long time, and Bootstrap 3 at least _never took
any power away_.

There are some really cool looking elements to Blaze and I'm very interested
in using it for some upcoming projects, but to infer that you should ditch
Bootstrap for it, on the basis of opt-in vs opt-out is very misleading.

------
macandcheese
Despite "un-opinionated" being one of their main selling points, using BEM is
SUPER opinionated.

~~~
grumpywizards
Mentioned above: It's un-opinionated as in styling is drawn back but not to
the point of it being ugly. Look at a Blaze site and it doesn't look like a
Blaze site. Everyone can tell when a site has been Bootstrapped. It's aiming
for an un-opinionated solution rather than source code

------
Prefinem
Your dashboard example is freaking out a little.

Here is a short clip of it:
[https://www.freeih.com/tAgTSr](https://www.freeih.com/tAgTSr)

~~~
rexfm
os/browser? could not replicate here on mac/chrome

------
timje1
Typo on the front page, 2nd info box - "Mirco-frameworks tend to sacrifice a
lot of usefulness for the file size, leaving the developer wanting more".

~~~
grumpywizards
Fixed ;)

------
jbverschoor
Resizing feels very snappy!

