| 1234567891011121314151617181920212223242526272829303132333435 |
- /*!
- {
- "name": "CSS :nth-child pseudo-selector",
- "caniuse": "css-sel3",
- "property": "nthchild",
- "tags": ["css"],
- "notes": [{
- "name": "Related Github Issue",
- "href": "https://github.com/Modernizr/Modernizr/pull/685"
- },{
- "name": "Sitepoint :nth-child documentation",
- "href": "https://www.sitepoint.com/atoz-css-screencast-nth-child/"
- }],
- "authors": ["@emilchristensen"],
- "warnings": ["Known false negative in Safari 3.1 and Safari 3.2.2"]
- }
- !*/
- /* DOC
- Detects support for the ':nth-child()' CSS pseudo-selector.
- */
- define(['Modernizr', 'testStyles'], function(Modernizr, testStyles) {
- // 5 `<div>` elements with `1px` width are created.
- // Then every other element has its `width` set to `2px`.
- // A JavaScript loop then tests if the `<div>`s have the expected width
- // using the modulus operator.
- testStyles('#modernizr div {width:1px} #modernizr div:nth-child(2n) {width:2px;}', function(elem) {
- var elems = elem.getElementsByTagName('div');
- var correctWidths = true;
- for (var i = 0; i < 5; i++) {
- correctWidths = correctWidths && elems[i].offsetWidth === i % 2 + 1;
- }
- Modernizr.addTest('nthchild', correctWidths);
- }, 5);
- });
|