4 ms·
I've done frontend for quite awhile. I usually start with some sort of framework for every project and use only the minimal pieces for the foundation. Generall
by mfrye0 8y ago
I've done frontend for quite awhile. I usually start with some sort of framework for every project and use only the minimal pieces for the foundation.
Generally you need the same stuff for every site:
- reset/normalize the styling cross browser
- basic grid system
- typography, forms, and buttons
- "componentized" files with variables (sass, less, post css, etc)
Basically I start with a custom build of whatever framework, use that to build the MVP, then customize it according to the designer requirements. Lastly, I'll pull in components as I need them.
Why reinvent the wheel and start from scratch?
- ryannevius 8y agoBut is that grid system consistent across different sites? In my experience, I usually need to customize the "grid" to specific breakpoints and widths, as defined by designs/content. I find that it's often faster to just write a few helper classes for layout – specific to the site I'm working on – rather than use 15% of a framework's grid and still do heavy lifting. Of course, this isn't the case if the design team designs with a framework's grid system/breakpoints in mind.
- franciscop 8y agoI made the grid of Picnic CSS very flexible to be able to do that, what do you think? :) https://picnicss.com/documentation#grids https://picnicss.com/documentation#grids In exchange it makes the framework a bit heavy (~10kb), but if you use the CSS these can be modified and optimized as seen here: https://github.com/franciscop/picnic/blob/master/src/plugins/grid/_plugin.scss https://github.com/franciscop/picnic/blob/master/src/plugins... Edit: this is the independent experiment I did before merging the grid system into Picnic, which I think it's still quite cool: https://francisco.io/flexpoint/ https://francisco.io/flexpoint/
- mfrye0 8y agoFor sure. Like I said, I usually do a custom build of a framework, then strip out the stuff I don't need. And if it's designed with variables, changing small stuff like breakpoints etc is maybe a few quick changes.