TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Learning modern web design and CSS

194 pointsby themanrover 7 years ago
So I&#x27;ve been mostly doing back end stuff for a few years. My ability to fix float issues in IE6 just isn&#x27;t relevant any more. What&#x27;s the best way to get an understanding of modern CSS and web design? Preferably simple approaches that don&#x27;t involve horrible, huge, redundant class names or bloated, overbearing frameworks.<p>This is for a couple of personal projects. I may ultimately end up hiring designers but I want to know what I&#x27;m taking about and I&#x27;d want to be able to maintain their output.

28 comments

bbxover 7 years ago
Web Design is easy! You can learn it in 4 minutes: <a href="http:&#x2F;&#x2F;jgthms.com&#x2F;web-design-in-4-minutes&#x2F;" rel="nofollow">http:&#x2F;&#x2F;jgthms.com&#x2F;web-design-in-4-minutes&#x2F;</a><p>More seriously, if you fancy some reading, I wrote a free HTML and CSS tutorial: <a href="http:&#x2F;&#x2F;marksheet.io&#x2F;" rel="nofollow">http:&#x2F;&#x2F;marksheet.io&#x2F;</a><p>Before you dive into specific frontend feature like Flexbox or Grid or even a full CSS framework, I believe you should first understand the basics of markup and styling, which are very <i>simple</i> but not <i>easy</i>.<p>Because otherwise, you will start using tools you don&#x27;t fully understand, and will struggle extending or fixing your design.<p>After that, you can simply Google whatever style you want to implement, or problem you&#x27;re facing, &quot;just in time&quot;, and end up on CSS Tricks or Stack Overflow.
评论 #15329734 未加载
评论 #15332173 未加载
评论 #15330496 未加载
评论 #15330206 未加载
afarrellover 7 years ago
If you find yourself wanting to get a solid mental model of CSS, I highly recommend blocking out a few evenings to work through The Pedantic Guide to CSS [1] as if you are a university student studying the complexities of cellular metabolism. A Spaced Repetition app like Anki [2] is really helpful here. EDIT: I&#x27;ve found that for best effect, write flashcards that lead you to think through some reasoning about how a layout attribute works.<p>You might also find the games Flexbox Froggy[3] and Grid Garden[4] useful.<p>[1] <a href="http:&#x2F;&#x2F;book.mixu.net&#x2F;css&#x2F;" rel="nofollow">http:&#x2F;&#x2F;book.mixu.net&#x2F;css&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;apps.ankiweb.net&#x2F;" rel="nofollow">https:&#x2F;&#x2F;apps.ankiweb.net&#x2F;</a><p>[3] <a href="http:&#x2F;&#x2F;flexboxfroggy.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;flexboxfroggy.com&#x2F;</a><p>[4] <a href="http:&#x2F;&#x2F;cssgridgarden.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;cssgridgarden.com&#x2F;</a>
kraitisover 7 years ago
Work through this:<p><a href="https:&#x2F;&#x2F;learn.shayhowe.com&#x2F;html-css&#x2F;" rel="nofollow">https:&#x2F;&#x2F;learn.shayhowe.com&#x2F;html-css&#x2F;</a><p>followed by this:<p><a href="https:&#x2F;&#x2F;learn.shayhowe.com&#x2F;advanced-html-css&#x2F;" rel="nofollow">https:&#x2F;&#x2F;learn.shayhowe.com&#x2F;advanced-html-css&#x2F;</a><p>and you&#x27;ll be good to go. The tutorial, while covering the essentials, is working towards creating this:<p><a href="https:&#x2F;&#x2F;learn.shayhowe.com&#x2F;practice&#x2F;organizing-data-with-tables&#x2F;index.html" rel="nofollow">https:&#x2F;&#x2F;learn.shayhowe.com&#x2F;practice&#x2F;organizing-data-with-tab...</a>
zichyover 7 years ago
Read this:<p><a href="https:&#x2F;&#x2F;css-tricks.com&#x2F;snippets&#x2F;css&#x2F;a-guide-to-flexbox&#x2F;" rel="nofollow">https:&#x2F;&#x2F;css-tricks.com&#x2F;snippets&#x2F;css&#x2F;a-guide-to-flexbox&#x2F;</a><p><a href="https:&#x2F;&#x2F;css-tricks.com&#x2F;snippets&#x2F;css&#x2F;complete-guide-grid&#x2F;" rel="nofollow">https:&#x2F;&#x2F;css-tricks.com&#x2F;snippets&#x2F;css&#x2F;complete-guide-grid&#x2F;</a>
评论 #15329594 未加载
评论 #15329180 未加载
hacking-n-stuffover 7 years ago
I used Codecademy to learn HTML and CSS essentials. Once you have that down, you&#x27;ll want to learn a responsive grid CSS framework like Bootstrap or Materialize. Then learn some basic javascript to make the page behave in cool ways (making elements appear&#x2F;disappear, scroll and animate, etc). I recommend learning jQuery for that (a javascript library) but avoid any bloated frameworks like React or Angular when you&#x27;re first starting out.<p>Once you understand those three foundational concepts (basic HTML&#x2F;CSS, a CSS framework, basic javascript) try just building some websites from scratch or editing templates to make them look how you want. It&#x27;ll be tough at first but you&#x27;ll gradually get the hang of it!
arsalanbover 7 years ago
Build actual websites. Code a lot. Pick a website every week that fits your definition of &quot;modern web design&quot; and try to clone it. This will be exponentially better than joining an online course and reading&#x2F;watching a video about building something.<p>Actual learning happens when you&#x27;re applying knowledge, not merely ingesting it.
z3t4over 7 years ago
If you are not good at the CSS basics, then learn the CSS basics, for example where in the CSS file you should place something for it to override something else. Then read through the CSS spec. there are a lot of nice new features like border-radius, linear-gradient, box-sizing, and finally display: inline-block is now a standard feature! Then there are animations and SVG support! You can make a lot with just CSS now a days, no need for JavaScript. Speaking of JavaScript a lot of back-end stuff has now moved to the front-end. You can now have the database on the client side. And you can develop a web app like if it where an off-line native app, blurring the lines of what a &quot;native&quot; app is, as users doesn&#x27;t have to notice a difference.
gexlaover 7 years ago
Just like you learned the back-end stuff. Practice, practice, practice. Just as you went through multiple levels of understanding with the back-end, you&#x27;ll do the same with the front-end.<p>Here&#x27;s an idea. Do you do any sort of journaling? Maybe make a daily scratch-pad in HTML &#x2F; CSS and just include whatever junk you happen to feel like throwing in there through the day. Think of it as web doodling. Screw around with different layouts, images, colors, emoji&#x27;s and maybe even some actual doodles you put together in a graphics editor. Do this every day and you&#x27;ll probably get pretty quick at making HTML &#x2F; CSS changes.<p>The design part is another rabbit hole. Are you talking about making it look good? UI? UX? Probably the answer is more practice there also.
herbstover 7 years ago
I would suggest getting into Bootstrap and try to understand their paradigm. Many other CSS Frameworks work like that, and you should do your own in a similar way to keep it clean. Bootstrap will also help you makeing pretty things in a standard way fast, plus the examples and templates all come with the typical modern layouts.
评论 #15329743 未加载
singletoonover 7 years ago
A recent and very valuable resource for modern web design : <a href="https:&#x2F;&#x2F;internetingishard.com&#x2F;html-and-css&#x2F;" rel="nofollow">https:&#x2F;&#x2F;internetingishard.com&#x2F;html-and-css&#x2F;</a>
morgunkornover 7 years ago
My first step would be to learn both the display: flex and display: grid syntaxes. They eliminate the need of 90% of the hacks of floats&#x2F;clearfixes, and table layouts. For this you can get familiar with the overall possibilities with these games: - <a href="http:&#x2F;&#x2F;flexboxfroggy.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;flexboxfroggy.com&#x2F;</a> - <a href="http:&#x2F;&#x2F;www.flexboxdefense.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.flexboxdefense.com&#x2F;</a> - <a href="http:&#x2F;&#x2F;cssgridgarden.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;cssgridgarden.com&#x2F;</a><p>The next big bite to take is responsive web design, using Media Queries, which involves getting mostly rid of any fixed width and rely on %, calc() and modern units like vw and vh to size your content.<p>CSS Tricks has a great article to get started: <a href="https:&#x2F;&#x2F;css-tricks.com&#x2F;css-media-queries&#x2F;" rel="nofollow">https:&#x2F;&#x2F;css-tricks.com&#x2F;css-media-queries&#x2F;</a><p>Good luck to you on this new adventure!
hacker_9over 7 years ago
For my site [0] I found downloading a modern HTML5 template, and tweaking it as needed from user feedback, helped me learn a lot. Just using the dev tools and toggling CSS styles on and off helps a lot for intuitive understanding.<p>Also learning techniques when you need them helps with retaining knowledge. For example on desktop the features list alternates the image on the left and right per row, but for mobile when everything becomes one column I wanted the image to always be underneath the text. A few google searches later led me to the flex box which can easily reorder the cells by just changing the &#x27;order&#x27; property. That&#x27;s now a piece of modern CSS I can recall again for later use.<p>[0] <a href="http:&#x2F;&#x2F;www.waveform3d.com" rel="nofollow">http:&#x2F;&#x2F;www.waveform3d.com</a>
teniutzaover 7 years ago
I would recommend starting with [0]. It takes you on a progressive ride from &quot;no layout&quot; to &quot;modern&quot; layout (apart from &quot;grid&quot;, but after learning the &quot;classical&quot; stuff, &quot;grid&quot; is not so complicated and there are a ton of resources around).<p>I would also suggest getting acquainted with specificity, early on. Other resources I can recommend are the Almanac[1] and the Snippets[2] from CSS Tricks.<p>[0] <a href="http:&#x2F;&#x2F;learnlayout.com" rel="nofollow">http:&#x2F;&#x2F;learnlayout.com</a><p>[1] <a href="https:&#x2F;&#x2F;css-tricks.com&#x2F;almanac&#x2F;" rel="nofollow">https:&#x2F;&#x2F;css-tricks.com&#x2F;almanac&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;css-tricks.com&#x2F;snippets&#x2F;css&#x2F;" rel="nofollow">https:&#x2F;&#x2F;css-tricks.com&#x2F;snippets&#x2F;css&#x2F;</a>
ezeroover 7 years ago
I think <a href="http:&#x2F;&#x2F;bulma.io&#x2F;documentation&#x2F;overview&#x2F;start&#x2F;" rel="nofollow">http:&#x2F;&#x2F;bulma.io&#x2F;documentation&#x2F;overview&#x2F;start&#x2F;</a> might be what you are looking for. Flexbox based framework, clean class names, no JavaScript.
评论 #15331106 未加载
KGIIIover 7 years ago
Covered previously:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11048409" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11048409</a><p>The answers should still be salient.<p>I used to be able to say, &quot;Right-click and read the source.&quot; I&#x27;m not sure that&#x27;s realistic anymore.
评论 #15329947 未加载
评论 #15329130 未加载
thirdsunover 7 years ago
I like the Learn Enough tutorials and recommend them particularly for newcomers that like to find an introduction and overview to a topic. In this case the HTML and CSS &#x2F; layout courses should be relevant:<p>- HTML: <a href="https:&#x2F;&#x2F;www.learnenough.com&#x2F;html-tutorial" rel="nofollow">https:&#x2F;&#x2F;www.learnenough.com&#x2F;html-tutorial</a><p>- CSS &amp; Layout: <a href="https:&#x2F;&#x2F;www.learnenough.com&#x2F;css-and-layout-tutorial" rel="nofollow">https:&#x2F;&#x2F;www.learnenough.com&#x2F;css-and-layout-tutorial</a><p>However the CSS tutorial doesn&#x27;t include CSS Grid yet, which is pretty much essential these days and therefor requires further reading elsewhere. CSS Grid is a major milestone for layout on the web. Don&#x27;t miss it.<p>Additionally another important aspect that is often overlooked: Naming things in CSS. Since you&#x27;re working with a global namespace it&#x27;s important to find a sane naming system. I recommend BEM, which is easy to grasp: <a href="https:&#x2F;&#x2F;csswizardry.com&#x2F;2013&#x2F;01&#x2F;mindbemding-getting-your-head-round-bem-syntax&#x2F;" rel="nofollow">https:&#x2F;&#x2F;csswizardry.com&#x2F;2013&#x2F;01&#x2F;mindbemding-getting-your-hea...</a>
mattbeeover 7 years ago
<a href="http:&#x2F;&#x2F;www.htmlandcssbook.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.htmlandcssbook.com&#x2F;</a> taught me the groundwork despite its age. Lea Verou&#x27;s CSS Secrets is a great book to pair it with - will show you lots of avenues of CSS and layout ideas that you&#x27;d never have found on your own. You probably also need some reference on Flexbox &amp; Grid but depends how far you want to go!
评论 #15329674 未加载
tudorwover 7 years ago
You could start by reading the specifications to get up to speed on the scope of contemporary HTML, not quite sure where you are coming from technically so if it sounds condescending just fill me in with where you stand now ;)<p><a href="https:&#x2F;&#x2F;www.w3.org&#x2F;standards&#x2F;techs&#x2F;html#w3c_all" rel="nofollow">https:&#x2F;&#x2F;www.w3.org&#x2F;standards&#x2F;techs&#x2F;html#w3c_all</a>
评论 #15330190 未加载
thehoneybadgerover 7 years ago
Do the same thing you might do when browsing open source code on github. Go to websites of well known companies or by people that provide web design services, view source, look at a feature that doesn&#x27;t make sense at first, and then search on Google or Mozilla Developer Network or Stackoverflow for more details, and then write a practice page in a basic text editor.<p>As far as design, you cannot go wrong with bootstrap. However, to really learn design, do not study web design. Study things like Bahaus, billboard design, marketing and messaging and PR, how to compose for simplicity, SEO optimization techniques and their influence on design, etc. Seriously, the people that learn how to make websites and want to tell you how to make websites absolutely and hilariously SUCK at design.
a_wover 7 years ago
&quot;Learn Enough CSS &amp; Layout to Be Dangerous&quot; by Lee Donahoe and Michael Hartl<p><a href="https:&#x2F;&#x2F;www.learnenough.com&#x2F;css-and-layout-tutorial&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.learnenough.com&#x2F;css-and-layout-tutorial&#x2F;</a>
have_faithover 7 years ago
On the CSS side you&#x27;ll want to learn Flexbox, Sass, Auto-prefixer (life saver), and maybe something like BEM naming conventions for &quot;regular&quot; websites. There are CSS-in-JS options if you&#x27;re building large web apps with something like React or Angular but it&#x27;s still up for debate if this approach is better.<p>On the design side it&#x27;s difficult to know what to recommend. I would learn simple UI&#x2F;UX principles. Lots of designers use either Sketch or Adobe Experience Design as opposed to something like photoshop these days. Makes for much quicker prototyping of designs.
评论 #15329507 未加载
jmkniover 7 years ago
Pluralsight has a new feature called <i>Paths</i> which I think is pretty good, I would recommend working through their HTML5 path - <a href="https:&#x2F;&#x2F;www.pluralsight.com&#x2F;paths&#x2F;html5" rel="nofollow">https:&#x2F;&#x2F;www.pluralsight.com&#x2F;paths&#x2F;html5</a>
olleracover 7 years ago
Pick a few CSS frameworks, say Bootstrap, MDL web components, and Bulma.<p>Choose 5 components from each that you want to learn how to build.<p>Look at the source code with the goal of understanding how they&#x27;re accomplishing what they&#x27;re accomplishing.<p>Try to build a project from scratch, without a framework.
fahimulhaqover 7 years ago
Take a look at The (Complete) Practical Introduction to CSS<p>(<a href="https:&#x2F;&#x2F;www.educative.io&#x2F;collection&#x2F;5191711974227968&#x2F;5641332169113600" rel="nofollow">https:&#x2F;&#x2F;www.educative.io&#x2F;collection&#x2F;5191711974227968&#x2F;5641332...</a>)
melenaosover 7 years ago
Read lea verou book &#x27;css secrets&#x27; it&#x27;s an awesome book for every web developer. <a href="http:&#x2F;&#x2F;lea.verou.me&#x2F;writing&#x2F;" rel="nofollow">http:&#x2F;&#x2F;lea.verou.me&#x2F;writing&#x2F;</a>
Rakeshcetcse15over 7 years ago
i want a help for my project. suppose in indeed.com search bar we will put java,it will so us no of java related job... i need to fetch them and want to store in excel..in different row.. how to do this any idea?? what script can i use except python..
Lordarminiusover 7 years ago
<i>CSS: The Missing Manual</i> by David McFarland will get you a long way.
newsmaniaover 7 years ago
Google “flexbox”. That is the single biggest new thing replacing floats in css. You’ll also want to make sure you understand css transitions (they are very simple).