How to Make an HTML5 iPhone App By Alex Kessinger You’ve been depressed for like a year now, I know. All the hardcore Objective-C developers have been having a hay-day writing apps for the iPhone. You might have even tried reading a tutorial or two about developing for the iPhone, but its C—or a form of it—and it’s really hard to learn. I don’t want to say that you should give up on the objective: you can get it eventually. You can create a native app that lives with all the other apps, and for the most part, it’s going to be a pitch-perfect imitation. You can do this with the skill set you probably already have: HTML(5), CSS, and JavaScript. I’ll show you how to create an offline HTML5 iPhone application. Offline? What am I talking about when I say "offline"? The app should be as functional as it can when it is offline, just like normal native mobile apps. This is a tutorial specifically for iPhones but most of these techniques apply to all phones that have HTML5-capable browsers. Prework About the App Application Cache <!
Browser CSS hacks I don’t use CSS hacks anymore. Instead I use IE’s conditional comments to apply classes to the body tag. Nonetheless, I wanted to document every browser-specific css selector and style attribute hack I’ve seen. Plus there’s no way to provide stylesheets to only Safari, I believe. With these you’ll be able to better target IE, Firefox, Chrome, Safari and Opera from within the css. So here are go: Comprehensive List of Browser-Specific CSS Hacks If you’d like to take a gander by yourself: Test page with all these hacks present. View the test page at browsershots.org (Thx to Webdevout, Evotech, and Jeffrey, porneL, and commenters.) I should point out I’m not including weird hacks like the voice-family ones or anything particularly ugly. Somewhat related… Here are the most concise browser sniffs I’ve seen. Update 2009.06.03 - I added the suggestions left on Ajaxian and in the comments and updated the browser versions to consider Safari 4, IE 8, and Chrome 2. Update 2010.01.24 - Added prop: value!
CSS Transforms Module Level 1 Conformance requirements are expressed with a combination of descriptive assertions and RFC 2119 terminology. The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of this document are to be interpreted as described in RFC 2119. However, for readability, these words do not appear in all uppercase letters in this specification. All of the text of this specification is normative except sections explicitly marked as non-normative, examples, and notes. [RFC2119] Examples in this specification are introduced with the words “for example” or are set apart from the normative text with class="example", like this: Informative notes begin with the word “Note” and are set apart from the normative text with class="note", like this: Note, this is an informative note. The specification will remain Candidate Recommendation for at least six months.
50 Awesome CSS3 Animations We have put together a smart collection of cool CSS effects to help you learn the nitty-gritty details so that you can use it to create more beautiful web sites. Enjoy! 1. Swatch Book Tutorial with CSS3 & jQuery [Demo] 2. 3D Thumbnail Hover Effects [Demo] 3. 4. This awesome website consists of more than 100 different CSS effects like 2D transitions, background transitions, icon CSS effects, border transitions, shadow and glow transitions, speech bubble CSS effects, and cool CSS curl effects. 5. You will find more than 50 CSS animation examples on this simple website. 6. 7. 8. 9. 10. 11. 12. 3D Flipping Circle with CSS3 & jQuery [Demo] 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. Use the basic features of CSS3 Transform: rotate. 49. Analogue clock created using webkit transition and transform CSS. 50. 3D Cube That Rotates Using Arrow Keys 51. 52. An accordion effect using only CSS. 53. 54. 55.
Efficiently Rendering CSS I admittedly don't think about this idea very often... how efficient is the CSS that we write, in terms of how quickly the browser can render it? This is definitely something that browser vendors care about (the faster pages load the happier people are using their products). Mozilla has an article about best practices. Google is also always on a crusade to make the web faster. They also have an article about it. Let's cover some of the big ideas they present, and then discuss the practicalities of it all. Right to Left One of the important things to understand about how browsers read your CSS selectors, is that they read them from right to left. ID's are the most efficient, Universal are the least There are four kinds of key selectors: ID, class, tag, and universal. #main-navigation { } body.home #page-wrap { } .main-navigation { } ul li a.current { } ul li a { } * { } #content [title='home'] #main-nav > li { } Even though that feels weirdly counter-intuitive... Don't tag-qualify David Hyatt:
Codrops Motion’s purpose - DesignBetter While the standard flavors of salty, sweet, sour, and bitter are obvious to us and easy to experience, the fifth flavor—umami—is ineffable. It’s the salience of parmesan cheese, anchovies, dried tomatoes, fish sauce, and dashi. Though it can be oversaturated and overused, umami is an essential taste modifier that makes the sum of its parts stronger when it’s properly used. Animation plays a role similar to umami to elevate good design to a more satisfying experience. Over the years, we’ve built small affordances into our interfaces with animation and motion. Whether the familiar blinking I-beam cursor of our text editors, or the simple disapproving shake of a bad password, motion is an essential—yet largely unexamined—bridge between our physical and virtual worlds. The greatest value animation adds to software is context. The rediscovery of motion A number of forces propelled interface animation to where it is today. Motion communicates change and context Motion catches the eye Figure 4.
Selectors Level 3 Abstract Selectors are patterns that match against elements in a tree, and as such form one of several technologies that can be used to select nodes in an XML document. Selectors have been optimized for use with HTML and XML, and are designed to be usable in performance-critical code. CSS (Cascading Style Sheets) is a language for describing the rendering of HTML and XML documents on screen, on paper, in speech, etc. This document describes the selectors that already exist in CSS1 [CSS1] and CSS2 [CSS21], and further introduces new selectors for CSS3 and other languages that may need them. Selectors define the following function: expression ∗ element → boolean That is, given an element and a selector, this specification defines whether that element matches the selector. These expressions can also be used, for instance, to select a set of elements, or a single element from a set of elements, by evaluating the expression across all the elements in a subtree. Status of this document 1. 1.1. 2.
Dive Into HTML5 A Comparison of Animation Technologies Rollout: Powerful Feature Flag Management The question I am asked most frequently: what animation tool do you recommend? Having worked with a slew of them, I can tell you there is no right answer. It's a complicated question and complicated answer. This post serves to clarify what to use, and when, to get you working with the right tool for the job. If you’re here for React, we’ve got you covered! There’s no possible way to go over every single animation library around, so I’m going to stick with the ones that I’ve either used or that interest me. #Native Animation Before we talk about any libraries, let’s go over some native animation implementations. CSS remains one of my favorite ways to animate. Pros: You don’t need an external library.The performance is great, especially if you do things that are inherently hardware accelerated (offloaded to the GPU). Cons: The bezier easings can be a bit restrictive. requestAnimationFrame Canvas Canvas is great to get those pixels moving! WebGL VelocityJS
HTML 5 and CSS 3: The Techniques You’ll Soon Be Using In this tutorial, we are going to build a blog page using next-generation techniques from HTML 5 and CSS 3. The tutorial aims to demonstrate how we will be building websites when the specifications are finalized and the browser vendors have implemented them. If you already know HTML and CSS, it should be easy to follow along. Before we get started, consider using one of our HTML5 Templates or CSS Themes for your next project—that is, if you need a quick and professional solution. HTML 5 is the next major version of HTML. Before we begin marking up the page we should get the overall structure straight: In HTML 5 there are specific tags meant for marking up the header, navigation, sidebar and footer. It still looks like HTML markup, but there are a few things to note: In HTML 5, there is only one doctype. Instead of using divs to contain different sections of the page we are now using appropriate, semantic tags. We have already defined a new section in the document using the section tag.
5 Tools For Integrating HTML5 Video in Your Website This series is supported by Rackspace, the better way to do hosting. Learn more about Rackspace's hosting solutions here. No matter where you sit in the HTML5/Flash debate, the fact is, more and more mobile or low-powered devices are being shipped either without or with very minimal support for Flash video. Web developers who design sites that utilize video need to be cognizant of this reality and design and build their sites accordingly. While it's great that video hosting services like Vimeo and YouTube support HTML5 and that solutions for larger sites are available from places like Encoding.com and Brightcove, that still leaves users who want to host their own video content — but don't necessarily use a platform like Brightcove — in a bit of a predicament. After all, in a perfect world, everyone who visits a website should be able to view video, whether they are on a desktop or on an iPhone. Here are a few of the solutions currently available that we particularly like: 1. 2. 3. 4. 5.
10 great CSS animation resources Creating meaningful and beautiful CSS animations can be tricky and time-consuming, but luckily there are some great resources around to help jump-start your creative process. This resource collection includes all the best CSS animation libraries. Pick one that suits your project and start straight away, or use them as a starting point to create something custom for your brand. There are also some handy crib sheets and shortcuts to supplement your learning. If you're not sure what you want to create, then why not look at our inspirational CSS animations post for some ideas. 01. Animista is a kind of playground where you can edit and play around with a collection of pre-made CSS animations. 02. This helpful project offers a set of preset, plug-and-play animations for you to use in your web projects. 03. This library bring together no fewer than 77 animations, all created in CSS and ready to use. 04. 05. CSShake is a library of CSS animations dedicated to making elements shake. 06. 07. 08.
70 Must-Have CSS3 and HTML5 Tutorials and Resources | Web Resour CSS3 and HTML 5 are capable of revolutionizing the way we design websites. Both include so many new features and functions that it can be hard to wrap your head around them at times. The inclusion of native support for things like rounded corners and multi-column layouts are just the tip of the ice berg. Below are seventy resources, tutorials, and articles to get you started with CSS3 and HTML 5. CSS3 Tutorials and Resources Get Started with CSS 3 – A basic guide to using CSS3. Cascading Style Sheets Current Work – Details the progress the W3C is making on the CSS3 standard. Border-image: Using Images for Your Border – A guide to the new CSS3 function for adding image borders. Overview of CSS3 Structural Pseudo-Classes – A handy reference chart of structural pseudo-classes in CSS3. Push Your Web Design Into The Future With CSS3 – An introduction to some of the new features in the CSS3 specification. CSS3 Selectors Explained – An overview of some of CSS3 selectors, including selector syntax.