css3 - Yahoo News Search Results

Account Executive (Tupelo Bureau)

WCBI- TV is seeking an Account Executive Account Executive for the Tupelo Bureau for the development of new business for WCBI (CBS), My Mississippi, North Mississippi CW and WCBI.com and to work with the sales department to achieve goals and strategies set forth by management.

We're hiring!

Looking for a job where you can stretch your creative legs? OnMilwaukee.com is hiring a full-time WordPress developer.

Learn .Net Framework

Learning .Net Framework is a step by step guide/tutorial on .Net Framework, it is aimed at those who are starting or have just started...

Use code DEAL

SAVE 30% - Use code DEAL

Lackawanna County Library System to launch new catalog system

A new digital catalog is coming to the Lackawanna County Library System on March 26. This change will bring convenient new features such as custom user names, simpler searching and a history of material checked out. The new catalog will also include customized lists, where users will have the opportunity to group titles into categories for easy...


recent bookmarks tagged css3


Posted on 3 April 2015


Posted on 2 April 2015

Code | Cipher Trick |

Posted on 1 April 2015


Posted on 1 April 2015

ひし型のサムネイルをCSSでつくる | inkdesign

Posted on 1 April 2015

Redirect | CodyHouse

Posted on 31 March 2015

Where are the trees - CSS tilt-shift effect

Posted on 31 March 2015

Loaders.css – Loaders collection | UICorner-User interface design resources,articles and tutorials

Posted on 30 March 2015


Posted on 29 March 2015


Posted on 26 March 2015

Top Answers About CSS3 on Quora

Top Answers About CSS3 on Quora

Do developers memorize all tags, classes and functions?

When my daughter was 3, she explained to her friends "My Dad is a programmer, he sits at a computer and reads books."

Why would you want to waste brain cells memorizing something you can look up so easily?  The most important ones will stick in your mind because you use them over and over, and the more esoteric ones will remain forever stored on the internet, a quick google (or IDE prompting, or...) away anytime you need them.

See Questions On Quora

Posted on 20 May 2015

I have learned HTML, CSS and CSS3, but I am unable to design a complete webpage. What should I do to learn to use them to build a website?

You have to be aware that HTML/CSS/CSS3 is a Front-end development skill and not web design. Though It's a practical skill to have if you're a web designer because one, you can easily implement your design from your mock-ups/wireframe and two, you know the best practices and limitations of the web.

Like you, I learned HTML right away before learning web design. I also struggled when completing designs so I did my research and found out that I have to start from its very foundation. Graphic Design, and to jump straight to what I think are important to learn if you want to be a web designer are:
  • Typography. You have to learn how to properly choose the right fonts(typefaces). This also includes proper combinations of fonts. You can easily produce beautiful designs if you'll use the right fonts for your project(s). Quick tip. Use 1-2 fonts (maximum of 3 if necessary), I highly recommend as a starter to use families of fonts. I also recommend you to watch Helvetica(documentary).
  • Grid and Layout. This is very much important if you want to achieve organization and balance with your design. Learn a few things about the rule of thirds/golden rule. You will heavily rely on grid more specially in web design, this will also help you create modular designs on the way, aesthetically and front-end coding wise. Famous frameworks like Twitter Bootstrap, Zurb's Foundation, Skeleton and the likes, uses and promotes grids.
  • Color Theory. This part is probably my hardest struggle when I was just starting out. Like you, I immediately learn how to code and without proper knowledge how to use colors, I never was able to produce anything that I'm happy or proud of. Having a solid foundation of how colors work, how and where to use them will help you in the long run. Web design or just even when you just need to produce banners or graphic assets.
Having a solid foundation of those 3 that I mentioned will definitely help you in terms of design.

Sadly, having to design a complete web page doesn't end there. You can't design something if you don't have content. As many people quote and say, "Content is King". It is. You can't layout or do any design without it. It's important to know the content of the page you want to design. Though there are typical design elements and sections that a webpage should have like brand logo, navigation and footer, you still need to figure out your content. If you're struggling to produce a complete web page, maybe because you haven't figured out what and where to put things(content) or simply because you don't have enough content in the first place. One more thing that I highly recommend you to learn if you want to cope with this dilemma is Information Architecture. Basically, it just means organizing content properly.

Here's a list of recommended exercises you can do to improve your skills and get use to it:
- Redesign a web page/site you don't like. Something that looks like it was from the past.
- Design a web page for your favorite brand(s)/celebrity. It could be about your favorite shoes or your favorite band. And yes, I need to stop saying 'favorite'.
- Design a web page for a fictitious product, service or company. Do you have a crazy idea? An app or something that you think that will change the world? Go ahead, create a web page about it.

Lastly, I highly recommend you to immerse and digest design materials. It can be books, articles or just screenshots/images/design studies from Behance and/or Pinterest. This will inspire you and hopefully open your eyes for good design.

Hope this helps :)

Update: Here's an Inspiring person who built 180 websites in 180 days.
180 Websites in 180 Days: How I Learned to Code - Lean In

Another Update: Check out my other answer about learning Web Design Here in Quora.

See Questions On Quora

Posted on 14 April 2015

What technologies does Google use for their own Google Chrome apps?

As far as I heard for many applications they still use something similar to GWT (Google Web Toolkit) that cross compiles Java to JavaScript. That allows them to share code between the browser and Android apps. That combined with their Closure compiler library which is used extensively.
Google Inbox is an example that uses this approach. Here are some links that detail their approach there:
Some internal apps are written in Angular as well (as far as I've read) but not many public ones..

See Questions On Quora

Posted on 7 January 2015

Do developers memorize all tags, classes and functions?

"You don't have to know everything; you just have to know where to find it."
- Nickie Haflinger (as "Sandy Locke"), The Shockwave Rider, John Brunner

No, I don't have all the Java APIs memorized; there are simply too many of them, when you count all the classes in the standard Java class library, as well as all the libraries and frameworks that I commonly use (or are commonly used at IQN), not to mention all the classes specific to FrontOffice that I have to know about.

But this is why I make use of various assistive tools:
  • Autocomplete and pop-up source help within my IDE.  This is one reason why I strive for good JavaDocs on the code I write; the IDE can make use of it and display it.
  • A local copy of the Java library reference, that I can bring up in a browser tab.
  • Links to the online documentation for various libraries, whether they be the Spring framework, Apache Commons, or Google Guava.
  • And, when all else fails, there's always Google. :-)
I have some of it memorized, so that I can perform many simple operations without needing to refer to anything.  But I don't hesitate to look something up when in doubt; a little time spent doing that can save time later in compile/debug cycles.  (I don't make many compiler errors at build time these days...and those that do slip through are usually because I haven't looked hard enough to find them using the IDE tools.)

Hat tip: Daniel Catalan for the A2A.

See Questions On Quora

Posted on 1 December 2014

What are common mistakes user experience designers make?

1. Trying to account for every imaginable use case

One of the most common mistakes I see designers make is not recognizing that trying to account for every single thing that every type of user might want to do isn't always a great approach.

In some ways this seems counterintuitive... Isn't it good to create a design that fits absolutely everyone's needs? In theory, yes. But in practice, this ends up manifesting itself as half your system's functionality only being used by 10% of your users. As a designer, you lose focus on what matters and add complexity that 90% of your users are burdened with (see Microsoft Word).

The way this problem often appears is someone says "Well how does your design handle X user, in Y situation, with Z circumstances" and the designer responds by immediately adding in a feature to account for this, without seriously considering how rare or low impact the use case may be.

The way to avoid this is to be extremely clear with yourself about who your 90% user is and ruthlessly driving the design with them in mind. That's what matters.

2. Overfitting a problem

We can think of the process of designing a product as observing some kind or organizational or human behavior in the real world and building a tool to support, extend, and amplify these behaviors. At a high level, if we can build a product that effectively models and extends the human or organizational behavior, we've built a useful product (this is exactly what many user-centered design methods are meant to support).

Whenever we create model of some behavior (be it statistics or UX design), though, there is always a possibility of overfitting.

Overfitting occurs when a statistical model describes random error or noise instead of the underlying relationship. - Wikipedia

One of the biggest mistakes that UX designers make is not attempting to understand the difference between the random noise and underlying relationships in human and organizational behavior.

If you can design a product that supports just these underlying relationships and solves just the core challenges, you've likely built a very long-lasting, impactful product that will appeal to many people. Products that do this extremely well can transform industries.

3. Only improving a design by making small, careful iterations

The final mistake that I commonly see UX designers make is assuming that making small, careful iterations to a design is always the best way to create the best product. This is often an effect of always AB testing designs and blindly choosing the winner. This approach is similar to hill climbing.

Hill climbing is an iterative algorithm that starts with an arbitrary solution to a problem, then attempts to find a better solution by incrementally changing a single element of the solution. If the change produces a better solution, an incremental change is made to the new solution, repeating until no further improvements can be found.

Hill climbing is good for finding a local optimum (a solution that cannot be improved by considering a neighbouring configuration) but it is not guaranteed to find the best possible solution out of all possible solutions. The characteristic that only local optima are guaranteed can be cured by using restarts. - Wikipedia

As a UX designer, it is your job to recognize the situations when the best approach is to try something entirely different in hopes of finding a dramatically better solution, rather than just optimizing your existing approach.

See Questions On Quora

Posted on 26 October 2014

I have learned HTML, CSS and CSS3, but I am unable to design a complete webpage. What should I do to learn to use them to build a website?

I've struggled with this problem in the past. I considered myself competent in HTML, CSS, and JS but couldn't put those skills to use. So, here are my recommendations:

  1. Subscribe to awesome blogs like CSS Tricks (http://css-tricks.com) where you can learn more cool features and quirks of the languages you love.
  2. Make yourself a CodePen (http://codepen.io) account. You can use any of the big online editors - but I prefer codepen for its shortcuts, interface, and especially community. Browse it often and don't feel bad to look at, modify, play with, and ask questions about other people's code.
  3. Get yourself real code editing software. For larger projects, you want durable but easy to use software. I've seen Dreamweaver mentioned, though it's become somewhat outdated as of late - and it's quite expensive! Plenty of people have pretty strong feelings about the program they use - if you want to hear about more just search for it on Quora. My personal recommendation is Brackets. It's free, open source, updates regularly, and has live preview, a feature I wouldn't do without in any other software.
  4. Practice, practice, practice! Nothing beats this. Make something little on codepen, make something big in brackets, make something in-between with a friend! No matter what you do, you're getting better.

Once you've become proficient in HTML and CSS it's time to move on to more advanced projects. Here's what I'd suggest doing next:
  1. Learn your way around the command line. It should be your best friend. You'll need it, later, for automation and tools like git and node.
  2. Learn git and make a github (http://github.com) account. You'll want it for collaboration and deployment. Don't stress out about git, though - git has a really steep learning curve! Github has a desktop app that does simplify things, and you can use tools like ungit (https://github.com/FredrikNoren/...) to get the basics down.

I wish you all the best on your endeavors with the web. It's tricky to get a website going, and I admire your determination. Good luck, and, more importantly, have fun.

See Questions On Quora

Posted on 15 October 2014

I have learned HTML, CSS and CSS3, but I am unable to design a complete webpage. What should I do to learn to use them to build a website?

This is a complete web page:
<!DOCTYPE html>
<title>This is a webpage</title>
<style type="text/css">
body { font-family: sans-serif; }
a:link, a:visited, a:active { text-decoration: none; }
a:hover { text-decoration: underline; }
<p>This is a web page</p>
<p>Now let's read some more <a href="http://quora.com">Quora</a>.</p>

If you can't build that, you haven't learned HTML or CSS. You've learned some tags and maybe some selectors. It's bringing those together that makes a web page. A website is just a bunch of pages that work together to achieve a particular goal.*

The good news is, learning the basics of web design/development is pretty easy. And there are lots of great online courses. Here is a great, free one that I recommend: http://www.codecademy.com/en/tra...

As Tim Samoff mentions in the comments on my answer, what will probably help bring this all together for you is a better understanding of the CSS Box Model. This link from CSS-Tricks (a great site, BTW) which Tim recommended will serve you well: The CSS Box Model | CSS-Tricks

*I'm oversimplifying. I know that.

See Questions On Quora

Posted on 3 October 2014

Do developers memorize all tags, classes and functions?

Short answer: no.

Longer answer: Many developers I know, including myself, actually have a pretty bad memory and put zero effort into memorizing things like this. Instead, you just keep looking things up until you no longer need to. This takes less time than you think.

Looking things up is actually a skill that you can master, and it gets easier and easier the more things you look up, especially since developer documentation is often organized in a way to facilitate quick lookups.

See Questions On Quora

Posted on 26 August 2014

Do developers memorize all tags, classes and functions?

There are some great answers here and I mostly agree with the suggestion that developers shouldn't memorise every single aspect of a language, but I do believe a little bit of knowledge goes a VERY long way.

When it comes to front-end development things seem to be changing very quickly, so it makes memorising all tags, apis and methods an impossible task. A front-end developer doesn't get the privilege like a C developer with a stable API.

You should have a basic understanding of certain aspects of the languages you will need to be successful in your job. I am a front-end developer myself so this is my opinion and targeted at front-end development.


  • You should know the basic tags you'll be using on a daily basis and which to use over what like; div, p, h1, h2, h3, h4, h5, h6, span, strong, em, table.
  • You should be aware of which elements support what attributes and in which browsers said attributes will work in and what values are supported.
  • You should be aware of HTML5 elements like; section, aside, article, main, header and footer and when to use them, how they can be used with one another and their respective quirks/browser support.
  • Leading on from the last point you should also be aware of elements like; video, audio and canvas as well as what browsers support what.
  • You should know how to write the HTML5 doctype
  • You should know how to write a script tag for inline Javascript and including a script file
  • You should be aware of the meta viewport tag and what it does (especially for responsive development)
  • You should know basic meta tags like description, author.


  • Know the basics like being able to change a font size, colour, margin and padding, width, etc.
  • Know how to float an element using float left or right. As well as knowing how to clear a float.
  • Being aware of the before and after pseudo selectors.
  • Having a basic understanding of what browsers support what particular values and declarations. You should also know some vendor prefixes for common CSS3 properties.
  • You should know to check caniuse.com when you want to see what browsers support what CSS3 values.
  • You should know the difference between; px, em, rem and %.
  • You should know how to write a basic media query without looking it up


  • You should know how to query an element by its id without relying on jQuery or any library.
  • You should know basic methods like; indexOf, replace, push, join. As well as functions for doing basic math and working with time.
  • You should know how to write a for loop. And ideally know to write a while loop and iterate objects and arrays.
  • You should know that global variables and window properties collide.
  • You should know what closures are and how and when to use them.
  • Javascript events without a library
  • Finally: know jQuery methods, especially the longhand syntax for doing an Ajax request.

See Questions On Quora

Posted on 19 August 2014

How do I use my knowledge of HTML and CSS to create my own website?

You should check out our new book (https://www.bloc.io/build-your-f...) about building your first site using HTML and CSS — outside of the browser. It walks you through how to build a simple site using a text editor and deploying it to Github Pages. You can use the same workflow in building out other projects as well.

If you have any other questions, feel free to reach out. And if you want to build on those skills you've gotten from Codecademy, you should check out our programs at Bloc (http://www.bloc.io).

See Questions On Quora

Posted on 21 July 2014

What is the best framework for creating mobile apps with HTML, CSS, and JavaScript?

AngularJS + Ionic Framework + Cordova/Phonegap = a tech stack for building HTML, CSS, JS native apps with native like performance.

If you're able to control the design process, we've found the above tech stack extremely light weight, yet powerful for building some pretty complex apps. Phonegap API now integrates with pretty much everything you'd need for building a native app: http://docs.phonegap.com/en/1.2.0/

Here's an example of a somewhat more simple app built using the above stack - note how fast it is (there is an android version too): https://itunes.apple.com/us/app/...

UPDATE (May 2015): Ionic now also offer a free push notification platform with simple integration setup. They also offer app analytics all tracked and viewed via your Ionic account. There's also the extremely useful Ionic View App: http://view.ionic.io/ which can be used to quickly test your app on iOS or Android without building your app with certificates etc. Easy!

See Questions On Quora

Posted on 8 July 2014

Do developers memorize all tags, classes and functions?

I started to learn programming 8 years ago. I am now a software developer in C++ and I do at a professional level for 3 years.

Few days ago I just Google'd "printf format specifiers" (can't use streams, don't ask, long story) to see how the hell I can put some numbers in a string. Even though I did it countless times during my life. Is like one of the first things you learn in C.
I also forget the name of classes or services I use almost daily. Or my source control password. I forget what kind of algorithms STL provides or commonly used commands.

Really, I am just plain bad when it comes to memorizing. But I don't consider myself a bad developer because of this. Part of my bad memory is also because I don't actually try to memorize those. I prefer to memorize things that actually improve the quality of my work.

Sure, you'll get used and learn some of the syntax you use, but even if you forget or can't remember some, just find it. Look in the documentation or whatever. So if I were you I would not worry a single second about memorizing stuff. Worry about understanding.

See Questions On Quora

Posted on 5 June 2014

Why are div elements not implied?

HTML has been evolving over a very long time.

Initially HTML was just a way to mark up normal text ("this text is bold", "this text is italic", "this is a hyperlink to another document with text"). Then it started getting more visual structure (images, tables, etc) which led to a bunch of new elements.

Eventually people were designing their web pages by creating tables to lay out content, similar to news papers etc. To accommodate people in styling their web pages beyond hacking with tables and images, CSS was created, which let people add a lot of variation to elements beyond what was allowed through attributes (which at the time was the only way to control appearance).

Once CSS (along with the style and class attributes) was introduced, there was for the first time a use case for generic elements that didn't have a pre-defined look. This is when <span> and <div> (division) were introduced. Their only purpose was to have CSS styles applied to them, with one being for inline text, and the other being for block content. Back then, <div> was a very powerful element.

Once HTML 5 was being drafted, web developers began demanding more semantic ways to mark up their content. Elements like <section> popped up, and <div> was no longer very important.

Today the web world is very different from what it was. People barely even know about the <center> element, or the bgcolor attribute anymore. But for the sake of backwards compatibility they still exist. And so does <div>, even if it isn't really needed anymore.

If you want to write really semantic HTML, you can use a lot of the new HTML 5 elements (there's <nav>, <section>, <article>, <header>, <footer>, <aside>, and more) instead of putting CSS classes on <div>s. And if that doesn't work, Custom Elements are really starting to take off, and are practically the answer to your <hero-img> element.

See Questions On Quora

Posted on 24 April 2014

Do developers memorize all tags, classes and functions?

Just as with a natural language, you have an active and a passive vocabulary with a development language. That active vocabulary is a collection of keywords which you use daily, and understand fluently. The passive vocabulary is a set of keywords which you recognize, but may not think of immediately.

For HTML, you should have an active vocabulary of about 20 - 30 elements. Look over web pages on just about any web site (including Quora) and you'll find the same 30ish HTML elements; <body>, <div>, <p>, <ul>, etc. These you should know well.

Your active vocabulary are those HTML tags that you've read about - from a book or a blog. It's ok that you don't know the half-a-dozen different elements that exist for a <table>. but if you see a <colgroup>, it should seem familiar to you.

Your goals in growing as a front-end developer are three fold:
  1. Develop a core 'active vocabulary' of words and concepts which you grasp fluidly
  2. Develop a wider 'passive vocabulary' of words and concepts with which you are familiar
  3. Shift "passive vocabulary" items into your active vocabulary after you learn new concepts.
in HTML, learn the key elements to build a web page, but start learning form attributes. Once you know all of the ins and outs of an HTML5 form, repeat the process with tables.

In CSS, learn the properties and values needed to produce a basic layout. Become familiar with background images and borders. Learn backgrounds and borders fluidly while you're picking up CSS3 effects. Master the CSS3 effects while you learn animations.

In JavaScript, start with jQuery. Learn about 30 or so methods: hide, show, toggle, parent(), child, find, etc. Once you can select things, learn Ajax. Once you're good with Ajax, learn vanilla JavaScript.

There's never a point at which you learn "everything" in a development language. But there is a point in which you answer more questions than you ask.

See Questions On Quora

Posted on 19 March 2014

Do developers memorize all tags, classes and functions?

  1. Find a project worth doing
  2. Work on the project until you don't know something
  3. Look up that thing you don't know
  4. Continue doing the project

This involves no explicit memorization, yet you will end up memorizing the things that you use the most. With each successive iteration of this process you will find that you need to look up less and less. However, you will always need to look up something.

Being able to quickly find answers to the questions you don't know is by far the most important skill you could develop on the path to becoming a great programmer. This will stick with you your whole career and is one of the most widely applicable skills that you will learn.

See Questions On Quora

Posted on 18 March 2014

Do developers memorize all tags, classes and functions?

I personally like to put in my own classes. I use things like "contain" (max-width container), "halfer" (50% column), and "cta" (colorful button) in almost all my projects. This is because I don't really like other people's classes and I hate when they use underscores (because they require a shift button! dash is better).

With that said, if you use a framework like Bootstrap a lot, then it's worth remembering the important classes. I imagine that 20% of the classes and tags available account for about 80% of your usage (pareto's principle). Same with basic HTML. We all know <p> and <h2>, but could you use <video>, with all necessary file types, without looking? Probably not, but then again, you rarely need to use the <video> tag, so it's not worth remembering. Just Google it once in a blue moon when you need it.

See Questions On Quora

Posted on 18 March 2014

Do developers memorize all tags, classes and functions?

You should know them all enough that you can recognize what you would need in a given situation. From there, you can Google the tag or property name.

It's a lot like high school physics. Memorizing the formulas is great, but what's really important is being able to recognize, "oh, this system conserves angular momentum," then Googling the moment of inertia of whatever shape you have. If you do remember that solid spheres that I = 2/5 mr^2, then you can do it more quickly.

See Questions On Quora

Posted on 17 March 2014

What are 5 essential skills every Web Developer should have?

The idea here is that most of us should already know most of what is on this list. But there just might be one or two items you haven't really looked into before, don't fully understand, or maybe never even heard of.

Interface and User Experience
  • Be aware that browsers implement standards inconsistently and make sure your site works reasonably well across all major browsers. At a minimum test against a recent Gecko engine (Firefox), a WebKit engine (Safari and some mobile browsers), Chrome, your supported IE browsers (take advantage of the Application Compatibility VPC Images), and Opera. Also consider how browsers render your site in different operating systems.
  • Consider how people might use the site other than from the major browsers: cell phones, screen readers and search engines, for example. — Some accessibility info: WAI and Section508, Mobile development: MobiForge.
  • Staging: How to deploy updates without affecting your users. Have one or more test or staging environments available to implement changes to architecture, code or sweeping content and ensure that they can be deployed in a controlled way without breaking anything. Have an automated way of then deploying approved changes to the live site. This is most effectively implemented in conjunction with the use of a version control system (CVS, Subversion, etc.) and an automated build mechanism (Ant, NAnt, etc.).
  • Don't display unfriendly errors directly to the user.
  • Don't put users' email addresses in plain text as they will get spammed to death.
  • Add the attribute rel="nofollow" to user-generated links to avoid spam.
  • Build well-considered limits into your site - This also belongs under Security.
  • Learn how to do progressive enhancement.
  • Redirect after a POST if that POST was successful, to prevent a refresh from submitting again.
  • Don't forget to take accessibility into account. It's always a good idea and in certain circumstances it's alegal requirement. WAI-ARIA and WCAG 2 are good resources in this area.
  • Don't make me think


  • Implement caching if necessary, understand and use HTTP caching properly as well as HTML5 Manifest.
  • Optimize images - don't use a 20 KB image for a repeating background.
  • Learn how to gzip/deflate content (deflate is better).
  • Combine/concatenate multiple stylesheets or multiple script files to reduce number of browser connections and improve gzip ability to compress duplications between files.
  • Take a look at the Yahoo Exceptional Performance site, lots of great guidelines, including improving front-end performance and their YSlow tool (requires Firefox, Safari, Chrome or Opera). Also, Google page speed (use with browser extension) is another tool for performance profiling, and it optimizes your images too.
  • Use CSS Image Sprites for small related images like toolbars (see the "minimize HTTP requests" point)
  • Busy web sites should consider splitting components across domains. Specifically...
  • Static content (i.e. images, CSS, JavaScript, and generally content that doesn't need access to cookies) should go in a separate domain that does not use cookies, because all cookies for a domain and its subdomains are sent with every request to the domain and its subdomains. One good option here is to use a Content Delivery Network (CDN).
  • Minimize the total number of HTTP requests required for a browser to render the page.
  • Utilize Google Closure Compiler for JavaScript and other minification tools.
  • Make sure there’s a favicon.ico file in the root of the site, i.e. /favicon.ico. Browsers will automatically request it, even if the icon isn’t mentioned in the HTML at all. If you don’t have a/favicon.ico, this will result in a lot of 404s, draining your server’s bandwidth.

SEO (Search Engine Optimization)
  • Use "search engine friendly" URLs, i.e. use Page on example.com instead Page on ofexample.com
  • When using # for dynamic content change the # to #! and then on the server$_REQUEST["_escaped_fragment_"] is what googlebot uses instead of #!. In other words,./#!page=1 becomes ./?_escaped_fragments_=page=1. Also, for users that may be using FF.b4 or Chromium, history.pushState({"foo":"bar"}, "About", "./?page=1"); Is a great command. So even though the address bar has changed the page does not reload. This allows you to use ? instead of #! to keep dynamic content and also tell the server when you email the link that we are after this page, and the AJAX does not need to make another extra request.
  • Don't use links that say "click here". You're wasting an SEO opportunity and it makes things harder for people with screen readers.
  • Have an XML sitemap, preferably in the default location /sitemap.xml.
  • Use <link rel="canonical" ... /> when you have multiple URLs that point to the same content, this issue can also be addressed from Google Webmaster Tools.
  • Use Google Webmaster Tools and Bing Webmaster Tools.
  • Install Google Analytics right at the start (or an open source analysis tool like Piwik).
  • Know how robots.txt and search engine spiders work.
  • Redirect requests (using 301 Moved Permanently) asking for www.Example Domain to Example Domain(or the other way round) to prevent splitting the google ranking between both sites.
  • Know that there can be badly-behaved spiders out there.
  • If you have non-text content look into Google's sitemap extensions for video etc. There is some good information about this in Tim Farley's answer.

  • Understand HTTP and things like GET, POST, sessions, cookies, and what it means to be "stateless".
  • Write your XHTML/HTML and CSS according to the W3C specifications and make sure they validate. The goal here is to avoid browser quirks modes and as a bonus make it much easier to work with non-standard browsers like screen readers and mobile devices.
  • Understand how JavaScript is processed in the browser.
  • Understand how JavaScript, style sheets, and other resources used by your page are loaded and consider their impact on perceived performance. It is now widely regarded as appropriate to move scripts to the bottom of your pages with exceptions typically being things like analytics apps or HTML5 shims.
  • Understand how the JavaScript sandbox works, especially if you intend to use iframes.
  • Be aware that JavaScript can and will be disabled, and that AJAX is therefore an extension, not a baseline. Even if most normal users leave it on now, remember that NoScript is becoming more popular, mobile devices may not work as expected, and Google won't run most of your JavaScript when indexing the site.
  • Learn the difference between 301 and 302 redirects (this is also an SEO issue).
  • Learn as much as you possibly can about your deployment platform.
  • Consider using a Reset Style Sheet or normalize.css.
  • Consider JavaScript frameworks (such as jQuery, MooTools, Prototype, Dojo or YUI 3), which will hide a lot of the browser differences when using JavaScript for DOM manipulation.
  • Taking perceived performance and JS frameworks together, consider using a service such as theGoogle Libraries API to load frameworks so that a browser can use a copy of the framework it has already cached rather than downloading a duplicate copy from your site.
  • Don't reinvent the wheel. Before doing ANYTHING search for a component or example on how to do it. There is a 99% chance that someone has done it and released an OSS version of the code.
  • On the flipside of that, don't start with 20 libraries before you've even decided what your needs are. Particularly on the client-side web where it's almost always ultimately more important to keep things lightweight, fast, and flexible.

Bug fixing
  • Understand you'll spend 20% of your time coding and 80% of it maintaining, so code accordingly.
  • Set up a good error reporting solution.
  • Have a system for people to contact you with suggestions and criticisms.
  • Document how the application works for future support staff and people performing maintenance.
  • Make frequent backups! (And make sure those backups are functional) Ed Lucas's answer has some advice. Have a restore strategy, not just a backup strategy.
  • Use a version control system to store your files, such as Subversion, Mercurial or Git.
  • Don't forget to do your Acceptance Testing. Frameworks like Selenium can help.
  • Make sure you have sufficient logging in place using frameworks such as log4j, log4net or log4r. If something goes wrong on your live site, you'll need a way of finding out what.
  • When logging make sure you capture both handled exceptions, and unhandled exceptions. Report/analyse the log output, as it'll show you where the key issues are in your site.
Lots of stuff omitted not necessarily because they're not useful answers, but because they're either too detailed, out of scope, or go a bit too far for someone looking to get an overview of the things they should know. Please feel free to edit this as well, I probably missed some stuff or made some mistakes.

Resource>> What technical details should a programmer of a web application consider before making the site public?

See Questions On Quora

Posted on 26 January 2014

What types of questions are asked in front-end developer interviews?

Web performance is hugely important and most of the interviews I've been in and given as a front end developer have included it. Being able to write code isn't enough; successful interview candidates must also show that they can write good and fast code.

If someone wants to be considered for a web development job, they need to be prepared to demonstrate that they won't screw up the existing site by slowing it down.

Performance debugging is a very important skill. Take a look at some of the sites people are testing on WebPagetest. Being able to interpret those results and come up with a list of optimizations that can be made would be a great way to strengthen performance skills. Take it a step further and consider the code that went into the performance problems in the first place. What went wrong? How could it be prevented and fixed? Take this hypothetical example:

A dozen megabyte images are downloaded early in the page load.

How can it be made faster?
  • the images ought to be compressed
  • maybe they would be smaller in a different format (JPEG?)
  • load only the visible images first, then lazy load the rest

How can you make sure that it doesn't happen again?
  • there should be an automated system to compress images before deploying
  • there should be a way to measure real users' page load time, so this problem can be detected

Image optimization, delay loading, performance monitoring and testing are just a few important areas of web performance that you may be asked about in an interview. Get familiar with what is slowing down sites and learn about how to fix the problems.

See Questions On Quora

Posted on 25 January 2014

What are some beginner mistakes people make with CSS?

I've spent quite a bit of time writing CSS (since I was 9 or 10 really!). Here are some of the things I've learned.

  • Don't forget to deal with browser incompatibilities. Use Browsershots to help with visualizing your site in other browsers.
  • Normalize your CSS using a reset document (different browsers define different default styles)
  • Make sure you program for various resolutions. Figure out a max resolution and a min resolution for your page. Work on making it fluid so it looks nice. Try and look into providing a mobile version of your site (in most cases, it involves a really strong fluid website that ignores certain parts of the page -- look at how Wikipedia, the free encyclopedia works.)
  • Don't be overly specific with your selectors. CSS selectors obey a hierarchy:
    1. global selector
    2. tag selector
      , ...
    3. class selector
    4. id selector
    Each one going down the list gets more and more specific. You should not combine them in a single selector for a single html element such as
    . There is no point. It can be inefficient. Just write them as specific as you need them.
  • Combine properties! There are lots of ways to shorten your CSS code such as writing
    : (
    ) (
    ) (
    ) (
    instead of just
    : (
    : (
    : (
    : (
    . The same is said for border, padding, background, font, and so on.
  • Use a freaking CSS framework. You may be used to python or ruby or some other language where you build the tools you need because there's a lot more you can do outside of a framework. CSS doesn't have that. There's nothing new in CSS that someone else hasn't already done. Just pick a damn framework and use it to make it easier on you.
  • 0 is 0px is 0em is 0in. Whenever you specify something as 0, that's it. Who cares what units you're working in?
  • Make sure your HTML is valid. Why would you paint a shitty building that's falling apart? Fix it up first, THEN paint it. While you're at it, validate your CSS.
  • Use hexadecimals or rgb(r,g,b) declarations - not word names. This is like normalizing CSS - different browsers have different standards.
  • NEVER USE INLINE CSS. Part of the reason is KISS. Keep It Simple Stupid. An HTML page should contain all the necessary HTML you need to build your page without any css or javascript. Then load in your javascript for events and actions and interactivity, and your css to make it look nice. The benefit is that someone new to programming your site can figure out where everything is, because you've separated everything akin to an MVC layout.

See Questions On Quora

Posted on 19 January 2014

Where can I practice my HTML, CSS, and JavaScript?

I really recommend finding sites you like and reverse-engineering them. In other words, open up the website in a browser, but pretend what you see is a PSD you're going to code into HTML/CSS.

By learning this way, there are unlimited options to code from, you can try your hand at websites built by the best developers in the industry, and there's no pressure to do anything perfectly. Plus, if you get stuck, you can always "inspect element" and see how the developer actually did it.

It's really the only way I gained experience before doing actual client work.

Start with simple portfolio sites you like--something like, say,http://jonchretien.com and work your way up to more complicated sites you like.

As you're progressing, just keep an eye out for websites with features/techniques (responsive web design, animations, jquery animations, CSS3 effects, etc) you're trying to learn and build the whole thing. That way you'll get a feel for how those features should fit into your overall workflow.

Short tutorials are good for learning principles, but building sites from start to finish is what really solidified my knowledge.


In Firefox, if you right click on a website and click "view page info", click on the "media" tab, and you can select all of the images used in the design and download them. So, when you're reverse engineering the site locally, you can use the same media that was used to build the original website.

Get the "Colorpeek" chrome plugin. It'll scan an entire website and grab all the colors used in it, and spit out the hex/rgb codes for each. it's super handy, along with a liveReload plugin, and the Web Developer tools plugin.

*It should go without saying, don't pass off the designs as your own. This is just for practice.

See Questions On Quora

Posted on 2 December 2013

What are the best video courses online (free or paid) to learn how to become a better web designer (HTML, CSS, Photoshop) after the basics?

Posted on 18 October 2013

What are the best video courses online (free or paid) to learn how to become a better web designer (HTML, CSS, Photoshop) after the basics?

Make Money With Photoshop

This is a fantastic course! The instructor has a great manner and he makes the   material easy to understand. In this course you'll learn everything you need to know about Photoshop and how to use it to create amazing website designs. I love this course because the videos are short and due to time constraints or distractions. I can learn or review any part of this course at any time. Highly recommended.

See Questions On Quora

Posted on 18 October 2013

What are 5 essential skills every Web Developer should have?

  1. Be an egoless programmer. Remember that you are not your code. The only way to improve is to be open to feedback from others and give honest, non-judgemental feedback to others.
  2. Be a team player. Building software is a team sport. You don’t “own” your parts of the code. Instead, your job is to make sure the whole package works as expected. Don’t be a typical “well, it works on my machine” guy. It has to work on users machines.
  3. Be a learner. Technology is changing fast. What was hot 5 years ago is no longer the best—stuff that’s relevant today didn’t even exist 5 years ago. You have to constantly learn new things (e.g. languages, libraries, patterns).
  4. Be a T-shaped person. Specialize in one narrow field and have a general understanding of a broader range of technologies. This makes you a very valuable asset within any organisation.
  5. Be relentlessly resourceful. Become a go-to person that can solve any problem. You don’t have to be able to solve every problem yourself, but you always know where to go to find the answer.

    As in Why no one is looking for ‘rockstar programmers’ stop believing in the Ninja/Rockstar myth.

See Questions On Quora

Posted on 2 October 2013

Is it possible to get a job as a Web developer with only a knowledge of HTML and CSS and no JavaScript?

Yes, it is possible, but very difficult. I have spent the last five years as a professional web developer in a variety of roles and I know no JavaScript of any real-world use.

I’ve been sure to specialise very heavily in one key area of HTML and CSS so that I am of use to larger organisations who can afford having such a tight level of expertise. I specialise in scalable CSS, front-end development process, working on big sites in big teams, CSS architecture, etc, etc. I have achieved great success in doing this; high responsibility jobs, international speaking engagements, a generous online following (site readers, Twitter followers and the like), awards and award nominations and more. This is all because of specialising heavily in one key area. You can actually be very successful by knowing a lot about one specific field, but you have to know a lot.

The short answer is: yes, it is possible, but you have to make sure you’re very good at one specific thing.

EDIT: I’d like to make a quick edit; reading this back makes me sound very boastful, which I really don't mean to be. The point I am making is that I have specialised so heavily that it had made me relatively well known in the field. I am that specialised that I have managed to make a name for myself in this very specific area. These are the levels of specialism we are dealing with, which I feel may not be easily replicable or even viable for others. I hope that clears things up a little.

See Questions On Quora

Posted on 16 September 2013

What are some of the neatest CSS tricks you have encountered?

Hmmmm, well your question doesn't specify whether CSS or CSS3, so I'm just going to pick the latter....

Recently, a lot of designers are using animations to create full site fade-ins without using Javascript. Some are even using CSS3 coupled with Javascript to create more interactive dropdown menus.

Here's my list of some nifty CSS3 tricks
Some sites that have utilized some good CSS3 tricks:

See Questions On Quora

Posted on 10 September 2013

How can someone be a better Front-end Developer?

I think you should go for these steps for learning
  1. Learn HTML5
  2. Learn CSS (Get good grip on it)
  3. Learn Cross Browser issues and fixes
  4. Learn JavaScript first and then JQuery
  5. Learn popular frameworks like Bootstrap/ 960grid (still old but useful)
  6. Watch for latest trends in front end like Parallax scrolling/ Responsive designs etc...

Next step is to speed up your coding so for that
  1. Use Less or SASS (I use LESS)
  2. Use EMMET or any other short hand coding styles
  3. Use good editor like Sublime Text

Also subscribe to good blogs like Codrops and few others like CSS-Tricks and subscribe to Tuts+

See Questions On Quora

Posted on 19 August 2013

What is the best method for adding 2x images to webpages that will be displayed on the new iPad with Retina graphics?

Making your app ready for Retina displays doesn’t have to be a hassle. Whether you are building a new app or upgrade an existing one, this guide is designed to help you get the job done smoothly.

Make it Retina first

The easiest and most time-saving way to add retina support is to create one image that is optimized for retina devices and serve it to non-retina devices as well.

By now every modern browser uses bicubic resampling and does a great job with downsampling images. Here is a comparison of downsampling in Photoshop vs Google Chrome using an image from our Growth Engineering 101 website.

There are two ways to let the browser downsample images for you. Using img tags and using CSS background images.

If you have img tags serve the retina optimized image and set the width and height attributes to half of the resolution of the actual image (e.g. 400x300 if the image dimensions are 800x600).

<img src=”http://www.example.com/retina-image-800x600-2x.png” width=”400” height=”300”>

If you use images as CSS background you can use the background-size property of CSS3 to downsample the image for non-retina devices.

<div class=”photo”></div>

.photo {     background-image: url(retina-image-800x600-2x.png);     background-size: 400px 300px;     background-repeat: no-repeat;     display: block;     width: 400px;     height: 300px; }

In both cases make sure to use even numbers in both dimensions to prevent displacement of pixels when the image is being downsampled by the browser.
When downsampling is not good enough
Usually browser downsampling should work very well. That said there are some situations where downsampling in the browser might make images blurry.

Here we have a bunch of 32x32 px social icons.
And here is how they look like downsampled to 16x16px by Photoshop’s as well as Google Chrome’s bicubic filter. It seems like we get better results from Photoshop in this case.

To get the best results for our users we can create two versions of the same image. One for retina devices and another one downsampled by photoshop for non-retina devices.

Now you can use a CSS media query to serve retina or non-retina images depending on the pixel density of the device.

/* CSS for devices with normal screens */ .icons {     background-image: url(icon-sprite.png);     background-repeat: no-repeat; } /* CSS for high-resolution devices */ @media only screen and (-Webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min-device-pixel-ratio: 1.5) {     .icons {         background-image: url(icon-sprite-2x.png);         background-size: 200px 100px;         background-repeat: no-repeat;     } }

If you use a background color for small icons on the other hand, downsampling by the browser works pretty well. This is the same downsampling example with white background.

Polishing your Downsampled Images

If you’re still not satisfied with the results from Photoshop’s downsampling you can go the extra mile and hand-optimize the non-retina version to get super crisp results.

Below are some examples of images from the Blossom product website that I hand-optimized for people on non-retina devices.

Borders & Strokes

Here is an example of downsampling issues with hairlines where I re-draw the lines of the downsampled image.
View the Retina Version of this Image on Dribbble.
Here is an example of downsampling issues with text. In this case I manually re-wrote the text “Feature Pipeline” to get to a crisp result.

The Image above is the Retina Version

When details, crisp fonts and clean hairlines are important you might want to go the extra mile.

Try to avoid Images

The main disadvantages of rasterized images are their big file size and that they don’t scale well to different sizes without affecting the image quality. Great alternatives to rasterized graphics are CSS, Scalable Vector Graphics (SVG) and Icon Fonts.

If you have any chance to build graphical elements of your app in CSS go for it. You can use it to add gradients, borders, rounded corners, shadows, arrows, rotate elements and much more.

Here are a few examples of interaction elements in Blossom that are implemented in CSS. The subtle gradient is powered by CSS gradients and the custom font in use on this button is Kievit served via Typekit. No images.
In the following screenshot the only two images used are the user avatar and the blue stamp. Everything else – the circled question mark, the dark grey arrow next to it, the popover, its shadow and the arrow on top of it are all pure HTML and CSS.

Here you can see how projects in Blossom look like. It’s a screenshot of a project’s website used as cover on a stack of paper sheets. The paper sheets are implemented with divs that are rotated using CSS.

Also the circled arrow in the righthand side of the screenshot below is pure CSS.

Here are some awesome tools that can help you to save time when you are creating effects using CSS.

CSS Generator:
Cross browser CSS3 syntax by @RandyJensen.
CSS3Generator by @RandyJensen

CSS Arrows:
CSS for tooltip arrows by @ShojBerg.

Generating CSS for Sprites:
Sprite Cow helps you get the background-position, width and height of sprites within a spritesheet as a nice bit of copyable css. It’s built by TheTeam and it’s a real time saver and definitely worth giving a try.
Generate CSS for sprite sheets

The main advantage of SVG is that unlike rasterized graphics they scale reasonably well to various sizes. If you have simple shapes they usually are also way smaller than PNGs and are often used for things like charts.

Icon Fonts are often used as a replacement for image sprites. Similar to SVG they can be scaled up infinitely without any loss of quality and are usually smaller in size compared to image sprites. On top of that you can use CSS to change their size, color and even add effects like shadows.
Both SVG and Icon Fonts are well supported by modern browsers.

Retina ready Favicons

Favicons are really important for users who want to have an overview about which app belongs to which browser tab. A Retina ready Favicon will not only be easier to identify but also stand out among a crowd of Favicons that are not optimized for high resolution devices yet.

To make your Favicon Retina ready I can highly recommend X-Icon Editor. You can either upload a single image and let the editor resize it for different dimensions or you can upload separate images optimized for each size to get the best results.

How to make existing Images Retina ready

If you want to upgrade an app with existing images it is a bit more work as you need to re-create all images to make them Retina ready but this doesn’t need to be super hard.

First of all try to identify images that you can avoid by using alternatives like CSS, SVG and Image Fonts as mentioned previously. Buttons, Icons and other common UI widgets usually can be replaced with modern solutions that don’t require any images.

In case you actually need to re-create rasterized images you need to go back to your source files. As you might assume, simply resizing your rasterized bitmap images twice as big doesn’t get the job done because all the details and borders get pixelated.

But no need to despair – image compositions which mostly contain vectors i.e. in Adobe Photoshop or Illustrator are quite easy to scale up. That said don’t forget to check if your Photoshop effects in the blending options such as strokes, shadows and bevels still look as intended.

In general, making most Photoshop Compositions directly out of vectors (shapes) and Photoshop’s Smart Objects will save you a lot of time in the future.

How to optimize the File Size of Images
Last but not least optimizing the file size of all images in an application or website could effectively save up to 90% of image loading times. When it comes to retina images, the file size reduction gets even more important as they have a higher pixel density which also increases their file size.

In Photoshop you can optimize the image filesize via the “Save for Web” feature. On top of that there is an amazing free tool called ImageAlpha, which can reduce the filesize of your images even more with just a minor loss of quality.

Unlike with Photoshop you can use ImageApha to convert 24-bit alpha channel PNGs to 8-bit PNGs with alpha channel support. The icing on the cake is that these optimized images are cross-browser compatible and even work for IE6.
You can play around with different settings in ImageAlpha to get the right trade-off between quality and file-size. In the case below we can reduce the file size by almost 80%.

When you are done setting your desired compression levels ImageAlpha’s save dialog also offers you to “Optimize with ImageOptim” - another awesome free tool.

ImageOptim automatically picks the best compression options for your image and removes unnecessary meta information and color profiles. In the case of our stamp file ImageOptim was able to reduce our file size by another 34%.

After we’ve updated all assets of Blossom for high resolution displays and used ImageAlpha & ImageOptim to optimize the file size we actually ended up saving a few kb in comparison to the assets we had before.

Save Time, read this Book

If you want to learn more about how to get your apps ready for retina displays I can highly recommend "Retinafy your web sites & apps" by Thomas Fuchs. It’s a straightforward step by step guide which saved me a lot of time and nerves

Awesome Retina Ready Sites on the Web
Chat and Tasks for Teams
Simple version control for designers
Panic - Shockingly Good Software.

You can find the Blog Version of this Post here:

See Questions On Quora

Posted on 8 May 2013

Which tools and services do you use in your work?

In Bufys.com we use:

Code and Development:
Sublime - The text editor you'll fall in love with
Sass - Syntactically Awesome Stylesheets
Compass - Compass Documentation
Ruby on Rails
Chrome Browser
BrowserStack - Cross Browser Testing Tool

Pivotaltracker - Excellent to track development. Not that good for company wide processes.
HubFlow: GitFlow For GitHub - Excellent adaptation of GitFlow.

Hosting etc:
GoDaddy - DNS
Amazon S3 - For static assets

Mixpanel -  Just awesome
Google Analytics - Complement to Mixpanel.
Google Webmaster Tools - SEO and site Health


AirDrop (MacOS)

Useful Heroku Addons:
Airbrake - Error notification
PubNub - Push notifications
Papertrail - Logging
SendGrid - Mailing
New Relic - Performance Reporting

Useful Rails Gems:
asset_sync - Serve assets outside of your app (less requests)
awesome_print - Amazing for inspecting elements
Haml - Forget outdated Html sintax
sitemap_generator - Automatic and sustainable sitemap generation

See Questions On Quora

Posted on 5 May 2013

What types of questions are asked in front-end developer interviews?

Here are some of the questions that I was asked:

  • explains CSS box model and list them in order (inside out or outside in)
  • difference between events DOMContentLoaded and window.onload
  • where can you put your javascript script tags and why?
  • why do you use ul tags over any other tags like div for menu
  • what are some HTML5 new tags?
  • semantic HTML
  • explain CSS position property, its values and what is each of it relative to? ( common front-end interview question)
  • how do you get DOM elements using pure JS and are those supported by IE
  • how do you stop a form from getting submitted?
  • how do you reduce the load time of images? (CSS sprites)

See Questions On Quora

Posted on 5 May 2013

Which tools and services do you use in your work?

to name a few...

EDIT (MAY 17, 2014): Recently I made drastic changes to my front-end workflow. I no longer use Sublime Text. I went for the IDE route with WebStorm. It's just feels way better when you're punching tons of javascript. Also I no longer use CodeKit. All my task running needs are now covered by Gulp.js.

See Questions On Quora

Posted on 4 May 2013

How does the Google Chrome Harlem Shake code work?

In non-technical terms, the code snippet above does the following:

1) Finds "large" content on the page. This can be a box containing text, or larger images, anything that is actually visible. Note that most web pages have a lot of elements defined in code, but not very visible (if at all) on the page.

2) For each element, it assignes a specific "class name". This allows the script to identify the elements at any point.

3) It loads the audio file from http://s3.amazonaws.com/moovweb-...

4) It loads a CSS file from http://s3.amazonaws.com/moovweb-.... The CSS file defines how the elements "shake", for how long and other similar properties. The CSS file actually uses the "class names" defined before to identify the larger blocks on the web page, for full effect.

The author must have used a code minifier just to make it easier for everyone to use (Online YUI Compressor is an example). I used an Online JavaScript beautifier to reformat the code and it's pretty easy to see what's going on for technical people/programmers, even if functions and variables have been renamed to only be one character in length: ClaudiuC/Chrome Harlem Shake.

Edit: This wouldn't really be possible without HTML5's audio standard and CSS3 animations.

See Questions On Quora

Posted on 18 February 2013

Is Angular.js or Ember.js the better choice for JavaScript frameworks?

I wrote the scaffold generator for AngularJS  angularjs_scaffold. Here is why I love AngularJS.

It is true that AngularJS started as a research project because for the last couple of years, lots of JS frameworks have been developed so the guys at Google wondered whether maybe there could be some boilerplate that could be directly implemented in the browser instead. Since then, the AngularJS team has been working hard to make that happen, here's what's coming to both AngularJS and your browser.

As Tom Dale mentions, both EmberJS and AngularJS are great. In fact, I was planning on using EmberJS before because I trusted Yehuda for his work on rails and jquery. But the API (and the name :) ) kept changing all the time and the total lack of documentation made it hard to dedicate some time to it. So I just kept postponing using it. Then I stumbled upon AngularJS and fell in love with it.

Like Tom says, EmberJS is inspired by Cocoa and Rails and it shows. The problem is that doesn't really feel like writing a web app, it's like a bunch of concepts were thrown at EmberJS because they worked on iOS and Rails. With AngularJS, it really feels like writing a web app, it really espouses all the web concepts and extends HTML in a way that just feels natural. In fact, AngularJS doesn't uses its own objects or overwrites JS methods, when you use AngularJS you use pure JS and many of the concepts that AngularJS implements will be coming straight to the next versions of Javascript. When you learn AngularJS, you learn the future of Javascript, when you learn EmberJS, well, you just learn about Ember specific concepts.

See, HTML is great because it's declarative, if you want to write a paragraph, you just say so and the browser will get it:

<p>Hello world</p>

But what if you want to do so dynamically? You have to guide the browser through each step by writing imperative code like that instead:

<p id="greeting1"></p>
    var isIE = document.attachEvent;
    var addListener = isIE
      ? function(e, t, fn) {
          e.attachEvent('on' + t, fn);}
      : function(e, t, fn) {
          e.addEventListener(t, fn, false);};
    addListener(document, 'load', function(){
      var greeting = document.getElementById('greeting1');
      if (isIE) {
        greeting.innerText = 'Hello World!';
      } else {
        greeting.textContent = 'Hello World!';

Here's how AngularJS does it:


It makes writing dynamic code with HTML declarative again. And if you have to loop through an array, you just do:

  <li ng-repeat="element in array">element</li>

This syntax looks exactly like the new MDV standard that you can check here http://mdv.googlecode.com/git/do... (newer link: mdv). This looks much cleaner than using Ember's mustache and again, when you learn AngularJS you actually learn the future of JS.

Now, the other great thing is that AngularJS is really optimized to be very fast, the team achieves that by doing the following:

  1. Dirty checking
  2. Only checking the current view
  3. Only checking when change may happen
  4. Leverage the JIT by working with the Chrome team.

Now besides that, it is true that no matter what, the DOM is still slow which is why 2000 elements is advised on slow browsers but the good thing is that this will not be necessary in less than 6 weeks as Chrome canary has already included the new standard Object.observe in canary (Object.observe() is now in Chrome Canary! What is this,…), it's also coming to Firefox. This means in a couple of months more than 500 million people will get it and even those who don't will still be fine at 2000 elements which is what most apps have anyway. Again, AngularJS is banking on the future of JS and trying to improve and extend HTML and JS by talking directly with the standards.

Tom says that EmberJS is optimized too, which is great. But for example, on this benchmark, AngularJS is way faster than EmberJS, you can check it out here Angular VS Knockout VS Ember. As any benchmark, take it with a grain of salt but still, it's hard to tell that EmberJS is more optimized than AngularJS besides Tom saying so without any data to back it up.

Another great concept of AngularJS are directives to have reusable components. This allows you to write very clean code and reuse your widgets easily. This is not AngularJS specific, this is the future of the web and it's a standard being implemented through web components Introduction to Web Components, even mozilla is working on it and have released a shim a cross-browser web components library.

The AngularJS team looked at the web and wondered why there was a new JS framework popping up everyday. They figured the browser needed to be improved, not yet another lib to introduce a few hacks inspired by cocoa or rails or what have you. Writing web apps on the client sucks, not because we need another lib to save us all but because the browser needs to be improved. AngularJS feels like writing web apps in the future, it really is that great. In the future, most of the AngularJS concepts will be part of the browser but you can already use them with AngularJS if like me you can't wait.

Finally, one of the great thing about AngularJS is that it really is tested a lot, every single line of code has both unit tests and end2end tests on all browsers thanks to testacular Spectacular Test Runner for JavaScript.

As for the accusation of "megacorporations like Google, open source projects can take on an "us vs. them" mentality.", really? Some of Google most important projects are open source: Chrome, Android etc. I don't think there is an "us vs them" there. AngularJS has tons of contributors  GitHub Contributors.

Last but not least, HBO is in the process of rewriting their whole site using AngularJS, Sony is using it and obviously Google. I'm also personally working on big projects using it and no doubt that others are too. Just check Built with AngularJS.

These are the two screencasts that turned me into AngularJS, they really show the awesomeness:

tl;dr: If you want to use yet another set of cool hacks to make web app development suck less, use EmberJS. If you want to use a project that wants to fix the problem of web development at its core (the browser) by implementing these concepts in a lib first, use AngularJS. Speaking of ambition as Tom likes to put it, I think AngularJS is much more ambitious and writing powerful and ambitious apps with such a lib has been a real pleasure so far for me and lots of people too, see AngularJS (angularjs) on Twitter vs EmberJS (emberjs) on Twitter, almost 5 times more followers for Angular :).

See Questions On Quora

Posted on 2 December 2012

What advice would you give a web developer that has been out of the game since Netscape was around but is now getting back in?

The job as you remember it doesn't really exist anymore.

The ability to run and configure a web server and edit HTML to create some simple web pages has lost almost all of its value. What does have value is learning how to build and support web applications with teams. A few pointers to embark on a career doing that:

  • Don't use the term "webmaster". The kids will just look at you with a blank stare.
  • Get a thorough re-education in CSS and go through the most commonly used frameworks (Foundation, Bootstrap, YUI).
  • Go through Nicole Sullivan's OOCSS lectures and libraries. It will change the way you use CSS.
  • Learn HTML5 and study up on the differences between IE, Chrome, Firefox, and Safari, both on the desktop and on iOS/Android browsers.
  • Relearn JavaScript. Learn JQuery inside and out.
  • Learn one or more of Ruby/Rails, Python, PHP, and/or NodeJS.
  • Learn about JavaScript client MVC frameworks like Backbone.
  • Get a GitHub account and go through and deconstruct as many projects as you can.
  • Take 100 quality consumer internet sites and deconstruct them. Look at their use of CSS and JavaScript and 3rd party libraries in particular.
  • Understand the commonly-used content management frameworks like Drupal and Wordpress as well as build-a-website services like Wix, Weebly, and Webs.
  • Learn about AWS, Heroku, Rackspace, and other hosting options. You should almost never need to touch a server.
  • Learn Photoshop or Fireworks.
  • Learn to fully-utilize browsers' debug tools like FireBug, Chrome Developer Tools, IE Developer Tools, etc... this will make development 1000x easier.

(Please others add to this list).

See Questions On Quora

Posted on 26 September 2012

What are the most important client-side (HTML5/CSS/JavaScript) libraries and why?

Since the original answer was written back in 2012, let me update my current preferred 2015 client side stack:

As a dessert for those quickly built sites you can load Bootstrap & Font Awesome directly from Bootstrap CDN (http://www.bootstrapcdn.com/)

Lets take a quick round around the track and see the essentials for any client-side athlete. The equipment depends on your goal range.

Palms sweating, heart pumping. Ready for another race. Go!

Accelerating into the first corner
(Happily, HTML5Boilerplate gives you all this out from the box, so you'll get a headstart. Winning!)

Making good headway, just don't stop now!

Time to show what you've got!

Aiming for the big boys. Give everything you have!

Fistpump for victory. Also, check out these goodies.

See Questions On Quora

Posted on 22 August 2012

What are the most important client-side (HTML5/CSS/JavaScript) libraries and why?

Seems most people are writing answers as if there could be a definitive factual response.

Unfortunately there is no simple answer to this question because the answer depends on the context of what the project requirements are, as well as the skills of the developer working on the project. Developers may want to hack their own stuff together and use a utility library to assist them, where another developer may want a full framework to do everything for them.

In my own example I prefer a small foot print as far as 3rd party libraries go but I think the following libraries are the most important and useful (to me)...

  • RequireJS:
    AMD module loader which lets you have a very modular code base (which is great for development) and it also provides a build tool so you can concatenate and minify your separate modules into a single file for production.
  • jQuery:
    Most people know what this library is by now. But just to clarify that this library can be hideously inefficient and badly performing when placed into the hands of a developer who doesn't understand what it going on under the library's API. But in the hands of someone who knows what they're doing this library can be a very helpful and useful DOM manipulation/ajax/animation library (more so now in their recent 1.8 release which had a complete rewrite of the animation code base).
  • Backbone.js:
    This library lets you architect your code to the MVC design pattern. It's very light weight and although not a strict implementation of MVC can be very useful to help give some kind of structure to your code (it also works very well with RequireJS)
  • HTML5Shiv:
    A simple library that lets older Internet Explorer browsers (IE8 and below) to render unknown elements - which may sound like an odd to want the browser to do, but the purpose is so developers to utilise the new HTML5 elements like <section> and <article> etc.
  • Normalize.css:
    This is a CSS style sheet that doesn't *reset* the default browser styles (which seems to be all the rage at the moment even though it's a bad practice). It instead patches some inconsistent browser rendering bugs across different browsers.
  • OOCSS:
    Object-Oriented CSS isn't a library but a methodology. There are quite a few different ideas on how OOCSS should be written (www.smacss.com is one popular method).
  • Sass:
    This is a CSS pre-processor which let's the developer take advantage of features not natively available in CSS (such as variables and functions and modular code with the ability to import into a single file).

See Questions On Quora

Posted on 19 August 2012

What are the most important client-side (HTML5/CSS/JavaScript) libraries and why?

A kickstart...
http://jquery.com | jQuery: for manipulating the DOM
http://d3js.org | d3: kinda like jQuery for SVG elements
http://processingjs.org | Processing.js: for manipulating canvas elements
http://backbonejs.org | Backbone.js: for managing client-side data structures
http://underscorejs.org | Underscore.js: powerful functional programming ideas
http://twitter.github.com/bootstrap | Twitter Bootstrap: accelerates UI styling and events
http://modernizr.com | Modernizr: browser feature detection
http://www.mathjax.org | MathJax: Latex math formulas in the browser
http://html5boilerplate.com/ | HTML5 Boilerplate: Industry-standard starting point for HTML5-based pages or sites
http://browserify.org/ | Browserify: enables browser-side require() the node.js way
http://handlebarsjs.com/ | Handlerbars.js: templating

See Questions On Quora

Posted on 7 August 2012

What are 5 essential skills every Web Developer should have?

This is an awesome question.

I'm the CTO of https://www.hiretheworld.com/ and we went from a team of 3 founders in January of 2011 to 15+ people by the end of last year.

When we started hiring, our focus was on development. I was the only tech guy and needed a lot of help in development. I'm super happy with our current team, and here are some things I looked for in developers:

1. Know how to program : Not syntax, but program. Anyone can learn syntax, but the principles of programming are applied everywhere.

2. Willingness to learn: The web is super fast moving. New web tech that comes out literally every day, is unbelievable. My ideal web developer would have to be open to trying new technology. If you don't like change, you will NEVER be a good developer.

3. Intelligence: Challenge yourself and your colleagues. There are about a billion different ways you can code up a web page, but are you intelligent enough to understand the differences, and use what suits your needs best?

4. Love of the game: Love what you do. Don't get enough of it.

5. Be normal: communicate normally, interact normally. Be easy to work with.

Thankfully, we found everything in our developers. We've also recently started a tech blog, http://www.hiretheworld.com/blog... to talk about some of the cool stuff that these guys pump out day in and day out.

Good luck finding your dev guys, and let me know if I can help more :)

See Questions On Quora

Posted on 16 May 2012

What are 5 essential skills every Web Developer should have?

  1. Pulse on the Industry and the User
    It's impossible to know where web development will go in 5 years, but those who follow standards bodies or at least read tech blogs have a much better understanding of upcoming changes and growing trends.

    It's not enough to follow the industry. Web developers must also understand their users and how they use the product. Analytics tools like StatCounter and Google Analytics are my favorites for gathering basic metrics of user interactions. A web developer should know if a third of the traffic is from a mobile device or that visitors are from Spanish-speaking countries. Maybe it's time to think about optimizing for mobile and internationalization.

    I list this as the number one skill because being proficient here will trickle down and facilitate the other skills.

    Things are changing and a lot has already changed. HTML 5, CSS 3, ECMAScript 5, and so on. If you can see these things coming, you will be able to adjust your priorities.

    Developers must have an understanding of the state of the browser market and to some extent even the OS market. Did you know users of Windows XP are unable to upgrade to IE 9? Want to guess what the most popular operating system is? (hint: it's XP). Knowing this, do you think it's a good idea to drop support of IE 8, even though 9 is out? Maybe for your user base, that could be a good idea. But my point is that you should know where all of the pieces are on the board before you make your move.

  2. Programming Competency
    Web developers must be able to code. This is supposed to sound obvious. An effective web developer must be able to write syntactically valid HTML, CSS, and even JavaScript.

  3. Testing
    All web developers must be able to test their code in multiple browsers. It's easy to test for our own personal browser of choice and ignore the rest, but the web is about diversity and the browser landscape is very diverse.

    JavaScript testing also falls under this category. Developers must use tools to detect and debug scripting errors. Chrome, Safari, and Internet Explorer all come with built-in developer tools that allow you to step through JavaScript and execute code in an interactive console. Firefox has limited native support for this, but the Firebug plugin is the de facto standard.

    If you are going to write code, you must be prepared to make sure that it works.

  4. Accessibility
    Developers must be able to write code that is flexible enough to be used in different ways. Search engines and screen readers for the blind are two examples of machines interpreting your code. Sites that are heavy with Flash or foreground images for UI tend to struggle here.

    Accessibility at it's core is really about usability. Can the user use your product? Web developers must know about any obstacles between the user and the product to better design it. Is the product usable on small screens like mobile devices or even older monitors? Do users know to click on a particular button to continue to the next page or is the page difficult to understand?

    How about users with images, cookies, or JavaScript disabled? What if they're just using a really old version of a browser? What do you do for them?

    Know your user, set limits to what you will and will not support, implement a cross-compatible solution, and test thoroughly.

  5. Security
    I leave security for last, but really it's a top priority. Every web developer must understand how malicious people can use their product to attack the site or other even other users.

    If the web developer has skill #1, they should be familiar with the security concerns of the industry and common defenses.

One non-skill that I think deserves recognition on this list is motivation. Web developers should be passionate about what they do and never stop learning more. Read those blogs, pick up a few higher-level books, and go to the networking events like conferences and local meetups. Strive to learn more, improve skills, and educate others.

See Questions On Quora

Posted on 26 March 2012

What is the best method for adding 2x images to webpages that will be displayed on the new iPad with Retina graphics?

WebKit deals in logical pixels and a device pixel ratio to render stuff. It knows nothing about the physical pixels of the display. So when you really have 640x960 pixels on the display, your iPhone's Safari will tell you that you have 320x480 pixels to work with a device pixel ratio of 2. If you try to supply an image without any hints, it'll try to render the image at 1x scale in twice the width/height you want (which will be upscaled). However you can give it some hints to tell it what to render at. And this technique is applicable both to iOS devices (which have 1x and 2x scale devices) and Android devices (which have 0.75x, 1x, 1.5x, and 2x scale devices).

Let's pretend you have a source image that is 200x200 at 1x scale, and 400x400 at 2x scale.

If you'd like to use <img> tags to render images, you can pass your 2x scale image as the src, as long as you set the width/height to 200x200 (either as tag attributes or as CSS styles). This is generally not preferable, as you can't really differentiate between different scaled devices this way (unless you're using JavaScript, and at that point you might as well use the next technique). But if you only want to make one asset one time, and don't mind the extra bandwidth, you can use this approach.

The best approach is to use CSS background and background-image to supply your images. The trick here is to use the CSS background-size property to set the render size of the image at 1x (in this case, background-size: 200px 200px). You can combine this with CSS background-position to achieve sprited assets (where you put all your images into one giant image and slice out the relevant parts of it).

The big advantage here is that you can target specific screen scale factors with CSS, using a trick known as CSS media queries. This lets you specify entire CSS files, or parts of CSS files, to load for devices at 1x scale, at 2x scale, and other scales (as well as ranges of scales). This means that 1x scale devices are only loading 1x assets, and 2x scale devices are only loading 2x scale assets. The best way to do this is split your assets into multiple CSS files, and load them using the media attribute, like so:

<link rel="stylesheet" href="1x.css" media="only screen and (-webkit-device-pixel-ratio: 1)" />
<link rel="stylesheet" href="2x.css" media="only screen and (-webkit-device-pixel-ratio: 2)" />

You can also do this in one CSS file like so:

@media only screen and (-webkit-device-pixel-ratio: 1){
.image{ ... }

@media only screen and (-webkit-device-pixel-ratio: 2){
.image{ ... }

There are also -webkit-min-device-pixel-ratio and -webkit-max-device-pixel-ratio selectors you can use, so you can use specific assets for a range of device pixel ratios (which matters if you're targeting Android). The scaling will Just Work across all device pixel ratios when you do this.

You can also query for this property in JavaScript. window.devicePixelRatio will return 1 for 1x scale, 1.5 for 1.5x, 2 for 2x, etc.

UPDATE: As of iOS 5.1, it appears there is an issue with high-resolution JPG images being presented in this manner. WebKit on Retina iPads will downscale the image and then upscale it again, leading to a significantly uglier image. The only known workaround is to use PNG images instead of JPGs (which obviously sucks for high-resolution images, which consume significantly more bandwidth than JPGs). Apple has been made aware of this issue: rdar://problem/11097671. If your image contains greater than 2 * 1024 * 1024 (2097152) pixels when you multiply the width and height together, you must use PNGs, or the image will not appear crisp on the Retina display.

UPDATE 2: There is supposedly a way to work around this, by saving JPEGs in Progressive mode. There is a "Progressive" checkbox in Photoshop's Save For Web which enables this. I haven't tested this myself, but multiple people have reported that it works. Thanks to Iain Anderson in the comments below, as well as codezero on Hacker News.

See Questions On Quora

Posted on 19 March 2012

Which CSS effect can blur the background of a page?

Behold, there is a pure CSS solution, using CSS3 Filter Effects and the new
property. Unfortunately, as of September 2013, support is limited to Chrome, Safari 6+, and Opera 15+.

.background {     
    -webkit-filter: blur(10px);     
    filter: blur(10px);      

For more information:

See Questions On Quora

Posted on 18 March 2012

Which is better: Less, Compass or Sass?

LESS has a cleaner, less verbose syntax, fitting with the name. I agree that it is easier to learn as well. I like to use the following tools along with LESS:

  • Preboot.less: Useful mixins and variables from the main guy behind Twitter Bootstrap. Not a giant framework like Bootstrap, just some useful stuff for buttons, gradients, columns, etc. http://markdotto.com/bootstrap/

  • Compilers:

    • SimpLESS: Similar to less.app but cross-platform, converts LESS to CSS on save. http://wearekiss.com/simpless

    • Winless: Similar to Less.app or SimpLESS but Windows obviously. http://winless.org/

    • CrunchApp: A text editor just for LESS that saves to CSS, uses Adobe Air. Useful if your favorite code editor is not LESS friendly. (Although it is similar enough to CSS that if you can have the editor use CSS code highlighting it should be good enough. http://crunchapp.net/

    • Livereload or CodeKit: Two awesome tools, unfortunately Mac only,  Livereload can be made to work on Windows but its tricky. These both automatically reload web pages you are working on whenever you save changes. Cool tools that do much more than LESS, but they do both convert LESS to CSS on save.

See Questions On Quora

Posted on 17 February 2012

In what order do CSS definitions take priority?

CSS declarations are applied in this order (from lowest to highest priority):
  • user agent declarations (the default styles your browser applies to elements)
  • user normal declarations (a user's own stylesheet if they're using one)
  • author normal declarations (this is your normal stylesheet)
  • author important declarations (anything your mark important)
  • user important declarations (any important styles from the user's stylesheet)

Any conflicting rules are resolved within each level first, sometimes with specificity, or failing that, the last rule wins. Specificity is a number defined as:
  • a: 1 if the declaration is from an inline style attribute, 0 otherwise
  • b: the number of IDs in the selector (#one #two would be 2)
  • c: the number of other attributes and pseudo-classes (:focus would be 1)
  • d: the number of element names and pseudo-elements (div would be 1)

i.e an inline style would have a specificity of 1000, whereas a declaration in your stylesheet might have a specificity of 0100 or 0010 etc. - this is why inline styles override styles from stylesheets.

But, since the rules are applied in the order above, an important rule in a stylesheet can override an inline style (since author important styles are applied after author normal styles). e.g:

p {
  color: black !important;
<p style="color: red">Will be black</p>

Rules in later declarations take precedence over rules in earlier declarations, so declarations in a style tag can override the declarations from a linked stylesheet if the style tag appears after the link tag. The rules mean you can use a normal stylesheet to override a user's own stylesheet, but you can never override any styles the user marks as !important.

See Questions On Quora

Posted on 3 July 2011

When should web developers/designers begin to use HTML5/CSS3?

Today :)
There's no reason to wait for W3C (you'll probably grow old).

You can easily start using CSS3 shadows, rounded corners, border images, some transformations etc. All modern browsers support them (IE9 soon).

The best part is that if a browser does not support for example box-shadow, it won't break your web page. CSS is just for styling the markup and un-supported styling won't do much damage (if any).

The same goes for html5. Just try to have a fallback, especially for essential content like video players (e.g. use a flash fallback for html5 video).

See Questions On Quora

Posted on 19 January 2011

When is it appropriate to use tables in HTML?

The question you need to ask yourself is, is the data I want to put into this grid actually tabular data.  If it is, use a table. If it's not, then don't.

But what is tabular data. Based on the number of times I've seen someone wrongly claim lists or other structures to be tabular data, I'm going to try to offer a definition that's easy to use.

If you can look at the contents of the table and say to yourself, all of the items in this particular column share something in common that makes them distinct from those other columns AND all the items in this particular row share something in common that makes them distinct from those other rows, then you probably have tabular data and it probably makes sense to organize it in a table.

See Questions On Quora

Posted on 2 January 2011

Which is better: Less, Compass or Sass?

Having recently tackled this same question, my answer is SASS.

I specifically liked having to explicitly declare mixins. IMO it's easier to understand when others dive in to your code.

I also originally looked at LESS because it gave me the option to gradually roll out new code, however, the latest version of SASS/SCSS takes care of that. It also gives you the ability to use both SCSS & SASS (which is a really beautiful and simple syntax)

Lastly, Compass for SASS is pretty amazing. Check it out - http://compass-style.org.

See Questions On Quora

Posted on 5 October 2010

What is the best unit to use to declare font-size on the web?

Garann's answer is right on the money.

The primary historical reason for using relative font sizes was that browsers with text zoom functionality would refuse to scale absolute font sizes. This was a big problem for users with bad eyesight, and even for users who just prefer reading larger fonts. Now, though, things have changed, and every major browser except IE6 will properly scale all fonts, regardless of whether the sizes are absolute or relative, so accessibility is no longer a major concern.

Since most browsers are now able to scale absolute font sizes, many web designers and developers have begun to use absolute sizes again, because relative sizes have several drawbacks:

  • Relative sizes tend to be a pain to work with. It requires you to keep a mental map of relative sizes to absolute sizes (or look them up in a reference).
  • Relative sizes often result in fractions, which (depending on the browser and OS) can make fonts look blurry.
  • Relative sizes plus cascading styles sometimes equals unexpected behavior. If class .parent sets the font size to 93% and class .child (which applies to an element that's a child of .parent) sets it to 100%, then .child's size is actually 100% of 93%, not 100% of the original 100%.

Absolute sizes solve these problems and are generally easier to work with, at the expense of being less accessible for IE6 users, which, these days, is typically an acceptable tradeoff.

See Questions On Quora

Posted on 14 May 2010

reddit.com: search results

Huge list of CSS3 Resources,Tutorials and Libraries to Help You Become a Novice to Expert ...

All the web designers(beginners or intermediates) around the world are excited about the power of CSS3 and the flexibility it offers. With that in mind, I’ve rounded up here a huge list of CSS3 resources, tutorials, tips for you to learn more. In this list I’ve also gathered you some of the best sources of CSS3 goodness.

In order to fully enjoy this gallery you might want to use a modern browser such as Chrome.

CSS3 Resources

*The ultimate list of CSS3 resources, tips, and Tutorials - Really an ultimate article for CSS3 beginners that also has advanced resources

*Push Your Web Design Into The Future With CSS3 - Here are five techniques snatched from the future that you can put into practice in your website designs today.

CSS3 Tutorials

The tutorials are extremely helpful, not only for the professionals, but, also for the beginners.

Swatch Book with CSS3 and jQuery - creating an animated swatch book using CSS rotation transforms and JavaScript.

3D Thumbnail Hover Effects - A tutorial about how to create 3D thumbnail hover effects with CSS 3D transforms and jQuery.

Create a stunning menu in CSS3 - open up your favorite code editor, and let’s make a slick navigation menu using only CSS3.

Custom Drop-Down List Styling - A tutorial on how to create some custom drop-down lists

Making an Impressive Product Showcase with CSS3 - Spicing up a plain old product page with some CSS3 magic!

Animated 3D Bar Chart with CSS3 - A tutorial on how to create an animated 3d bar chart using CSS only.

A Pure CSS3 Cycling Slideshow - This effect will only work properly in modern browsers that support the CSS3 properties.

How to Create an Interactive Graph using CSS3 & jQuery - Code an Interactive Graph using jQuery and CSS3.

Create a Sticky Note Effect in 5 Easy Steps with CSS3 and HTML5

Apple-like Login Form with CSS 3D Transforms - In this tutorial you will see how one can use transforms to create an interesting flipping effect on an Apple-inspired form

How To Create Depth And Nice 3D Ribbons Only Using CSS3 - It is an interesting article that everyone should try the field.

7 Super Easy CSS Recipes to Copy and Paste - Keep in mind that since this stuff is still cutting edge, older browsers won’t support most of it.

How to Create a Stylish Image Content Slider in Pure CSS3 - Use this tutorial just to play around with the last CSS3 features that you will be able to use in the feature.

CSS3 breadcrumbs - Learn how to create your own cool CSS3 breadcrumbs.

Calendar using jQuery and CSS3 - How to Create Calendar using jQuery and CSS3

Orman Clark's Vertical Navigation Menu: The CSS3 Version

Some of the excellent CSS3 Tutorials for Beautiful Design - 50 more resources (some may be repeated)

CSS3 Libraries and Examples

Blur Menu - This is a really well executed and polished demo of a CSS only menu.

CSS3D Clouds - In this demo app you can generate and play around with some astonishingly realistic clouds.

Logos In Pure CSS - Company logos created in pure CSS.

CSS A/Z - An entirely HTML/CSS animated sketch for each letter made (hopefully) every day for 26 days.

Navigation Bar by Jan Kadera - A simple but very stylish navigation bar

Google Doodle in CSS - CSS version of a little Google Doodle animation.

Sliding Image Panels - This is smooth as butter, uses absolutely no JS and the details are polished to the last pixel.

Double ring - A beautiful animated ring in a single div element

Colorful CSS3 Animated Navigation Menu - How to create a colorful navigation menu with animated dropdowns. (No cheating!)

Animate.css - This is hugely popular on github

Spinkit - Spinkit is a collection of easily customizable loading indicators

Buttons - Nothing more, nothing less, just a huge collection of buttons.

On/Off FlipSwitch - Generate pure CSS3 On/Off flipswitches with animated transitions.

Colors.css - Colors.css is for those of you who hate color picking for a hex code.

CSS3 Video Tutorials

CSS3 Video tutorials - 51 videos

submitted by steveharrry to learnprogramming
[link] [20 comments]

Posted on 17 March 2015

Learn HTML5 and CSS3 in under a week. [Update - 150 free coupons]

After my earlier post, we hit over 100 students enrolled. That's 100 soon to be web developers breaking down the programming "wall". Some of my students have already began getting customers to build websites for them! After my previous post I received many positive messages as well as some people that truly wanted to learn, but missed the chance of getting a free coupon. Since Reddit has been so awesome, I'm giving away 150 free coupons for this subreddit. My goal is to get over 250 students learning and enrolled by tonight!


If you used a coupon, make sure to up vote this so we can get everyone we can enrolled!

Update: We just hit 223 enrolled students, that's 223 people that will finally get past the programming "wall" and on their way to becoming web-developers!!

Update 2: Incredible, we hit our goal with 257 enrolled students! Here's one last coupon for those who missed! https://www.udemy.com/html5-and-css3-become-a-web-development-ninja/?couponCode=Reddit30

After that, I'm going to heavily discount the course for everyone on this subreddit to only $19: https://www.udemy.com/html5-and-css3-become-a-web-development-ninja/?couponCode=RedditDiscount

Due to all the awesome feedback, I've decided to lower the cost of this course even more to $15 https://www.udemy.com/html5-and-css3-become-a-web-development-ninja/?couponCode=Reddit15

Also, this is my first course I created on Udemy, I'd love feedback and see what you guys liked/disliked so I can make my next possible course even better.

Just a quick update: We've hit almost 300 enrolled students today!

To address the 3-star issue: This is because I've received my first 1 star review. I've tried multiple times to get in touch with him both during the course and when he posted the review. He hasn't responded to a single message yet and looking at my students he only got through 5% of the course when he put in that review. For whoever this was, I'd love it if you can get in touch with me so we can figure something out :-)

Final update: We've hit 317 enrolled students. I've gotten a ton of positive feedback as well as what people liked/disliked. After this success I've decided that I'm most likely going to be making a much more in depth Web Development course. Anybody who purchases this course will automatically get it free once it's released!

submitted by PrettyCoolGuy13 to learnprogramming
[link] [95 comments]

Posted on 1 February 2015

Hey! I launched my HTML5 and CSS3 Udemy course and I’m offering it free to Reddit for today

Hey guys, I launched my first course last week with some good feedback (5 star reviews) so far and have already got students building websites for others! Pretty awesome! I'd love others to be doing the same and help those beginners trying to get past that programming "wall". Just use the following link: https://www.udemy.com/html5-and-css3-become-a-web-development-ninja/?couponCode=RedditRocks Update: Awesome, all of the free coupons codes got used up, so here's another one for the rest of the day: https://www.udemy.com/html5-and-css3-become-a-web-development-ninja/?couponCode=RedditRocks2 Update 2: Thank you so much for all the interest Reddit! Here's the last free one: https://www.udemy.com/html5-and-css3-become-a-web-development-ninja/?couponCode=RedditRocks3

After that, since Reddit is so awesome, everybody on here gets over 60% off: https://www.udemy.com/html5-and-css3-become-a-web-development-ninja/?couponCode=RedditDiscount Can't wait to see you in class! :-)

Update: I've decided to extend the 60% off coupon to everybody on here forever :-)

submitted by PrettyCoolGuy13 to learnprogramming
[link] [21 comments]

Posted on 31 January 2015

Hey! I updated my HTML5 and CSS3 course and giving it away free on Reddit this week

I've updated my "HTML and CSS Course for Beginners" and am giving it away free on Reddit this week. We have over 10,000 people in the course with great reviews, but now have it on a new platform that I want to test out and make sure it works well so I'm offering it free this week. I'd love to have you sign up and let me know what you think about the platform.

Once you sign up you have lifetime access to the material. Go here to sign up and get it for free: http://courses.makerbased.com/course/html-and-css/?couponCode=redditVIP


submitted by bonesy2286 to learnprogramming
[link] [152 comments]

Posted on 12 November 2014

What are the benefits of site logos fully made in CSS3 over SVG?

For responsive design, I know SVG is the go-to format and most sites have SVG logos of their company/brand on their site headers. But is there any benefit to having the logos made entirely in CSS as opposed to drawing out a vector in Illustrator and saving a SVG of it?

With all the recent updates to CSS3, it's very possible to make many logos solely via CSS. For example, here's a lot of company logos re-created in CSS3: http://www.bchanx.com/logos-in-pure-css-demo

I'm looking to see if there's any real reason someone would want to do this, especially in terms of long-term sustainable web practices. If anyone can shed some light on the subject, I'd appreciate it.

submitted by QuestionAxer to web_design
[link] [23 comments]

Posted on 10 August 2014

I saw this GIF and I thought it would be interesting to recreate it using CSS3. (x-post /r/WebDev)

This GIF is very soothing and I thought it might look interesting if I could recreate it using CSS3 animation.

I created a script in PHP that allowed me to generate the percentages and degree values to get the flow correct, and to keep me from having to copy and paste over and over for all the browser specific prefixes.

Remove the "overflow: hidden;" property of ".graphic" to see the full circle, which feels just as, if not more, soothing as the semi-circle.


submitted by arobson13 to css
[link] [8 comments]

Posted on 29 June 2014

I saw this GIF and I thought it would be interesting to recreate it using CSS3.

This GIF is very soothing and I thought it might look interesting if I could recreate it using CSS3 animation.

I created a script in PHP that allowed me to generate the percentages and degree values to get the flow correct, and to keep me from having to copy and paste over and over for all the browser specific prefixes.

Remove the "overflow: hidden;" property of ".graphic" to see the full circle, which feels just as, if not more, soothing as the semi-circle.


submitted by arobson13 to webdev
[link] [78 comments]

Posted on 29 June 2014

CSS3 Might Allow Dual Flairs

Reddit recently added support for CSS3 in subreddit css. One new feature of that is multiple background images. I think (based on brief testing) that this javascript snippet in your browser's console will create an unholy combination in my test comment below.

Note: some of the hovering features will be disabled because I'm removing things to get around the CSS that's already on flair.

$(".flair-georgiatech").removeClass("flair-georgiatech").removeClass("flair").attr("href","asdfad").html(" ").addClass("flair-testytest").css({"background-image":"url(http://a.espncdn.com/combiner/i?img=/i/teamlogos/ncaa/500/59.png&transparent=true), url(http://a.espncdn.com/combiner/i?img=/i/teamlogos/ncaa/500/61.png&transparent=true)","width":"60px","height":"30px","background-position":"left center, right center","background-repeat":"no-repeat","background-size":"30px","min-width":"60px","min-height":"30px","display":"block"});

submitted by epmatsw to CFB
[link] [30 comments]

Posted on 29 April 2014

Did you notice that the up vote rockets now have animation?

/u/doombeef was the 1st to post about reddit now allowing css v3 for subreddit usage.


So, what's in store for /r/dogecoin next, animated flairs?

Note: The Only way to turn off the new animations is to uncheck the "allow subreddits to show me custom styles" box in preferences under display options.


Welcome to r/dogecoin! This thread is for questions about Dogecar and Dogecoin, so ask away



This is like the doge version of catnip!


Makes me want to do a Barrel Roll!


submitted by slowpokex2 to dogecoin
[link] [419 comments]

Posted on 29 April 2014

Naut 2.1: CSS3 Additions!

Not a very exciting update (yet!), but I wanted to push out some general CSS3 additions that were enabled just now by reddit.


  • Added transitions to several objects such as the tabmenu and submission links.
  • Added minor tweaks for low-resolutions. Try resizing your browser window to see.
  • Fixed filter error.

Unfortunately I'm leaving for a rather long holiday soon so I won't be able to update but I'll definitely do more with it when I get back. I'm not sure how push requests on GitHub work but if you have a nice tweak - give it a shot!

Moderators that already use /r/Naut can just copy paste this bit to add the transition stuff.

When you update, the stylesheet might give an error because the filter property was removed. You have to search and find every instance of it (there are about 5) and remove the whole line. The layout won't be affected.


submitted by Cryptonaut to naut
[link] [31 comments]

Posted on 29 April 2014

Now that reddit allows css3...

Cant we now get the upvote to go upwards(I cant seem to find the post about it, but someone already made the code, they just couldnt implement it due to the old restrictions on what the subreddits could put in the css)

Edit: I found this: http://www.reddit.com/r/dogecoin/comments/23797m/based_on_the_gif_posted_here_earlier_i_wrote_a/ Its not exactly what I was looking for(I remember an actual css code that someone posted) but it shouldnt be that hard to write from scratch, just a few animations of the upvote going upwards and on the moon)

submitted by dombeef to dogecoin
[link] [50 comments]

Posted on 29 April 2014

CSS Change: The filter has been rewritten.

As mentioned in the /r/changelog thread, reddit's CSS filter has been replaced. The new filter is based on tinycss2 which tokenizes CSS for us and allows reddit to apply a whitelist of functions and properties to the CSS.

Existing stylesheets will not be affected by this new filter until the next time you try to save changes.

Bad news

  • IE versions older than IE8 no longer get subreddit CSS. We don't support these browsers for core development on reddit.com anyway and they are much more susceptible to various security issues with user-supplied stylesheets. As a result of this, the new filter drops support for some IE-specific hacks:
  • Backslashes continue to be disallowed in stylesheets. Characters considered "control codes" in Unicode (except linefeeds, carriage returns, and tabs) are also disallowed. Note that stylesheets are encoded as UTF-8 and as such you can use unicode codepoints in it directly without having to resort to escape sequences. ☃
  • Some invalid CSS that passed the old filter is no longer accepted as valid. These are generally typos and syntax errors that were missed by the old parser and should be fixed anyway.

Good news

CSS 3! A plethora of new CSS powers are available now:

And a bunch more. See the code for the full list of properties and functions allowed.

This has been a long time coming. Thank you for your patience and I'm really excited to see what cool new things come out of this (within reason!)

EDIT: note: if you find any deficiencies with the filter, please report them to me in this thread — tinycss2 is almost certainly not where the issue is.

submitted by spladug to cssnews
[link] [183 comments]

Posted on 29 April 2014

Pure CSS3 Star Wars Lightsaber Checkboxes

Hey guys,

I was bored today, and decided to play around with the checkbox "hack".

For those who don't know what that is, it's basically creating CSS click events with checkboxes and it doesn't involve any javascript.

This is how it's done:

input[type=checkbox]:checked ~ div { } 

So here's my code, let me know what you all think. It's not really meant to be UI/UX friendly, but just a neat little demo.

Thanks all!

Landing Page



submitted by scotchio to css
[link] [24 comments]

Posted on 19 May 2013

...and now for a word from our sponsor (because for once we have one *asking* to hear your feedback).

Yesterday, reddit started running ads for a new sponsor. While we normally don't introduce new campaigns [insert joke about never having a campaign to announce], this one is notable because the advertiser actually seems to understand what reddit can offer that traditional advertising (even traditional web advertising) cannot.

See, Microsoft is getting ready to release Internet Explorer 9, and they reached out to us because they genuinely want to start a dialog with the reddit community. In fact, they've taken the unprecedented step of putting the reddit team in charge of this entire campaign. This is a great deal of trust for an advertiser to offer, and we should both take it as a huge compliment.

So, how should we do this? If there's one thing I've learned in my five-plus years at reddit, it's that the direct and open approach works best, so instead of marketspeak, I'm going to paste a quote from Wikipedia:

IE9 will have complete or nearly complete support for all CSS 3 selectors, border-radius CSS 3 property, faster JavaScript, and embedded ICC v2 or v4 color profiles support via Windows Color System. IE9 will feature hardware-accelerated graphics rendering using Direct2D, hardware accelerated text rendering using DirectWrite, hardware accelerated video rendering using Media Foundation, imaging support provided by Windows Imaging Component, and high fidelity printing powered by the XPS print pipeline. IE9 also supports the HTML5 video and audio tags and the Web Open Font Format.

If you have a computer that can run IE9, we'd really like you to try it out and post a review. The actual IE9 programmers are going to read what you have to say, and if you compliment their work, it'll totally make their day. But they also need to hear your complaints. Ideally, in the form of constructive criticism, but we warned them that reddit can sometimes be a little... brisk, so they're prepared for that, too.

One last thing: Microsoft's not the only ones who want your feedback. We at team reddit are interested in hearing what you think of this campaign in a general sense: do you find this kind of advertising more appealing than sidebar ads? Do you have any suggestions as to how it could be even better? (Especially things that could never happen in a magazine.)

Oh, and stay tuned for a Microsoft IamA next week. We're not sure who it will be with yet, but we've been assured it won't just be with flack.

submitted by KeyserSosa to blog
[link] [3315 comments]

Posted on 16 September 2010

AskWebDesign: Can we please stop using "HTML5" as shorthand for "HTML5 Canvas + CSS3 + Javascript"? Maybe we need a name for that, but it's not "HTML5."

Maybe it's just a personal pet peeve, but I really think it's a problem. HTML5, as a term, already means something. HTML5 will not revolutionize the web on its own. You can't animate things using solely HTML5 - and with very few exceptions, even HTML5+CSS3 alone won't do much in the way of animation (yes, some transitions do exist)...

Will the combination of these 3 technologies revolutionize the web? Probably. But a semantic markup specification, by itself, isn't anything remotely close to a "Flash killer", or even a tool for building usable websites. HTML5 without CSS3 is useless.

Do we need a shorter name than "HTML5 Canvas + CSS3 + Javascript" when we're talking about what will compete with Flash? Sure. Maybe "Dynamic Canvas", or "Canvas animations", or something... but HTML5 all by itself is not a competitor to anything but HTML4.

submitted by honestbleeps to web_design
[link] [56 comments]

Posted on 14 May 2010

Hey webbit, here's what I made this weekend: An extension on top of Readability that makes any webpage grow horizontally using fixed-height css3 multicols.

Some of you may remember a page I made a few months ago that used fixed-height css3 multicols. Here's the post. It didn't go over great, but I still loved the concept.

This weekend, I figured it all out. Fixed height columns work really well with the pretty output that Readability produces. So, I created some JavaScript that makes it happen.

The result: Horizontability

Works the same way as Readability. The arrows in the top left (or PgUp and PgDown) scroll the page by column. Arrow keys and mouse wheel scroll the usual way, sort of. It works for me in Firefox, Chrome, and Safari. It should work at any resolution and be most beneficial on wide screens. Many karmas to someone with a ridiculous resolution who posts a screenshot of the entire first chapter of Metamorphosis (the text in the background) in a single window.

edit: No more mousewheel control because it messes up trackpads and all the arrow keys now perform full column jumps; also, there're buttons.

and I forgot to mention a link of a rebuttal of my original idea: here

submitted by etcet to web_design
[link] [24 comments]

Posted on 11 April 2010