diff --git a/css/style.css b/css/style.css index b1f1df40..5c3f496a 100644 --- a/css/style.css +++ b/css/style.css @@ -268,7 +268,7 @@ article h3 b i, article.expanded div.more, .kind, .status i b { display: inline; } -.reset-margin, body, nav ul, nav ol, figure, form, fieldset, button, input, select, textarea, #livesearch, article > header .kind, article > header .name, article > header .status, .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { +.reset-margin, body, nav ul, nav ol, figure, form, fieldset, button, input, select, textarea, #livesearch, article > header .kind, article > header .name, article > header .status, article div.more .links, .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { margin: 0; } @@ -498,6 +498,7 @@ article > header:before { article > header .kind, article > header .name, article > header .status { display: inline-block; vertical-align: middle; + pointer-events: none; } article > header i { font-style: normal; @@ -527,12 +528,25 @@ article div.more .polyfills b { article div.more .polyfills p { display: inline; } -article div.more .updateurl { +article div.more .links { font-size: 0.8em; position: absolute; bottom: 0.5em; right: 1em; } +article div.more .links a { + padding: 0.25em 0.5em; +} +article div.more .links a:hover { + background: #149cd7; + color: #fff; + border-radius: 5px; + text-decoration: none; + text-shadow: 1px 1px 1px #232927; +} +article div.more .links a + a { + margin-left: 0.5em; +} article.expanded > header { border-bottom: 1px solid #91a19b; @@ -559,22 +573,10 @@ article.expanded div.more { .name { padding: 0.4rem 0; - text-shadow: 1px 1px 1px #03151c; + text-shadow: 1px 1px 1px black; letter-spacing: 1px; -} -.name a { color: #107aa8; } -.name a:hover { - text-decoration: none; -} -.name a:hover::after { - content: " →"; - font-size: 0.8em; - line-height: 0; - font-weight: normal; - vertical-align: -0.1em; -} .status { font-size: 2em; @@ -584,7 +586,6 @@ article.expanded div.more { text-shadow: 1px 1px 1px black; position: relative; float: right; - pointer-events: none; } .status:before, .status:after { content: ""; diff --git a/index.html b/index.html index 52115dd0..ddc8786d 100644 --- a/index.html +++ b/index.html @@ -43,17 +43,22 @@

Explore features

caution with fallback

css

-

- - animations - -

+

animations

-

CSS Animations are still in a flux. The Working Group has decided to provide a universal animation spec that would work across CSS, SVG and HTML. For now, use animations for providing additional glamour and use feature detection to provide alternative experience on browsers that do not support this feature for critical animations.

+
+

CSS Animations are still in a flux. The Working Group has decided to provide a universal animation spec that would work across CSS, SVG and HTML. For now, use animations for providing additional glamour and use feature detection to provide alternative experience on browsers that do not support this feature for critical animations.

+
- Edit info on - animations + +
@@ -62,17 +67,22 @@

use with polyfill

html

-

- - <audio> - -

+

<audio>

-

As with video, you need to provide your audio file in multiple formats for these to work—you'll need Ogg and AAC. jPlayer has a jQuery dependency. Sound Manager has an extensive API for further customization.

+
+

As with video, you need to provide your audio file in multiple formats for these to work—you'll need Ogg and AAC. jPlayer has a jQuery dependency. Sound Manager has an extensive API for further customization.

+
Recommended Polyfills:

jPlayer, Sound Manager 2

- Edit info on - <audio> + +
@@ -81,17 +91,22 @@

use with fallback

css

-

- - border-image - -

+

border-image

-

Make sure to use all the right prefixes (-o-, -webkit, -ms-, -moz-); additionally, border-image.com may help. You should let this fallback to either a normal solid border or no border at all (depending on whether a border is essential for readability). We recommend you avoid polyfills.

+
+

Make sure to use all the right prefixes (-o-, -webkit, -ms-, -moz-); additionally, border-image.com may help. You should let this fallback to either a normal solid border or no border at all (depending on whether a border is essential for readability). We recommend you avoid polyfills.

+
- Edit info on - border-image + +
@@ -100,17 +115,22 @@

use

css

-

- - border-radius - -

+

border-radius

-

border-radius can be safely used without a prefix for all modern browsers, and gracefully renders rectangles when not supported. However, note that applying this to a large area and on many elements might cause significant performance impact when scrolling or when the window is redrawn.

+
+

border-radius can be safely used without a prefix for all modern browsers, and gracefully renders rectangles when not supported. However, note that applying this to a large area and on many elements might cause significant performance impact when scrolling or when the window is redrawn.

+
- Edit info on - border-radius + +
@@ -119,17 +139,22 @@

avoid

css

-

- - box-reflection - -

+

box-reflection

-

Box reflection has never been a CSS3 spec. Parts of what you can do with box-reflection would be possible to do with CSS3 filters. Till then, please avoid using webkit only reflection. Also, as a designer you deserve better.

+
+

Box reflection has never been a CSS3 spec. Parts of what you can do with box-reflection would be possible to do with CSS3 filters. Till then, please avoid using webkit only reflection. Also, as a designer you deserve better.

+
- Edit info on - box-reflection + +
@@ -138,17 +163,22 @@

caution

css

-

- - box-shadow - -

+

box-shadow

-

Box-shadow is safe to use most of the time, except when you are applying it on a large area, which might cause significant performance hit when the user interacts with your page (on scroll, hover, etc). You do not need a polyfill.

+
+

Box-shadow is safe to use most of the time, except when you are applying it on a large area, which might cause significant performance hit when the user interacts with your page (on scroll, hover, etc). You do not need a polyfill.

+
- Edit info on - box-shadow + +
@@ -157,17 +187,22 @@

use with fallback

css

-

- - box-sizing - -

+

box-sizing

-

box-sizing: border-box may be a much more sensible default for you. You can apply it to all (*) elements if you like. Firefox is the only browser that requires a prefix for box-sizing. You can use it without a prefix for everything else. IE8 has this feature natively and you can optionally use the box-sizing polyfill to provide this feature in IE 6/7 (you could scope the adjustments using IE conditionals or Modernizr's no-box-sizing).

+
+

box-sizing: border-box may be a much more sensible default for you. You can apply it to all (*) elements if you like. Firefox is the only browser that requires a prefix for box-sizing. You can use it without a prefix for everything else. IE8 has this feature natively and you can optionally use the box-sizing polyfill to provide this feature in IE 6/7 (you could scope the adjustments using IE conditionals or Modernizr's no-box-sizing).

+
- Edit info on - box-sizing + +
@@ -176,17 +211,22 @@

avoid

css

-

- - calc() - -

+

calc()

-

IE and Firefox are the only supporting browsers, which makes using calc in production tedious given the impact it can have on layout and the consequent breaking of your design on unsupported browsers. We encourage you use it for experimentation but not for any production use.

+
+

IE and Firefox are the only supporting browsers, which makes using calc in production tedious given the impact it can have on layout and the consequent breaking of your design on unsupported browsers. We encourage you use it for experimentation but not for any production use.

+
- Edit info on - calc() + +
@@ -195,17 +235,22 @@

use with polyfill

html

-

- - <canvas> - -

+

<canvas>

-

Canvas is definitely good to go for modern browsers. If however you're looking to use it in IE 8 and below, use FlashCanvas.

+
+

Canvas is definitely good to go for modern browsers. If however you're looking to use it in IE 8 and below, use FlashCanvas.

+
Recommended Polyfills:

FlashCanvas

- Edit info on - <canvas> + +
@@ -214,17 +259,22 @@

use with polyfill

api

-

- - classList - -

+

classList

-

Classlist is unsupported in older mobile browsers and IE. This is not a concern if you are using a library like jQuery and using it to add/remove class names, but if not, make sure you use the polyfill.

+
+

Classlist is unsupported in older mobile browsers and IE. This is not a concern if you are using a library like jQuery and using it to add/remove class names, but if not, make sure you use the polyfill.

+
Recommended Polyfills:

classlist.js

- Edit info on - classList + +
@@ -233,17 +283,22 @@

use with polyfill

html

-

- - CORS - -

+

CORS

-

CORS, or cross-origin resource sharing, enables a few things, but most notably cross-domain AJAX. IE8 introduced XDomainRequest.aspx), so really only IE7 needs help with cross-domain files. Consider the polyfills below or you can fallback to using a simple proxy.

+
+

CORS, or cross-origin resource sharing, enables a few things, but most notably cross-domain AJAX. IE8 introduced XDomainRequest.aspx), so really only IE7 needs help with cross-domain files. Consider the polyfills below or you can fallback to using a simple proxy.

+
Recommended Polyfills:

postmessage-proxied-xhr, flXHR (requires crossdomain.xml), pmxdr (requires host installed)

- Edit info on - CORS + +
@@ -252,17 +307,22 @@

use with fallback

css

-

- - css3-colors - -

+

css3-colors

-

If you found yourself wanting to use papayawhip or goldenrod or indianred as your colors of choice, do feel free. You have to specify a fallback color for IE 8- users.

+
+

If you found yourself wanting to use papayawhip or goldenrod or indianred as your colors of choice, do feel free. You have to specify a fallback color for IE 8- users.

+
- Edit info on - css3-colors + +
@@ -271,17 +331,22 @@

use with polyfill

html

-

- - <datalist> - -

+

<datalist>

-

Jeremy Keith has a graceful fallback solution that does not use a script.

+
+

Jeremy Keith has a graceful fallback solution that does not use a script.

+
Recommended Polyfills:

jQuery Datalist Plugin

- Edit info on - <datalist> + +
@@ -290,17 +355,22 @@

use with fallback

api

-

- - dataset - -

+

dataset

-

elem.dataset is unsupported in IE and older mobile browsers. Using data-* attributes will be totally fine in all browsers, but instead of using elem.dataset.foo just use elem.getAttribute('data-foo'). A polyfill is availble if you want terser syntax.

+
+

elem.dataset is unsupported in IE and older mobile browsers. Using data-* attributes will be totally fine in all browsers, but instead of using elem.dataset.foo just use elem.getAttribute('data-foo'). A polyfill is availble if you want terser syntax.

+
Recommended Polyfills:

HTML5 dataset support

- Edit info on - dataset + +
@@ -309,17 +379,22 @@

use with polyfill

html

-

- - <details> - -

+

<details>

-

Use the details element if you intend to show a summary which when clicked reveals detailed information.

+
+

Use the details element if you intend to show a summary which when clicked reveals detailed information.

+
Recommended Polyfills:

Details

- Edit info on - <details> + +
@@ -328,17 +403,22 @@

caution with polyfill

api

-

- - drag-and-drop - -

+

drag-and-drop

-

Not supported in Opera

+
+

Not supported in Opera

+
Recommended Polyfills:

dropfile, fileSaver, jDataView

- Edit info on - drag-and-drop + +
@@ -347,17 +427,22 @@

use with fallback

js

-

- - ECMAScript 5 - -

+

ECMAScript 5

-

ECMAScript version 5 covers a large number of feature additions to what we normally call JavaScript. Excluding IE8, most of ES5 is supported in browsers. As it introduces no new syntax, it's possible to polyfill fairly well. The below polyfills tackle most uses of these features, but not all cases.

+
+

ECMAScript version 5 covers a large number of feature additions to what we normally call JavaScript. Excluding IE8, most of ES5 is supported in browsers. As it introduces no new syntax, it's possible to polyfill fairly well. The below polyfills tackle most uses of these features, but not all cases.

+
Recommended Polyfills:

es5-shim, augment.js

- Edit info on - ECMAScript 5 + +
@@ -366,17 +451,22 @@

use with fallback

html

-

- - Eventsource - -

+

Eventsource

-

EventSource.js provides a base fallback and is not dependent on jQuery.

+
+

EventSource.js provides a base fallback and is not dependent on jQuery.

+
Recommended Polyfills:

EventSource.js, jQuery.eventsource

- Edit info on - Eventsource + +
@@ -385,17 +475,22 @@

avoid

css

-

- - exclusions - -

+

exclusions

-

Exclusions are new and exciting, but again very much in a flux. Active development to get an implementation out is on-going, but again, please avoid using this until there are stable implementations in the wild.

+
+

Exclusions are new and exciting, but again very much in a flux. Active development to get an implementation out is on-going, but again, please avoid using this until there are stable implementations in the wild.

+
- Edit info on - exclusions + +
@@ -404,18 +499,23 @@

avoid

css

-

- - filters - -

+

filters

-

This spec is under active development and as such syntaxes are likely to -change radically before stabilizing. Avoid using this.

+
+

This spec is under active development and as such syntaxes are likely to +change radically before stabilizing. Avoid using this.

+
- Edit info on - filters + +
@@ -424,17 +524,22 @@

avoid

css

-

- - flexbox - -

+

flexbox

-

Unfortunately, older versions of this spec have been implemented in Gecko, Webkit and Trident. But the spec has changed significantly (starting from the syntax), hence we recommend you avoid using this until the stable version of the spec finds wide-spread implementation.

+
+

Unfortunately, older versions of this spec have been implemented in Gecko, Webkit and Trident. But the spec has changed significantly (starting from the syntax), hence we recommend you avoid using this until the stable version of the spec finds wide-spread implementation.

+
- Edit info on - flexbox + +
@@ -443,17 +548,22 @@

use

css

-

- - font-feature-settings - -

+

font-feature-settings

-

IE10 and Firefox 4 support low level control over font feature settings. What this means is other browsers merely will not render the flourishes you seek.

+
+

IE10 and Firefox 4 support low level control over font feature settings. What this means is other browsers merely will not render the flourishes you seek.

+
- Edit info on - font-feature-settings + +
@@ -462,17 +572,22 @@

use with fallback

css

-

- - @font-face - -

+

@font-face

-

Use the Font Squirrel Generator for fonts you have license for using as web fonts. Font Squirrel @font-face syntax is also the most bullet-proof way of serving web fonts. You do not need polyfills - just fonts in several formats; WOFF is preferred, followed by TTF and then EOT. Also, don't use sIFR or Cufon anymore.

+
+

Use the Font Squirrel Generator for fonts you have license for using as web fonts. Font Squirrel @font-face syntax is also the most bullet-proof way of serving web fonts. You do not need polyfills - just fonts in several formats; WOFF is preferred, followed by TTF and then EOT. Also, don't use sIFR or Cufon anymore.

+
- Edit info on - @font-face + +
@@ -481,17 +596,22 @@

use with fallback

api

-

- - geolocation - -

+

geolocation

-

geolocation shim uses Google's IP-geocoding service as a fallback. geo-location-javascript doesn't but has hooks into Blackberry, WebOS, and Google Gears specific APIs. In most cases, you should just not expose geo features in your app if the feature is not natively present.

+
+

geolocation shim uses Google's IP-geocoding service as a fallback. geo-location-javascript doesn't but has hooks into Blackberry, WebOS, and Google Gears specific APIs. In most cases, you should just not expose geo features in your app if the feature is not natively present.

+
- Edit info on - geolocation + +
@@ -500,19 +620,24 @@

use with fallback

css

-

- - gradients - -

+

gradients

-

We strongly recommend you use all the prefixes (-o-, -webkit, -ms-, -moz-) when you provide gradients as image values (background or border-image). Do provide a fallback color if you are using this as a value for background so browsers that do not support the gradients can render a solid background color.

+
+

We strongly recommend you use all the prefixes (-o-, -webkit, -ms-, -moz-) when you provide gradients as image values (background or border-image). Do provide a fallback color if you are using this as a value for background so browsers that do not support the gradients can render a solid background color.

-

We also suggest you drop old webkit syntax and only use the newer syntax for gradient values and not the latest one.

+

We also suggest you drop old webkit syntax and only use the newer syntax for gradient values and not the latest one.

+
- Edit info on - gradients + +
@@ -521,17 +646,22 @@

avoid

css

-

- - grids - -

+

grids

-

This is also a spec that is in a flux. Older versions of the spec has found implementation, but you should wait until the spec is more stable to use this.

+
+

This is also a spec that is in a flux. Older versions of the spec has found implementation, but you should wait until the spec is more stable to use this.

+
- Edit info on - grids + +
@@ -540,17 +670,22 @@

use with fallback

api

-

- - history - -

+

history

-

History.js has cross-compatibility between HTML5 browser implementations and optional hashchange fallback for HTML4 browsers. PJax (pushState + ajax = pjax) is what is used by Github for their fallback solution.

+
+

History.js has cross-compatibility between HTML5 browser implementations and optional hashchange fallback for HTML4 browsers. PJax (pushState + ajax = pjax) is what is used by Github for their fallback solution.

+
Recommended Polyfills:

History.js, pjax

- Edit info on - history + +
@@ -559,17 +694,22 @@

use

css

-

- - hyphens - -

+

hyphens

-

CSS3 lets you break words using hyphens. As it does not make text unreadable on browsers which do not support this feature, we recommend you use it without any polyfills or fallbacks. CSS Hyphenator is a polyfill that works on browsers that support the soft hyphen.

+
+

CSS3 lets you break words using hyphens. As it does not make text unreadable on browsers which do not support this feature, we recommend you use it without any polyfills or fallbacks. CSS Hyphenator is a polyfill that works on browsers that support the soft hyphen.

+
- Edit info on - hyphens + +
@@ -578,17 +718,22 @@

avoid

css

-

- - masks - -

+

masks

-

Masks are not in a spec and are likely never going to be. Filters might be your path to salvation.

+
+

Masks are not in a spec and are likely never going to be. Filters might be your path to salvation.

+
- Edit info on - masks + +
@@ -597,17 +742,22 @@

use with polyfill

api

-

- - matchMedia - -

+

matchMedia

-

matchMedia provides a javascript API to see if a media query will succeed. MatchMedia.js provides a shim for unsupported browsers. If you want a shim that is responsive to window resizing, you can use this fork, though its limited to browsers that support css transitions.

+
+

matchMedia provides a javascript API to see if a media query will succeed. MatchMedia.js provides a shim for unsupported browsers. If you want a shim that is responsive to window resizing, you can use this fork, though its limited to browsers that support css transitions.

+
- Edit info on - matchMedia + +
@@ -616,17 +766,22 @@

use

css

-

- - mediaqueries - -

+

mediaqueries

-

Media Queries work on all modern browsers. IE6,7,8 unfortunately do not understand media queries on features, which means none of your CSS within media queries will be parsed by them. We recommend you make peace with that (or use Chrome Frame), but if you absolutely cannot, then you can use Respond.js.

+
+

Media Queries work on all modern browsers. IE6,7,8 unfortunately do not understand media queries on features, which means none of your CSS within media queries will be parsed by them. We recommend you make peace with that (or use Chrome Frame), but if you absolutely cannot, then you can use Respond.js.

+
- Edit info on - mediaqueries + +
@@ -635,17 +790,22 @@

use with polyfill

html

-

- - <menu> - -

+

<menu>

-

Do note that this polyfill requires a jQuery dependency.

+
+

Do note that this polyfill requires a jQuery dependency.

+
Recommended Polyfills:

contextMenu

- Edit info on - <menu> + +
@@ -654,17 +814,22 @@

use with polyfill

html

-

- - <meter> - -

+

<meter>

-
+
+ +
Recommended Polyfills:

meter-polyfill, jQuery shim

- Edit info on - <meter> + +
@@ -673,17 +838,22 @@

use with fallback

css

-

- - multiple backgrounds - -

+

multiple backgrounds

-

Multiple backgrounds when unsupported are ignored completely. If you can make do with a simple background color, make sure to declare background-color: <color> before you start using multiple backgrounds or you can also set an image as a background with background-image and override it with a second background declaration. We strongly recommend you don't polyfill this.

+
+

Multiple backgrounds when unsupported are ignored completely. If you can make do with a simple background color, make sure to declare background-color: <color> before you start using multiple backgrounds or you can also set an image as a background with background-image and override it with a second background declaration. We strongly recommend you don't polyfill this.

+
- Edit info on - multiple backgrounds + +
@@ -692,17 +862,22 @@

use

css

-

- - multicolumn - -

+

multicolumn

-

IE, and Opera support CSS3 Multicol without prefixes. So you only need -webkit and -moz. We recommend you do not polyfill this.

+
+

IE, and Opera support CSS3 Multicol without prefixes. So you only need -webkit and -moz. We recommend you do not polyfill this.

+
- Edit info on - multicolumn + +
@@ -711,17 +886,22 @@

caution with fallback

html

-

- - offline - -

+

offline

-

If Application Cache isn't available natively, there is no way to mimic it. Only supporting browser will be able to load a page while offline. Still many apps can make use of local storage enable offline interaction if the page is already open.

+
+

If Application Cache isn't available natively, there is no way to mimic it. Only supporting browser will be able to load a page while offline. Still many apps can make use of local storage enable offline interaction if the page is already open.

+
- Edit info on - offline + +
@@ -730,18 +910,23 @@

use with polyfill

html

-

- - ol[reversed] - -

+

ol[reversed]

-

Please use that polyfill, as Webkit is the only engine that supports it. -Also see Louis's post about the polyfill.

+
+

Please use that polyfill, as Webkit is the only engine that supports it. +Also see Louis's post about the polyfill.

+
Recommended Polyfills:

HTML5 reverse ordered lists

- Edit info on - ol[reversed] + +
@@ -750,17 +935,22 @@

avoid

css

-

- - paged media - -

+

paged media

-

This spec is actively under development, so we recommend you wait until there are enough implementations around.

+
+

This spec is actively under development, so we recommend you wait until there are enough implementations around.

+
- Edit info on - paged media + +
@@ -769,17 +959,22 @@

use

html

-

- - placeholder - -

+

placeholder

-

Input placeholders are simply ignored in IE 9 and below. Note that they are only applied when the type of the input is text, search, tel, url, or email. Otherwise, it is ignored.

+
+

Input placeholders are simply ignored in IE 9 and below. Note that they are only applied when the type of the input is text, search, tel, url, or email. Otherwise, it is ignored.

+
Recommended Polyfills:

Placeholder jQuery Plugin

- Edit info on - placeholder + +
@@ -788,17 +983,22 @@

use with fallback

css

-

- - pointer events - -

+

pointer events

-

Pointer events are available in SVG and CSS. All modern browsers support them in SVG, but IE and Opera do not support them in CSS yet. There is a modernizr plugin to detect support which can be used to implement a JavaScript interceptor for elements which require pointer events to be disabled.

+
+

Pointer events are available in SVG and CSS. All modern browsers support them in SVG, but IE and Opera do not support them in CSS yet. There is a modernizr plugin to detect support which can be used to implement a JavaScript interceptor for elements which require pointer events to be disabled.

+
- Edit info on - pointer events + +
@@ -807,17 +1007,22 @@

use

html

-

- - postMessage - -

+

postMessage

-

postMessage is present in IE8 and up, but if you need robust support for cross-frame and cross-domain communication, use EasyXDM

+
+

postMessage is present in IE8 and up, but if you need robust support for cross-frame and cross-domain communication, use EasyXDM

+
Recommended Polyfills:

EasyXDM

- Edit info on - postMessage + +
@@ -826,17 +1031,22 @@

use with polyfill

html

-

- - <progress> - -

+

<progress>

-
+
+ +
Recommended Polyfills:

HTML5 Progress Polyfill

- Edit info on - <progress> + +
@@ -845,17 +1055,22 @@

use

css

-

- - pseudo elements - -

+

pseudo elements

-

The pseudo-element notation was updated to use a double colon - :: - in the CSS3 Selectors module. The CSS3 module requires that browsers support both the single and double colon notations for the pseudo-elements introduced in CSS1 and CSS2 - :first-line, :first-letter, :before and :after. Therefore, if you intend to support IE8+, you should use the earlier single colon notation. When adding generated content to your page with :before and :after, make sure that it is only for presentation and not to add content that should be included in the HTML source.

+
+

The pseudo-element notation was updated to use a double colon - :: - in the CSS3 Selectors module. The CSS3 module requires that browsers support both the single and double colon notations for the pseudo-elements introduced in CSS1 and CSS2 - :first-line, :first-letter, :before and :after. Therefore, if you intend to support IE8+, you should use the earlier single colon notation. When adding generated content to your page with :before and :after, make sure that it is only for presentation and not to add content that should be included in the HTML source.

+
- Edit info on - pseudo elements + +
@@ -864,17 +1079,22 @@

avoid

css

-

- - regions - -

+

regions

-

CSS Regions is in active development. As a result, the syntax is in a flux. A polyfill based on an older syntax exists, but we recommend you hold your horses till this spec seems some stability and 3 or more implementations.

+
+

CSS Regions is in active development. As a result, the syntax is in a flux. A polyfill based on an older syntax exists, but we recommend you hold your horses till this spec seems some stability and 3 or more implementations.

+
- Edit info on - regions + +
@@ -883,17 +1103,22 @@

use with fallback

html

-

- - <ruby> - -

+

<ruby>

-

If you are using Ruby element you dont need a script-based fallback but you can provide a CSS based set of good defaults.

+
+

If you are using Ruby element you dont need a script-based fallback but you can provide a CSS based set of good defaults.

+
Recommended Polyfills:

Cross-browser Ruby, basic fallback

- Edit info on - <ruby> + +
@@ -902,17 +1127,22 @@

avoid

css

-

- - scoped-css - -

+

scoped-css

-

Scoped CSS is still in active development.

+
+

Scoped CSS is still in active development.

+
- Edit info on - scoped-css + +
@@ -921,14 +1151,11 @@

use with fallback

css

-

- - selectors - -

+

selectors

-

Most CSS Selectors are supported from IE7 onwards, so you should be safe to use. But do note that, on browsers that do not support these selectors, a whole rule will be detected as invalid if these unsupported selectors are present. For example, in IE6 #main, p:first-child {} would be invalid because it is unable to understand p:first-child. We strongly recommend you do not try to polyfill this, but if you do need one, you can use Selectivizr.

+
+

Most CSS Selectors are supported from IE7 onwards, so you should be safe to use. But do note that, on browsers that do not support these selectors, a whole rule will be detected as invalid if these unsupported selectors are present. For example, in IE6 #main, p:first-child {} would be invalid because it is unable to understand p:first-child. We strongly recommend you do not try to polyfill this, but if you do need one, you can use Selectivizr.

When you sunset IE6 support, you can use:

@@ -970,10 +1197,18 @@

When you sunset IE8 support, you can use:

if (elem.innerText.trim() == 'Yes') elem.style.backgroundColor = 'green'; }); --->
+--> +
- Edit info on - selectors + +
@@ -982,17 +1217,22 @@

When you sunset IE8 support, you can use:

use with polyfill

svg

-

- - <svg> - -

+

<svg>

-

SVG has good support for several years in most browsers except IE. IE9 brings support, which means you can use a polyfill library like SVGWeb or Canvg or create SVG dynamically via RaphaelJS.

+
+

SVG has good support for several years in most browsers except IE. IE9 brings support, which means you can use a polyfill library like SVGWeb or Canvg or create SVG dynamically via RaphaelJS.

+
Recommended Polyfills:

svgweb, raphaeljs, canvg

- Edit info on - <svg> + +
@@ -1001,17 +1241,22 @@

use

css

-

- - text-overflow - -

+

text-overflow

-

Text Overflow is most commonly used for text-overflow: ellipsis. With Firefox 7, all modern browsers now support this property prefixless and you should use it. On unsupported browsers, it merely does not render the ellipsis which we feel is not bad enough to merit a polyfill. However, there is a jQuery plugin in the unlikely event of you needing one.

+
+

Text Overflow is most commonly used for text-overflow: ellipsis. With Firefox 7, all modern browsers now support this property prefixless and you should use it. On unsupported browsers, it merely does not render the ellipsis which we feel is not bad enough to merit a polyfill. However, there is a jQuery plugin in the unlikely event of you needing one.

+
- Edit info on - text-overflow + +
@@ -1020,17 +1265,22 @@

use

css

-

- - text-shadow - -

+

text-shadow

-

All modern browsers support text-shadow except IE. Since it's mostly used for decorative purposes, we do not recommend using a polyfill, just make sure the text is still legible without a text-shadow. We also advise you to avoid large text-shadows because they can have a negative impact on performance.

+
+

All modern browsers support text-shadow except IE. Since it's mostly used for decorative purposes, we do not recommend using a polyfill, just make sure the text is still legible without a text-shadow. We also advise you to avoid large text-shadows because they can have a negative impact on performance.

+
- Edit info on - text-shadow + +
@@ -1039,17 +1289,22 @@

use with fallback

css

-

- - transforms - -

+

transforms

-

Make sure you use all the right prefixes (-o-, -webkit, -ms-, -moz-). If your transforms destroy the readability of your site on browsers that do not support them, use Modernizr's no-csstransforms class to adjust the design so that the text remains readable. In the unlikely event of you needing a polyfill for unsupported browsers, use Transformie or CSSSandpaper.

+
+

Make sure you use all the right prefixes (-o-, -webkit, -ms-, -moz-). If your transforms destroy the readability of your site on browsers that do not support them, use Modernizr's no-csstransforms class to adjust the design so that the text remains readable. In the unlikely event of you needing a polyfill for unsupported browsers, use Transformie or CSSSandpaper.

+
- Edit info on - transforms + +
@@ -1058,18 +1313,23 @@

use with fallback

css

-

- - transitions - -

+

transitions

-

Most of the time, transitions just add to the experience and are not neccessary. If there is any critical interaction that requires transitions to be present, we recommend you provide an alternative experience for users on browsers that do not support this feature by feature detecting its presence. -Note that you need to use all the usual prefixes to make this work in all browsers (-o-, -webkit, -moz-, -ms-).

+
+

Most of the time, transitions just add to the experience and are not neccessary. If there is any critical interaction that requires transitions to be present, we recommend you provide an alternative experience for users on browsers that do not support this feature by feature detecting its presence. +Note that you need to use all the usual prefixes to make this work in all browsers (-o-, -webkit, -moz-, -ms-).

+
- Edit info on - transitions + +
@@ -1078,19 +1338,24 @@

use with polyfill

html

-

- - <video> - -

+

<video>

-

Do note you need to supply your video in various formats to cater to all browsers and fallbacks—Miro Video Converter makes this trivial. H264 and WebM cover all browsers (except Firefox 3.6 which needs Ogg Vorbis). Use one of the polyfills below or gracefully handle all cases without any scripting as explained by Kroc Camen in Video for Everybody.

+
+

Do note you need to supply your video in various formats to cater to all browsers and fallbacks—Miro Video Converter makes this trivial. H264 and WebM cover all browsers (except Firefox 3.6 which needs Ogg Vorbis). Use one of the polyfills below or gracefully handle all cases without any scripting as explained by Kroc Camen in Video for Everybody.

-

There is also an incredibly useful service called vid.ly which converts video online into all necessary formats and provides a short url that detects your browser/hardware and sends the correct format. Archive.org also converts MP4 videos uploaded to OGG automatically, same with audio.

+

There is also an incredibly useful service called vid.ly which converts video online into all necessary formats and provides a short url that detects your browser/hardware and sends the correct format. Archive.org also converts MP4 videos uploaded to OGG automatically, same with audio.

+
Recommended Polyfills:

Video.js, mediaelementjs

- Edit info on - <video> + +
@@ -1099,17 +1364,22 @@

use with fallback

api

-

- - webgl - -

+

webgl

-

There are polyfills and plugins to enable WebGL for IE, but you probably shouldn't use them. Use WebGL if it's present, else point the user to get.webgl.org.

+
+

There are polyfills and plugins to enable WebGL for IE, but you probably shouldn't use them. Use WebGL if it's present, else point the user to get.webgl.org.

+
- Edit info on - webgl + +
@@ -1118,17 +1388,22 @@

caution with polyfill

api

-

- - websockets - -

+

websockets

-

Making your app real-time is a huge boost and Socket.io helps with downlevel transports for browsers lacking native websocket support (and supports IE6+). However be prepared to tune your AJAX polling or Comet in order to meet the needs of your app.

+
+

Making your app real-time is a huge boost and Socket.io helps with downlevel transports for browsers lacking native websocket support (and supports IE6+). However be prepared to tune your AJAX polling or Comet in order to meet the needs of your app.

+
Recommended Polyfills:

Socket.io

- Edit info on - websockets + +
@@ -1137,18 +1412,23 @@

avoid

api

-

- - web sql - -

+

web sql

-

Although it found initial favor as a client-side database api, it has -now been abandoned in favor of IndexDB.

+
+

Although it found initial favor as a client-side database api, it has +now been abandoned in favor of IndexDB.

+
- Edit info on - web sql + +
@@ -1157,19 +1437,24 @@

use with polyfill

api

-

- - web-storage - -

+

web-storage

-

Local and session storage are a great way to store data without resorting to cookies. IE8 supported localStorage and sessionStorage so you may not need a polyfill. If you do, Remy's is a piece of cake to immplement and use.

+
+

Local and session storage are a great way to store data without resorting to cookies. IE8 supported localStorage and sessionStorage so you may not need a polyfill. If you do, Remy's is a piece of cake to immplement and use.

-

This is a simple key/value store, so if you want to store complex data use JSON.parse(str) and JSON.stringify(obj) on your way in and out. There is also no way to know if you exceeded the storage cross-browser, so wrap your store commands in try/catch. Up to 5MB is safe to use.

+

This is a simple key/value store, so if you want to store complex data use JSON.parse(str) and JSON.stringify(obj) on your way in and out. There is also no way to know if you exceeded the storage cross-browser, so wrap your store commands in try/catch. Up to 5MB is safe to use.

+
Recommended Polyfills:

Remy's storage polyfill, sessionstorage

- Edit info on - web-storage + +
diff --git a/js/script.js b/js/script.js index e0d65650..48e255d7 100644 --- a/js/script.js +++ b/js/script.js @@ -29,7 +29,7 @@ var search = document.getElementById('livesearch'), var listOptions = { listClass: 'features', - valueNames: ['kind', 'status', 'namevalue', 'tags'] + valueNames: ['kind', 'status', 'name', 'tags'] }, featureList = new List('gfs', listOptions); search.onkeyup = updatesearch; diff --git a/lib/app.js b/lib/app.js index 8b7b6078..0f055206 100644 --- a/lib/app.js +++ b/lib/app.js @@ -25,6 +25,10 @@ Handlebars.registerHelper('featuretag', function(feature) { } }); +Handlebars.registerHelper('testurl', function(url) { + return /caniuse/.exec(url) != null? 'View browser share %': 'Learn more'; +}); + // File paths var paths = { output: './index.html', diff --git a/sass/style.scss b/sass/style.scss index fa8fbcae..b0673be2 100644 --- a/sass/style.scss +++ b/sass/style.scss @@ -380,7 +380,8 @@ article > header { .kind, .name, .status { @extend .reset-margin; display: inline-block; - vertical-align: middle; + vertical-align: middle; + pointer-events: none; } @@ -407,11 +408,22 @@ article div.more { .polyfills p { display: inline; } - .updateurl { + .links { + @extend .reset-margin; font-size: 0.8em; position: absolute; bottom: 0.5em; right: 1em; + + a { padding: 0.25em 0.5em; } + a:hover { + background: $link-color; + color: #fff; + border-radius: 5px; + text-decoration: none; + text-shadow: 1px 1px 1px $dark; + } + a + a { margin-left: 0.5em; } } } @@ -443,19 +455,9 @@ article.expanded { .name { padding: 0.4rem 0; - text-shadow: 1px 1px 1px darken(#149CD7, 40%); + text-shadow: 1px 1px 1px darken(#149CD7, 60%); letter-spacing: 1px; - - a { color: darken($link-color, 10%); } - - a:hover { text-decoration: none; } - a:hover::after { - content: " →"; - font-size: 0.8em; - line-height: 0; - font-weight: normal; - vertical-align: -0.1em; - } + color: darken($link-color, 10%); } .status { @@ -466,7 +468,6 @@ article.expanded { text-shadow: 1px 1px 1px black; position: relative; float: right; - pointer-events: none; //Arrow like figures on the right diff --git a/template.html b/template.html index dc1859d6..8a4c3382 100644 --- a/template.html +++ b/template.html @@ -43,19 +43,22 @@

Explore features

{{status}} {{{polyfillaction tags}}}

{{kind}}

-

- {{#if moreurl}} - {{{featuretag feature}}} - {{else}} - {{{featuretag feature}}} - {{/if}} -

+

{{{featuretag feature}}}

-
{{{contents}}}
+
+ {{{contents}}} +
{{#if polyfillurls}}Recommended Polyfills: {{{polyfillurls}}}{{/if}}
- Edit info on - {{{featuretag feature}}} + +