Learning HTML5 & CSS3. Do I need javascript too?


I'm familiar with the way html & css work together. Recently I was previewing some html5 content demo'd by apple and saw they used a html5/css/javascript. I'm at the point where I need to know whether or not javascript is a must-learn; or if I can find similar workarounds with CSS3 & HTML5.

Edited to clarify intentions:

My aim is to have a roll-your-own blog page with twitter feed and some basic animations.

Do I need to learn javascript?


Yes, you <em>should</em> learn Javascript.

No, you don't <em>have to</em> learn Javascript.

<strong>The long version:</strong>

Javascript is only needed if you want your page to do more than just display static content. If the page is static it's not needed. Some things may not be very interesting without it though (<audio>, <video>, and <canvas> come to mind).

More specifically in response to your question, Apple's examples are probably not static (I'm guessing a lot of them are related to the three tags I mentioned before), so if you want to do things like that, you need to learn Javascript.


You will, almost always, find that you want to do something that either HTML5 or CSS3 will not let you do. JavaScript is not "hard" to learn if you understand basic programming and if you don't it's a good place to start.

Development is all about adding things to your toolbox. If you have HTML5 and CSS3 and have a good understanding of JS, you'll be more valuable to customers than if you only know HTML5 and CSS3. For browser based development, JavaScript (and it's libraries) are invaluable.



My aim is to have a roll-your-own blog page with twitter feed and <strong>some basic animations</strong>.


Yes. Learn the basics of JavaScript, then look into jQuery.


Depends on what kind of page you're developing. Most new sites are very dynamic and its users expect a desktop like performance and UI, in which case you WILL need javascript (sites such as facebook, gmail, portals, stackoverflow...)


Looking forward to where websites and user experiences are going, learning Javascript seems like a 'must-learn' to me. As I have learned more about web-design, I have also begun to see the wisdom in separating content (HTML), from style (CSS), from actions/interactivity (JS). Although I don't personally use it, I know a great place to quickly get going in Javascript is using <a href="http://jquery.com/" rel="nofollow">jQuery</a>. Personally, I use the <a href="http://developer.yahoo.com/yui/3/" rel="nofollow">YUI library</a> from Yahoo because I found the support their site provides (examples, API docs, and videos) easier to learn from. Another gem from YUI is their <a href="http://developer.yahoo.com/yui/theater/" rel="nofollow">YUI theater</a> which are great talks about YUI and general javascript development. I hope that helps!


  • Type mismatch: cannot convert from ListFragment to Fragment
  • Add a div to replace Video after Video Plays Through
  • Are there any supported high bit-depth video or image formats in DirectShow
  • How to make a user wait with Laravel
  • Where in the relevant specification is it documented that some comments in a SQL script are, in fact
  • Converting raw frames into webm live stream
  • replacing while loop with list comprehension
  • Open an application in a space using applescripts
  • CSS Grid, position absolute an element in a css grid item: IMPOSSIBLE
  • Generating anchors with PyYAML.dump()?
  • SIP API media codecs
  • Get Currently Active User in Android
  • how to populate a SQLite database and use that database in phonegap?
  • How to draw a line dynamically in android [duplicate]
  • UIAlertController button function not working
  • DIV instruction jumping to random location?
  • Reading a file into a multidimensional array
  • Object and struct member access and address offset calculation
  • Chart.js Multiple dataset
  • Hardware Accelerated Image Scaling in windows using C++
  • Magento Fatal error: Maximum execution error solution, on WAMP
  • Ajax Loaded meta Tags
  • Xamarin Forms - UWP Fonts
  • Why HTML5 Canvas with a larger size stretch a drawn line?
  • Arrow is showed instead of the material design version hamburger icon. Why doesn't syncState in
  • ActionScript 2 vs ActionScript 3 performance
  • To display the title for the current loaction in map in iphone
  • Arrays break string types in Julia
  • Is there a mandatory requirement to switch app.yaml?
  • Traverse Array and Display in markup
  • File upload with ng-file-upload throwing error
  • ExecuteAsync RestSharp to allow backgroundWorker CancellationPending c#
  • AngularJs get employee from factory
  • How to set the response of a form post action to a iframe source?
  • XCode 8, some methods disappeared ? ex: layoutAttributesClass() -> AnyClass
  • Observable and ngFor in Angular 2
  • How to Embed XSL into XML
  • UserPrincipal.Current returns apppool on IIS
  • Android Heatmap on canvas or ImageView
  • Conditional In-Line CSS for IE and Others?