I have been using w3 school css files but my friends suggest that I should use bootstrap and on Internet I see materialize and flexbox are coming up. So what's the better css framework
The best one is the one that suits your needs. I really like Bootstrap its great to hitting the ground running. I use it for all my projects mainly as it's the one I know the most.
I don't miss the days of writing a grid system and dealing with responsive elements of the grid. CSS framework solve this problem and allow you to concentrate on building your project/idea with minimal fuss.
If you go with React give this one a try. material-ui-next.com
People have really strong opinions about many CSS frameworks, or using frameworks at all. One thing to note - Bootstrap is used on a good chunk of websites online, so if you have to pick a framework, it might be the most supported right now which makes it a safe choice.
Ultimately though, the best framework will be the one that's tailored to the type of site you're building, and since individual projects vary, their needs vary too. I think it might be better to have 'closer fitting' CSS framework that solves only what you need to rather than a large 'one-size-fits-all' framework that likely brings a lot of things you don't need as well.
Personally I don't use frameworks in the things I build, but I do have 'snippets' of code that get re-used in many different projects. In each case I'm trying to tailor my CSS to each site so it's a nice custom fit :D
Definitely not the first three -- I was forced to choose between an HTML/CSS framework and a shotgun blast to the head, I'd reach over and pull the trigger! I'm not sure how flexbox -- an internal CSS method -- relates to any of those which is why I'm not choosing an answer. Flexbox is just part of using modern CSS, in a convoluted manner I'm not entirely convinced is ready for primetime. (and that feels vastly inferior to the upcoming poorly named CSS grid layout module -- which is ALSO not a framework)
Or has some halfwit out there made a HTML/CSS framework and called it flexbox?!? If so where do they live, I'd like to have words with them.
BY THEIR VERY NATURE HTML/CSS frameworks rely on using classes in a presentational manner -- much akin to how the mind-numbingly dumbass garbage "OOCSS" asshattery functions. As such it removes separation of presentation from content from the equation defeating the entire reason HTML and CSS are separate in the first damned place.
If you're going to go that ****ing stupid you might as well go back to writing HTML 3.2 with tables for layout. Or as a dearly departed friend of mine used to say:
The people who used to slop out endless nested tables for nothing, now just slop out endless nested DIV with presentational classes for nothing. Net improvement zero.
... and it's true. To be brutally frank, if you don't know what's wrong with this:
class="navbar navbar-toggleable-md navbar-inverse fixed-top bg-inverse"
Or this:
class="w3-bar-item w3-button w3-padding-large w3-hide-medium w3-hide-large w3-right"
Or even this:
<nav class="nav-extended">
<div class="nav-background">
<div class="pattern active" style="background-image: url('//cdn.shopify.com/s/files/1/2030/2737/files/icon-seamless_ef568d79-394b-49ab-a3c5-128827d788e8.png?v=1496294246');"></div>
</div>
<div class="nav-wrapper container">
<a href="/" itemprop="url" class="brand-logo site-logo">
Gallery
</a>
Then you have ZERO damned business writing one line of HTML, much less applying CSS to it! Such methodologies are the antitheses of sane and rational HTML/CSS development and only show the ignorance, incompetence, and ineptitude of those who build websites that way.
Which is usually how they end up with 24 to 128k of HTML doing 4 to 16k's job. THEN they have the cojones to claim that having written two to twelve times the markup doped to the gills with specificity hell was somehow "easier" and makes collaboration better. A bold faced lie if they ACTUALLY know what they're talking about.
As evidenced by w3.css' telling people to actually do this:
<div class="w3-red">
You don't have a problem with that, do the world a favor and back the **** away from the keyboard and go take up something a bit less detail oriented like macrame. Say hello to presentational markup and the bleeding edge of 1997 HTML 3.2 style thinking!
That w3.css even HAS a 'color' section shows the people who made it have ZERO business making website much less telling others how to do so -- but what can one expect from the nube predating scam artists at W3fools.
Kareem Jose
A fool.
Always remember