3 ms·
Those are two different problems, imo, one is you don't know the language, and the other is design. I'm an artist and I've always understood design (not to say
by alan_n 8y ago
Those are two different problems, imo, one is you don't know the language, and the other is design. I'm an artist and I've always understood design (not to say I was great at it, it still took experience, but I can see a site and I can understand why it does/doesn't work visually), so I can't speak much about how to learn it, except to first try to copy/observe from designs you think are good and go from their.
As for css. I actually like designing UIs from scratch so it's not like I hate it when I'm doing it, but it's bad. It's like 80% works as intended, but then there's 20% that is just weird quirks and there's no way around them but to memorize them. For example, I just ran into a particularly annoying one again recently (you can't do overflow-x: hidden with overflow-y:visible). This stuff is not going to change. At best they might add some new property to fix it. And the workarounds are often dirty.
I would suggest, A) keep a list of problems you run into and their solutions if they're particularly weird, even better, make fiddles of the solutions, and B) comment your css with why you did what when it's out of the ordinary. Sometimes you'll need to create extra wrapper divs, etc, and when you come back to a project after some time you'll have no idea why they're there or why you placed some weird css property, C) master flexboxes and grids and know their limits, that will get you 90% there usually.
Also using something like scss or less, or currently I'm trying styled components (css-in-js <- though it doesn't feel like it), really helps.
As for how related learning css and learning design are, I'd say, you do not need to know design to know how to use css, but you need to know css to be able to implement a design. You can get by without knowing design (there's plenty of css frameworks), but frameworks won't save you when you need to tweak them with css. Also you can practice design without knowing css (e.g. using photoshop or figma or something), although note many times nice designs are nightmares to implement in css, which is why I think learning css is more important.