├── .gitignore ├── CNAME ├── LICENSE ├── README.md ├── _config.local.yml ├── _config.yml ├── _includes ├── bsa.html ├── carbon.html ├── collections │ ├── animations-list.html │ ├── animations.html │ ├── backgrounds-list.html │ ├── backgrounds.html │ ├── box-model-list.html │ ├── box-model.html │ ├── css-grid-list.html │ ├── css-grid.html │ ├── flexbox-list.html │ ├── flexbox.html │ ├── positioning-list.html │ ├── positioning.html │ ├── transitions-list.html │ ├── transitions.html │ ├── typography-list.html │ └── typography.html ├── components │ └── finder.html ├── favicons.html ├── ff.html ├── google-fonts.html ├── lists │ ├── finder-list.html │ ├── main-list.html │ └── menu-list.html ├── menu.html ├── modals │ └── share.html ├── noscript.html ├── sister.html ├── social │ ├── button-facebook.html │ └── button-twitter.html └── svg │ ├── facebook.html │ ├── github.html │ └── twitter.html ├── _layouts ├── collection.html └── single.html ├── animations.html ├── backgrounds.html ├── box-model.html ├── css-grid.html ├── css ├── website.css └── website.sass ├── favicons ├── android-chrome-192x192.png ├── android-chrome-384x384.png ├── apple-touch-icon.png ├── browserconfig.xml ├── favicon-16x16.png ├── favicon-32x32.png ├── favicon.ico ├── manifest.json ├── mstile-150x150.png └── safari-pinned-tab.svg ├── flexbox.html ├── images ├── bulma-logo.png ├── css-reference-icon.png ├── css-reference-logo.png ├── css-reference-share.png ├── css-reference-type.png ├── fortyfour-background.jpg ├── html-reference-logo.png ├── hugging-face.png ├── jt.png ├── landscape.jpg ├── landscape.png └── list-style-image.png ├── index.html ├── javascript ├── clipboard.min.js ├── collection.js ├── index.js ├── main.js └── single.js ├── package.json ├── positioning.html ├── property ├── align-content │ └── index.html ├── align-items │ └── index.html ├── align-self │ └── index.html ├── animation-delay │ └── index.html ├── animation-direction │ └── index.html ├── animation-duration │ └── index.html ├── animation-fill-mode │ └── index.html ├── animation-iteration-count │ └── index.html ├── animation-name │ └── index.html ├── animation-play-state │ └── index.html ├── animation-timing-function │ └── index.html ├── animation │ └── index.html ├── background-attachment │ └── index.html ├── background-clip │ └── index.html ├── background-color │ └── index.html ├── background-image │ └── index.html ├── background-origin │ └── index.html ├── background-position │ └── index.html ├── background-repeat │ └── index.html ├── background-size │ └── index.html ├── background │ └── index.html ├── border-bottom-color │ └── index.html ├── border-bottom-left-radius │ └── index.html ├── border-bottom-right-radius │ └── index.html ├── border-bottom-style │ └── index.html ├── border-bottom-width │ └── index.html ├── border-bottom │ └── index.html ├── border-collapse │ └── index.html ├── border-color │ └── index.html ├── border-left-color │ └── index.html ├── border-left-style │ └── index.html ├── border-left-width │ └── index.html ├── border-left │ └── index.html ├── border-radius │ └── index.html ├── border-right-color │ └── index.html ├── border-right-style │ └── index.html ├── border-right-width │ └── index.html ├── border-right │ └── index.html ├── border-style │ └── index.html ├── border-top-color │ └── index.html ├── border-top-left-radius │ └── index.html ├── border-top-right-radius │ └── index.html ├── border-top-style │ └── index.html ├── border-top-width │ └── index.html ├── border-top │ └── index.html ├── border-width │ └── index.html ├── border │ └── index.html ├── bottom │ └── index.html ├── box-shadow │ └── index.html ├── box-sizing │ └── index.html ├── clear │ └── index.html ├── color │ └── index.html ├── column-count │ └── index.html ├── column-gap │ └── index.html ├── column-width │ └── index.html ├── content │ └── index.html ├── cursor │ └── index.html ├── display │ └── index.html ├── flex-basis │ └── index.html ├── flex-direction │ └── index.html ├── flex-flow │ └── index.html ├── flex-grow │ └── index.html ├── flex-shrink │ └── index.html ├── flex-wrap │ └── index.html ├── float │ └── index.html ├── font-family │ └── index.html ├── font-size │ └── index.html ├── font-style │ └── index.html ├── font-variant │ └── index.html ├── font-weight │ └── index.html ├── font │ └── index.html ├── grid-area │ └── index.html ├── grid-auto-columns │ └── index.html ├── grid-auto-flow │ └── index.html ├── grid-auto-rows │ └── index.html ├── grid-column-end │ └── index.html ├── grid-column-gap │ └── index.html ├── grid-column-start │ └── index.html ├── grid-column │ └── index.html ├── grid-gap │ └── index.html ├── grid-row-end │ └── index.html ├── grid-row-gap │ └── index.html ├── grid-row-start │ └── index.html ├── grid-row │ └── index.html ├── grid-template-areas │ └── index.html ├── grid-template-columns │ └── index.html ├── grid-template-rows │ └── index.html ├── grid-template │ └── index.html ├── grid │ └── index.html ├── height │ └── index.html ├── justify-content │ └── index.html ├── left │ └── index.html ├── letter-spacing │ └── index.html ├── line-height │ └── index.html ├── list-style-image │ └── index.html ├── list-style-position │ └── index.html ├── list-style-type │ └── index.html ├── list-style │ └── index.html ├── margin-bottom │ └── index.html ├── margin-left │ └── index.html ├── margin-right │ └── index.html ├── margin-top │ └── index.html ├── margin │ └── index.html ├── max-height │ └── index.html ├── max-width │ └── index.html ├── min-height │ └── index.html ├── min-width │ └── index.html ├── mix-blend-mode │ └── index.html ├── opacity │ └── index.html ├── order │ └── index.html ├── outline-color │ └── index.html ├── outline-style │ └── index.html ├── outline-width │ └── index.html ├── outline │ └── index.html ├── overflow-wrap │ └── index.html ├── overflow-x │ └── index.html ├── overflow-y │ └── index.html ├── overflow │ └── index.html ├── padding-bottom │ └── index.html ├── padding-left │ └── index.html ├── padding-right │ └── index.html ├── padding-top │ └── index.html ├── padding │ └── index.html ├── pointer-events │ └── index.html ├── position │ └── index.html ├── resize │ └── index.html ├── right │ └── index.html ├── text-align │ └── index.html ├── text-decoration │ └── index.html ├── text-indent │ └── index.html ├── text-overflow │ └── index.html ├── text-shadow │ └── index.html ├── text-transform │ └── index.html ├── top │ └── index.html ├── transform-origin │ └── index.html ├── transform │ └── index.html ├── transition-delay │ └── index.html ├── transition-duration │ └── index.html ├── transition-property │ └── index.html ├── transition-timing-function │ └── index.html ├── transition │ └── index.html ├── vertical-align │ └── index.html ├── white-space │ └── index.html ├── width │ └── index.html ├── will-change │ └── index.html ├── word-break │ └── index.html ├── word-spacing │ └── index.html └── z-index │ └── index.html ├── sass ├── base.sass ├── controls.sass ├── elements.sass ├── example.sass ├── ff.sass ├── finder.sass ├── footer.sass ├── functions.sass ├── header.sass ├── heading.sass ├── index.sass ├── keyframes.sass ├── list.sass ├── menu.sass ├── minireset.sass ├── mixins.sass ├── modal.sass ├── property.sass ├── sister.sass ├── tooltip.sass └── variables.sass ├── transitions.html └── typography.html /.gitignore: -------------------------------------------------------------------------------- 1 | # Files 2 | 3 | .config.local.yml 4 | .DS_Store 5 | .jekyll-metadata 6 | .ruby-version 7 | npm-debug.log 8 | test.sass 9 | 10 | # Folders 11 | 12 | .idea/ 13 | .sass-cache 14 | _gh_pages 15 | _site 16 | images/trash 17 | node_modules 18 | -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | cssreference.io -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Jeremy Thomas 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [CSS Reference](https://cssreference.io): a free visual guide to the most popular CSS properties 2 | 3 | [![CSS Reference screenshot](https://raw.github.com/jgthms/css-reference/master/images/css-reference-share.png)](https://cssreference.io) 4 | 5 | # License 6 | 7 | The content of this project itself is licensed under the [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/). 8 | 9 | The underlying source code used to format and display that content is licensed under the [MIT license](https://opensource.org/licenses/mit-license.php). 10 | 11 |

Browser testing via

12 | -------------------------------------------------------------------------------- /_config.local.yml: -------------------------------------------------------------------------------- 1 | title: CSS Reference 2 | subtitle: "A free visual guide to CSS" 3 | description: "CSS Reference is a free visual guide to CSS. It features the most popular properties, and explains them with illustrated and animated examples." 4 | share: "CSS Reference: a free visual guide to the most popular CSS properties." 5 | url: http://localhost:4000 6 | markdown: kramdown 7 | permalink: pretty 8 | exclude: ['node_modules'] 9 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | title: CSS Reference 2 | subtitle: "A free visual guide to CSS" 3 | description: "CSS Reference is a free visual guide to CSS. It features the most popular properties, and explains them with illustrated and animated examples." 4 | share: "CSS Reference: a free visual guide to the most popular CSS properties." 5 | url: https://cssreference.io 6 | markdown: kramdown 7 | permalink: pretty 8 | exclude: ['node_modules'] 9 | -------------------------------------------------------------------------------- /_includes/bsa.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 12 | -------------------------------------------------------------------------------- /_includes/carbon.html: -------------------------------------------------------------------------------- 1 | 29 | 30 |
31 |
32 |

CSS Reference is free and always will be!

33 |

Please whitelist us in your ad blocker.

34 |

Thank you! Hugging face emoji

35 |
36 | 37 |
38 |
39 |
40 | 41 |
42 | 43 |
44 | 45 |
46 |
47 | -------------------------------------------------------------------------------- /_includes/collections/animations-list.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/collections/backgrounds-list.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/collections/css-grid-list.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/collections/flexbox-list.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/collections/positioning-list.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/collections/transitions-list.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/collections/typography-list.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/favicons.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /_includes/ff.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |

4 | New! My 44-page ebook "CSS in 44 minutes" is out! 😃 5 |

6 | 7 | Get it now → 8 | 9 |
10 | -------------------------------------------------------------------------------- /_includes/google-fonts.html: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /_includes/modals/share.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/noscript.html: -------------------------------------------------------------------------------- 1 | 17 | -------------------------------------------------------------------------------- /_includes/sister.html: -------------------------------------------------------------------------------- 1 | 34 | -------------------------------------------------------------------------------- /_includes/social/button-facebook.html: -------------------------------------------------------------------------------- 1 | 6 | {% include svg/facebook.html %} 7 | 8 | -------------------------------------------------------------------------------- /_includes/social/button-twitter.html: -------------------------------------------------------------------------------- 1 | 9 | {% include svg/twitter.html %} 10 | 11 | -------------------------------------------------------------------------------- /_includes/svg/facebook.html: -------------------------------------------------------------------------------- 1 | 4 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /_includes/svg/github.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/svg/twitter.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /_layouts/collection.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | {{page.collection_name}} - {{site.title}} 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | {% include favicons.html %} 28 | 29 | 30 | {% include menu.html %} 31 |
32 |
33 |
34 |

35 | {{page.collection_name}} in CSS 36 |

37 |

The CSS properties that allow you to {{page.description}}

38 |
39 |

40 | Share this page 41 | 48 | {% include svg/twitter.html %} 49 | 50 | 54 | {% include svg/facebook.html %} 55 | 56 |

57 |
58 | {% include ff.html %} 59 |
60 | {% include bsa.html %} 61 |
62 |
63 | {{content}} 64 |
65 |
66 | {% include modals/share.html %} 67 | {% include google-fonts.html %} 68 | 69 | 70 | 71 | {% include noscript.html %} 72 | 73 | 74 | -------------------------------------------------------------------------------- /_layouts/single.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | {{page.property_name}} - {{site.title}} 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | {% include favicons.html %} 28 | 29 | 30 | {% include menu.html %} 31 |
32 |
33 | {% include bsa.html %} 34 |
35 |
36 | {% include ff.html %} 37 | {{content}} 38 |
39 |
40 | {% include modals/share.html %} 41 | {% include google-fonts.html %} 42 | 43 | 44 | 45 | {% include noscript.html %} 46 | 47 | 48 | -------------------------------------------------------------------------------- /animations.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: collection 3 | collection_name: "Animations" 4 | menu_list: "animations-list" 5 | description: "animate almost any other property" 6 | --- 7 | 8 | {% include collections/animations.html %} 9 | -------------------------------------------------------------------------------- /backgrounds.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: collection 3 | collection_name: "Backgrounds" 4 | menu_list: "backgrounds-list" 5 | description: "style the background of an element with colors and images" 6 | --- 7 | 8 | {% include collections/backgrounds.html %} 9 | -------------------------------------------------------------------------------- /box-model.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: collection 3 | collection_name: "Box model" 4 | menu_list: "box-model-list" 5 | description: "define the size and behavior of the HTML element" 6 | --- 7 | 8 | {% include collections/box-model.html %} 9 | -------------------------------------------------------------------------------- /css-grid.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: collection 3 | collection_name: "Grid" 4 | menu_list: "css-grid-list" 5 | description: "use the CSS Grid capabilities" 6 | --- 7 | 8 | {% include collections/css-grid.html %} 9 | -------------------------------------------------------------------------------- /css/website.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | 3 | @import "../sass/minireset" 4 | @import "../sass/functions" 5 | @import "../sass/variables" 6 | @import "../sass/mixins" 7 | @import "../sass/tooltip" 8 | 9 | @import "../sass/base" 10 | @import "../sass/controls" 11 | @import "../sass/menu" 12 | @import "../sass/header" 13 | @import "../sass/footer" 14 | @import "../sass/index" 15 | @import "../sass/finder" 16 | @import "../sass/heading" 17 | @import "../sass/list" 18 | @import "../sass/property" 19 | @import "../sass/example" 20 | @import "../sass/modal" 21 | @import "../sass/keyframes" 22 | @import "../sass/sister" 23 | 24 | @import "../sass/elements" 25 | @import "../sass/ff" 26 | 27 | .modal, 28 | .bsa-cpc 29 | z-index: 50 30 | 31 | .menu 32 | z-index: 40 33 | 34 | .footer 35 | z-index: 30 36 | 37 | .properties, 38 | .list 39 | z-index: 20 40 | 41 | .header 42 | z-index: 10 43 | -------------------------------------------------------------------------------- /favicons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/favicons/android-chrome-192x192.png -------------------------------------------------------------------------------- /favicons/android-chrome-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/favicons/android-chrome-384x384.png -------------------------------------------------------------------------------- /favicons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/favicons/apple-touch-icon.png -------------------------------------------------------------------------------- /favicons/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #00d1b2 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /favicons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/favicons/favicon-16x16.png -------------------------------------------------------------------------------- /favicons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/favicons/favicon-32x32.png -------------------------------------------------------------------------------- /favicons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/favicons/favicon.ico -------------------------------------------------------------------------------- /favicons/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CSS Reference", 3 | "icons": [ 4 | { 5 | "src": "/favicons/android-chrome-192x192.png?v=201702181118", 6 | "sizes": "192x192", 7 | "type": "image/png" 8 | }, 9 | { 10 | "src": "/favicons/android-chrome-384x384.png?v=201702181118", 11 | "sizes": "384x384", 12 | "type": "image/png" 13 | } 14 | ], 15 | "theme_color": "#00d1b2", 16 | "background_color": "#00d1b2", 17 | "display": "standalone" 18 | } -------------------------------------------------------------------------------- /favicons/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/favicons/mstile-150x150.png -------------------------------------------------------------------------------- /flexbox.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: collection 3 | collection_name: "Flexbox" 4 | menu_list: "flexbox-list" 5 | description: "use the CSS3 Flexbox capabilities" 6 | --- 7 | 8 | {% include collections/flexbox.html %} 9 | -------------------------------------------------------------------------------- /images/bulma-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/images/bulma-logo.png -------------------------------------------------------------------------------- /images/css-reference-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/images/css-reference-icon.png -------------------------------------------------------------------------------- /images/css-reference-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/images/css-reference-logo.png -------------------------------------------------------------------------------- /images/css-reference-share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/images/css-reference-share.png -------------------------------------------------------------------------------- /images/css-reference-type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/images/css-reference-type.png -------------------------------------------------------------------------------- /images/fortyfour-background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/images/fortyfour-background.jpg -------------------------------------------------------------------------------- /images/html-reference-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/images/html-reference-logo.png -------------------------------------------------------------------------------- /images/hugging-face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/images/hugging-face.png -------------------------------------------------------------------------------- /images/jt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/images/jt.png -------------------------------------------------------------------------------- /images/landscape.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/images/landscape.jpg -------------------------------------------------------------------------------- /images/landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/images/landscape.png -------------------------------------------------------------------------------- /images/list-style-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jgthms/css-reference/681c999776e759a213a6adea47354e2917864bef/images/list-style-image.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | --- 2 | template: index 3 | --- 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | {{site.title}} - {{site.subtitle}} 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | {% include favicons.html %} 33 | 34 | 35 |
36 |
37 |

38 | {{site.title}} icon 39 | {{site.title}} type 40 |

41 |
42 |
43 | {% include carbon.html %} 44 |
45 |
46 |

47 | {{site.subtitle}} 48 |

49 |

50 | Learn by example: cssreference.io is a free visual guide to CSS. It features the most popular properties, and explains them with illustrated and animated examples. 51 |

52 | 56 |
57 |
58 |
59 |
60 | {% include ff.html %} 61 |
62 | 73 |
74 |
75 | {% include components/finder.html %} 76 |
77 |
78 |
79 | {% include sister.html %} 80 | {% include modals/share.html %} 81 | {% include google-fonts.html %} 82 | 83 | 84 | {% include noscript.html %} 85 | 86 | 87 | -------------------------------------------------------------------------------- /javascript/collection.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function() { 2 | var $root = document.documentElement; 3 | var $alo = document.getElementById('alo'); 4 | var $bsaShadow = document.getElementById('bsaShadow'); 5 | 6 | var toTravel = $root.scrollHeight - window.innerHeight; 7 | var fromTop = $alo.offsetTop; 8 | var menuThrottle = null; 9 | 10 | if ($alo) { 11 | document.addEventListener('scroll', function(event) { 12 | var scrollTop = window.scrollY; 13 | setBsa(scrollTop); 14 | clearTimeout(menuThrottle); 15 | throttle = setTimeout(setBsaShadows(scrollTop), 100); 16 | }); 17 | 18 | function setBsaShadows(scrollTop) { 19 | var distance = toTravel - scrollTop; 20 | var topFactor = 1 - (distance / toTravel); 21 | $bsaShadow.style.opacity = topFactor; 22 | $bsaShadow.style.transform = 'scaleY(' + topFactor + ')'; 23 | } 24 | 25 | function setBsa(scrollTop) { 26 | if (scrollTop >= fromTop) { 27 | $alo.classList.add('is-fixed'); 28 | } else { 29 | $alo.classList.remove('is-fixed'); 30 | } 31 | } 32 | 33 | setBsaShadows(0); 34 | } 35 | 36 | // Hashes 37 | var $hashes = document.querySelectorAll('.hash, .menu-list-ul li a'); 38 | 39 | Array.prototype.forEach.call($hashes, function($el) { 40 | $el.addEventListener('click', function(event) { 41 | event.preventDefault(); 42 | var propertyName = $el.dataset.propertyName; 43 | var $target = document.getElementById($el.dataset.propertyName); 44 | history.replaceState('', document.title, '#' + propertyName); 45 | 46 | if ($target) { 47 | $target.scrollIntoView(); 48 | } 49 | }); 50 | }); 51 | }); 52 | -------------------------------------------------------------------------------- /javascript/index.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function() { 2 | // Logo 3 | var $logo = document.getElementById('logo'); 4 | 5 | $logo.addEventListener('click', function(event) { 6 | event.preventDefault(); 7 | history.replaceState('', document.title, ' '); 8 | window.scrollTo(0,0); 9 | }); 10 | }); 11 | -------------------------------------------------------------------------------- /javascript/single.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function() { 2 | var $root = document.documentElement; 3 | var toTravel = $root.scrollHeight - window.innerHeight; 4 | var $bsaShadow = document.getElementById('bsaShadow'); 5 | var menuThrottle = null; 6 | 7 | if ($bsaShadow) { 8 | document.addEventListener('scroll', function(event) { 9 | clearTimeout(menuThrottle); 10 | throttle = setTimeout(setBsaShadows(), 100); 11 | }); 12 | 13 | function setBsaShadows() { 14 | var scrollTop = window.scrollY; 15 | var distance = toTravel - scrollTop; 16 | var topFactor = 1 - (distance / toTravel); 17 | $bsaShadow.style.opacity = topFactor; 18 | $bsaShadow.style.transform = 'scaleY(' + topFactor + ')'; 19 | } 20 | 21 | setBsaShadows(); 22 | } 23 | }); 24 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "css-reference", 3 | "version": "1.0.0", 4 | "description": "A visual guide to the most popular CSS properties.", 5 | "main": "css/website.sass", 6 | "scripts": { 7 | "build": "npm run build-clean && npm run build-sass && npm run build-autoprefix", 8 | "build-autoprefix": "postcss --use autoprefixer --output css/website.css css/website.css", 9 | "build-clean": "rm css/website.css", 10 | "build-sass": "node-sass --output-style compressed css/website.sass css/website.css", 11 | "develop": "node-sass css/website.sass css/website.css", 12 | "start": "npm run develop -- --watch" 13 | }, 14 | "keywords": [ 15 | "css", 16 | "sass", 17 | "jekyll" 18 | ], 19 | "author": "Jeremy Thomas (https://jgthms.com)", 20 | "license": "ISC", 21 | "devDependencies": { 22 | "autoprefixer": "^6.5.3", 23 | "node-sass": "^3.11.3", 24 | "postcss-cli": "^2.6.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /positioning.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: collection 3 | collection_name: "Positioning" 4 | menu_list: "positioning-list" 5 | description: "position elements manually in HTML" 6 | --- 7 | 8 | {% include collections/positioning.html %} 9 | -------------------------------------------------------------------------------- /property/animation/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: animation 4 | --- 5 | 6 |
7 |
8 | 17 |

18 | #animation 19 |

20 |
21 |

Shorthand property for animation-name animation-duration animation-timing-function animation-delay animation-iteration-count animation-direction animation-fill-mode and animation-play-state.

22 |

Only animation-duration and animation-name are required.

23 | 24 |
25 | 26 |
27 | 28 | 29 | 30 | 31 | 32 | 33 |
34 | -------------------------------------------------------------------------------- /property/background-attachment/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: background-attachment 4 | --- 5 | 6 |
7 |
8 | 17 |

18 | #background-attachment 19 |

20 |
21 |

Defines how the background image will behave when scrolling the page.

22 | 23 |
24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |
34 |
35 |

36 | default 37 | 38 | 39 | background-attachment: scroll; 40 |

41 |
42 |

The background image will scroll with the page. It will also position and resize itself according to the element it's applied to.

43 | 44 |
45 |
46 | 47 | 53 | 54 |
55 |
56 |
57 |

58 | 59 | 60 | background-attachment: fixed; 61 |

62 |
63 |

The background image will not scroll with the page, and remain positioned according to the viewport. It will also position and resize itself according to the viewport. As a result, the background image will probably only be partially visible.

64 | 65 |
66 |
67 | 68 | 74 | 75 |
76 | 77 |
78 | -------------------------------------------------------------------------------- /property/background-clip/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: background-clip 4 | --- 5 | 6 |
7 |
8 | 16 |

17 | #background-clip 18 |

19 |
20 |

Defines how far the background should extend within the element.

21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 |
33 |

34 | default 35 | 36 | 37 | background-clip: border-box; 38 |

39 |
40 |

The background extends completely throughout the element, even under the border.

41 | 42 |
43 |
44 | 45 | 51 | 52 |
53 |
54 |
55 |

56 | 57 | 58 | background-clip: padding-box; 59 |

60 |
61 |

The background only extends to the edge of the border: it includes the padding but not the border.

62 | 63 |
64 |
65 | 66 | 72 | 73 |
74 |
75 |
76 |

77 | 78 | 79 | background-clip: content-box; 80 |

81 |
82 |

The background only extends to the edge of the content: it doesn't include the padding, nor the border.

83 | 84 |
85 |
86 | 87 | 93 | 94 |
95 | 96 |
97 | -------------------------------------------------------------------------------- /property/background/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: background 4 | --- 5 | 6 |
7 |
8 | 16 |

17 | #background 18 |

19 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 | -------------------------------------------------------------------------------- /property/border-bottom-color/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: border-bottom-color 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #border-bottom-color 15 |

16 |
17 |

Like border-color, but for the bottom border only.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 |
30 |

31 | 32 | 33 | border-bottom-color: transparent; 34 |

35 |
36 |

Applies a transparent color to the bottom border. The bottom border will still take up the space defined by the border-width value.

37 | 38 |
39 |
40 | 41 | 47 | 48 |
49 |
50 |
51 |

52 | 53 | 54 | border-bottom-color: red; 55 |

56 |
57 |

You can use one of the 140+ color names.

58 | 59 |
60 |
61 | 62 | 68 | 69 |
70 |
71 |
72 |

73 | 74 | 75 | border-bottom-color: #05ffb0; 76 |

77 |
78 |

You can use hexadecimal color codes, rgb(), rgba(), hsl(), hsla()...

79 | 80 |
81 |
82 | 83 | 89 | 90 |
91 | 92 |
93 | -------------------------------------------------------------------------------- /property/border-bottom-width/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: border-bottom-width 4 | --- 5 | 6 |
7 |
8 | 16 |

17 | #border-bottom-width 18 |

19 |
20 |

Like border-width, but for the bottom border only.

21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 |
33 |

34 | default 35 | 36 | 37 | border-bottom-width: 0; 38 |

39 |
40 |

Removes the bottom border.

41 | 42 |
43 |
44 | 45 | 51 | 52 |
53 |
54 |
55 |

56 | 57 | 58 | border-bottom-width: 4px; 59 |

60 |
61 |

You can use pixel values.

62 | 63 |
64 |
65 | 66 | 72 | 73 |
74 | 75 |
76 | -------------------------------------------------------------------------------- /property/border-bottom/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: border-bottom 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #border-bottom 15 |

16 |
17 |

Shorthand property for border-bottom-width border-bottom-style and border-bottom-color.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 |
28 |
29 |

30 | 31 | 32 | border-bottom: 4px dotted red; 33 |

34 |
35 |

The order is important:

36 |
  • width
  • style
  • color
37 |
38 |
39 | 40 | 46 | 47 |
48 |
49 |
50 |

51 | 52 | 53 | border-bottom: 2px solid; 54 |

55 |
56 |

Only the color is optional. If you omit it, the color applied will be the color of the text.

57 | 58 |
59 |
60 | 61 | 67 | 68 |
69 | 70 |
71 | -------------------------------------------------------------------------------- /property/border-left-color/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: border-left-color 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #border-left-color 15 |

16 |
17 |

Like border-color, but for the left border only.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 |
30 |

31 | 32 | 33 | border-left-color: transparent; 34 |

35 |
36 |

Applies a transparent color to the left border. The left border will still take up the space defined by the border-width value.

37 | 38 |
39 |
40 | 41 | 47 | 48 |
49 |
50 |
51 |

52 | 53 | 54 | border-left-color: red; 55 |

56 |
57 |

You can use one of the 140+ color names.

58 | 59 |
60 |
61 | 62 | 68 | 69 |
70 |
71 |
72 |

73 | 74 | 75 | border-left-color: #05ffb0; 76 |

77 |
78 |

You can use hexadecimal color codes, rgb(), rgba(), hsl(), hsla()...

79 | 80 |
81 |
82 | 83 | 89 | 90 |
91 | 92 |
93 | -------------------------------------------------------------------------------- /property/border-left-width/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: border-left-width 4 | --- 5 | 6 |
7 |
8 | 16 |

17 | #border-left-width 18 |

19 |
20 |

Like border-width, but for the left border only.

21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 |
33 |

34 | default 35 | 36 | 37 | border-left-width: 0; 38 |

39 |
40 |

Removes the left border.

41 | 42 |
43 |
44 | 45 | 51 | 52 |
53 |
54 |
55 |

56 | 57 | 58 | border-left-width: 4px; 59 |

60 |
61 |

You can use pixel values.

62 | 63 |
64 |
65 | 66 | 72 | 73 |
74 | 75 |
76 | -------------------------------------------------------------------------------- /property/border-left/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: border-left 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #border-left 15 |

16 |
17 |

Shorthand property for border-left-width border-left-style and border-left-color.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 |
28 |
29 |

30 | 31 | 32 | border-left: 4px dotted red; 33 |

34 |
35 |

The order is important:

36 |
  • width
  • style
  • color
37 |
38 |
39 | 40 | 46 | 47 |
48 |
49 |
50 |

51 | 52 | 53 | border-left: 2px solid; 54 |

55 |
56 |

Only the color is optional. If you omit it, the color applied will be the color of the text.

57 | 58 |
59 |
60 | 61 | 67 | 68 |
69 | 70 |
71 | -------------------------------------------------------------------------------- /property/border-right-color/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: border-right-color 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #border-right-color 15 |

16 |
17 |

Like border-color, but for the right border only.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 |
30 |

31 | 32 | 33 | border-right-color: transparent; 34 |

35 |
36 |

Applies a transparent color to the right border. The right border will still take up the space defined by the border-width value.

37 | 38 |
39 |
40 | 41 | 47 | 48 |
49 |
50 |
51 |

52 | 53 | 54 | border-right-color: red; 55 |

56 |
57 |

You can use one of the 140+ color names.

58 | 59 |
60 |
61 | 62 | 68 | 69 |
70 |
71 |
72 |

73 | 74 | 75 | border-right-color: #05ffb0; 76 |

77 |
78 |

You can use hexadecimal color codes, rgb(), rgba(), hsl(), hsla()...

79 | 80 |
81 |
82 | 83 | 89 | 90 |
91 | 92 |
93 | -------------------------------------------------------------------------------- /property/border-right-width/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: border-right-width 4 | --- 5 | 6 |
7 |
8 | 16 |

17 | #border-right-width 18 |

19 |
20 |

Like border-width, but for the right border only.

21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 |
33 |

34 | default 35 | 36 | 37 | border-right-width: 0; 38 |

39 |
40 |

Removes the right border.

41 | 42 |
43 |
44 | 45 | 51 | 52 |
53 |
54 |
55 |

56 | 57 | 58 | border-right-width: 4px; 59 |

60 |
61 |

You can use pixel values.

62 | 63 |
64 |
65 | 66 | 72 | 73 |
74 | 75 |
76 | -------------------------------------------------------------------------------- /property/border-right/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: border-right 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #border-right 15 |

16 |
17 |

Shorthand property for border-right-width border-right-style and border-right-color.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 |
28 |
29 |

30 | 31 | 32 | border-right: 4px dotted red; 33 |

34 |
35 |

The order is important:

36 |
  • width
  • style
  • color
37 |
38 |
39 | 40 | 46 | 47 |
48 |
49 |
50 |

51 | 52 | 53 | border-right: 2px solid; 54 |

55 |
56 |

Only the color is optional. If you omit it, the color applied will be the color of the text.

57 | 58 |
59 |
60 | 61 | 67 | 68 |
69 | 70 |
71 | -------------------------------------------------------------------------------- /property/border-top-color/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: border-top-color 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #border-top-color 15 |

16 |
17 |

Like border-color, but for the top border only.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 |
30 |

31 | 32 | 33 | border-top-color: transparent; 34 |

35 |
36 |

Applies a transparent color to the top border. The top border will still take up the space defined by the border-width value.

37 | 38 |
39 |
40 | 41 | 47 | 48 |
49 |
50 |
51 |

52 | 53 | 54 | border-top-color: red; 55 |

56 |
57 |

You can use one of the 140+ color names.

58 | 59 |
60 |
61 | 62 | 68 | 69 |
70 |
71 |
72 |

73 | 74 | 75 | border-top-color: #05ffb0; 76 |

77 |
78 |

You can use hexadecimal color codes, rgb(), rgba(), hsl(), hsla()...

79 | 80 |
81 |
82 | 83 | 89 | 90 |
91 | 92 |
93 | -------------------------------------------------------------------------------- /property/border-top-width/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: border-top-width 4 | --- 5 | 6 |
7 |
8 | 16 |

17 | #border-top-width 18 |

19 |
20 |

Like border-width, but for the top border only.

21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 |
33 |

34 | default 35 | 36 | 37 | border-top-width: 0; 38 |

39 |
40 |

Removes the top border.

41 | 42 |
43 |
44 | 45 | 51 | 52 |
53 |
54 |
55 |

56 | 57 | 58 | border-top-width: 4px; 59 |

60 |
61 |

You can use pixel values.

62 | 63 |
64 |
65 | 66 | 72 | 73 |
74 | 75 |
76 | -------------------------------------------------------------------------------- /property/border-top/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: border-top 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #border-top 15 |

16 |
17 |

Shorthand property for border-top-width border-top-style and border-top-color.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 |
28 |
29 |

30 | 31 | 32 | border-top: 4px dotted red; 33 |

34 |
35 |

The order is important:

36 |
  • width
  • style
  • color
37 |
38 |
39 | 40 | 46 | 47 |
48 |
49 |
50 |

51 | 52 | 53 | border-top: 2px solid; 54 |

55 |
56 |

Only the color is optional. If you omit it, the color applied will be the color of the text.

57 | 58 |
59 |
60 | 61 | 67 | 68 |
69 | 70 |
71 | -------------------------------------------------------------------------------- /property/border-width/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: border-width 4 | --- 5 | 6 |
7 |
8 | 16 |

17 | #border-width 18 |

19 |
20 |

Defines the width of the element's borders.

21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 |
33 |

34 | 35 | 36 | border-width: 1px; 37 |

38 |
39 |

Defines the width of all borders to 1px.

40 | 41 |
42 |
43 | 44 | 50 | 51 |
52 |
53 |
54 |

55 | 56 | 57 | border-width: 2px 0; 58 |

59 |
60 |

Defines the top and bottom borders to 2px, the left and right to 0.

61 | 62 |
63 |
64 | 65 | 71 | 72 |
73 | 74 |
75 | -------------------------------------------------------------------------------- /property/border/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: border 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #border 15 |

16 |
17 |

Shorthand property for border-width border-style and border-color.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 |
28 |
29 |

30 | 31 | 32 | border: 4px dotted red; 33 |

34 |
35 |

The order is important:

36 |
  • width
  • style
  • color
37 |
38 |
39 | 40 | 46 | 47 |
48 |
49 |
50 |

51 | 52 | 53 | border: 2px solid; 54 |

55 |
56 |

Only the color is optional. If you omit it, the color applied will be the color of the text.

57 | 58 |
59 |
60 | 61 | 67 | 68 |
69 | 70 |
71 | -------------------------------------------------------------------------------- /property/column-count/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: column-count 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #column-count 15 |

16 |
17 |

Defines the number of columns of the element.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 |
28 |
29 |

30 | default 31 | 32 | 33 | column-count: auto; 34 |

35 |
36 |

Removes any columns from the element (unless another column- property was set).

37 | 38 |
39 |
40 | 41 | 47 | 48 |
49 |
50 |
51 |

52 | 53 | 54 | column-count: 3; 55 |

56 |
57 |

When using an integer value, the element will distribute its child elements across the number of columns defined.

58 | 59 |
60 |
61 | 62 | 68 | 69 | 70 |
71 | 72 |
73 | -------------------------------------------------------------------------------- /property/column-gap/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: column-gap 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #column-gap 15 |

16 |
17 |

Defines the gap between the columns of the element.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 |
30 |

31 | default 32 | 33 | 34 | column-gap: normal; 35 |

36 |
37 |

The gap between the columns is set to the browser's default value, which usually is 1em.

38 | 39 |
40 |
41 | 42 | 48 | 49 |
50 |
51 |
52 |

53 | 54 | 55 | column-gap: 2px; 56 |

57 |
58 |

You can use pixel values for the gap.

59 |

Note that the gap only appears between columns, and not on the exterior sides of the edge columns.

60 | 61 |
62 |
63 | 64 | 70 | 71 | 72 |
73 | 74 |
75 | -------------------------------------------------------------------------------- /property/column-width/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: column-width 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #column-width 15 |

16 |
17 |

Defines the number of columns of the element.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 |
28 |
29 |

30 | default 31 | 32 | 33 | column-width: auto; 34 |

35 |
36 |

The element will not distribute its child elements into columns, unlesse a column-count value is defined. In that case, the column width will be infered from the column count.

37 | 38 |
39 |
40 | 41 | 47 | 48 |
49 |
50 |
51 |

52 | 53 | 54 | column-width: 10px; 55 |

56 |
57 |

You can use pixel values for the column width.

58 |

The number of columns will be the minimum needed to distribute all the content across the element.

59 | 60 |
61 |
62 | 63 | 69 | 70 | 71 |
72 | 73 |
74 | -------------------------------------------------------------------------------- /property/flex-basis/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: flex-basis 4 | --- 5 | 6 |
7 |
8 | 17 |

18 | #flex-basis 19 |

20 |
21 |

Defines the initial size of a flexbox item.

22 | 23 |
24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 |

35 | default 36 | 37 | 38 | flex-basis: auto; 39 |

40 |
41 |

The element will be automatically sized based on its content, or on any height or width value if they are defined.

42 | 43 |
44 |
45 | 46 | 52 | 53 | 54 |
55 |
56 |
57 |

58 | 59 | 60 | flex-basis: 80px; 61 |

62 |
63 |

You can define pixel or (r)em values. The element will wrap its content to avoid any overflow.

64 | 65 |
66 |
67 | 68 | 74 | 75 | 76 |
77 | 78 |
79 | -------------------------------------------------------------------------------- /property/flex-flow/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: flex-flow 4 | --- 5 | 6 |
7 |
8 | 17 |

18 | #flex-flow 19 |

20 |
21 |

Shorthand property for flex-direction and flex-wrap.

22 | 23 |
24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /property/font-style/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: font-style 4 | --- 5 | 6 |
7 |
8 | 16 |

17 | #font-style 18 |

19 |
20 |

Defines how much the text is slanted.

21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 |
33 |

34 | default 35 | 36 | 37 | font-style: normal; 38 |

39 |
40 |

The text is not slanted.

41 | 42 |
43 |
44 | 45 | 51 | 52 |
53 |
54 |
55 |

56 | 57 | 58 | font-style: italic; 59 |

60 |
61 |

Use the italic version of the font: the letters are slightly slanted.

62 | 63 |
64 |
65 | 66 | 72 | 73 |
74 |
75 |
76 |

77 | 78 | 79 | font-style: oblique; 80 |

81 |
82 |

Use the oblique version of the font: the letters are more slanted than italic.

83 | 84 |
85 |
86 | 87 | 93 | 94 |
95 | 96 |
97 | -------------------------------------------------------------------------------- /property/font-variant/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: font-variant 4 | --- 5 | 6 |
7 |
8 | 16 |

17 | #font-variant 18 |

19 |
20 |

Defines which glyph to use for each letter.

21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 |
33 |

34 | default 35 | 36 | 37 | font-variant: normal; 38 |

39 |
40 |

Each letter uses its normal glyph.

41 | 42 |
43 |
44 | 45 | 51 | 52 |
53 |
54 |
55 |

56 | 57 | 58 | font-variant: small-caps; 59 |

60 |
61 |

Each letter uses its small capitalized version.

62 | 63 |
64 |
65 | 66 | 72 | 73 |
74 | 75 |
76 | -------------------------------------------------------------------------------- /property/font/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: font 4 | --- 5 | 6 |
7 |
8 | 16 |

17 | #font 18 |

19 |
20 |

Shorthand property for font-style font-variant font-weight font-size line-height and font-family.

21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 | -------------------------------------------------------------------------------- /property/grid-template-areas/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: grid-template-areas 4 | --- 5 | 6 |
7 |
8 | 17 |

18 | #grid-template-areas 19 |

20 |
21 |

Defines areas within a grid container. These areas can then be referenced when placing a grid item.

22 | 23 |
24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 |

35 | default 36 | 37 | 38 | grid-template-areas: none; 39 |

40 |
41 |

No area is defined.

42 | 43 |
44 |
45 | 46 | 52 | 53 |
54 |
55 |
56 |

57 | 58 | 59 | grid-template-areas: "header header header" "sidebar main main"; 60 |

61 |
62 |

You can use area names to specify which cells each grid item should occupy.

63 | 64 |
65 |
66 | 67 | 73 | 74 | 75 |
76 | 77 |
78 | -------------------------------------------------------------------------------- /property/height/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: height 4 | --- 5 | 6 |
7 |
8 | 16 |

17 | #height 18 |

19 |
20 |

Defines the height of the element.

21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 |
33 |

34 | default 35 | 36 | 37 | height: auto; 38 |

39 |
40 |

The element will automatically adjust its height to allow its content to be displayed correctly.

41 | 42 |
43 |
44 | 45 | 51 |
52 |
53 |
54 |

55 | 56 | 57 | height: 100px; 58 |

59 |
60 |

You can use numeric values like pixels, (r)em, percentages...

61 |

If the content does not fit within the specified height, it will overflow. How the container will handle this overflowing content is defined by the overflow property.

62 | 63 |
64 |
65 | 66 | 72 | 73 |
74 | 75 |
76 | -------------------------------------------------------------------------------- /property/letter-spacing/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: letter-spacing 4 | --- 5 | 6 |
7 |
8 | 16 |

17 | #letter-spacing 18 |

19 |
20 |

Defines the spacing between the characters of a block of text.

21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
31 |
32 |

33 | default 34 | 35 | 36 | letter-spacing: normal; 37 |

38 |
39 |

The spacing between the characters is normal.

40 | 41 |
42 |
43 | 44 | 50 | 51 |
52 |
53 |
54 |

55 | 56 | 57 | letter-spacing: 2px; 58 |

59 |
60 |

You can use pixel values.

61 | 62 |
63 |
64 | 65 | 71 | 72 |
73 |
74 |
75 |

76 | 77 | 78 | letter-spacing: 0.1em; 79 |

80 |
81 |

You can use em values: this allows the spacing to remain relative to the font-size.

82 | 83 |
84 |
85 | 86 | 92 | 93 |
94 | 95 |
96 | -------------------------------------------------------------------------------- /property/list-style-image/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: list-style-image 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #list-style-image 15 |

16 |
17 |

Defines the image to be used as an list item's bullet point.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 |
30 |

31 | default 32 | 33 | 34 | list-style-image: none; 35 |

36 |
37 |

The list items will use the bullet point defined by the list-style-type value, which by default is a disc.

38 | 39 |
40 |
41 | 42 | 48 | 49 |
50 |
51 |
52 |

53 | 54 | 55 | list-style-image: url(/images/list-style-image.png); 56 |

57 |
58 |

The list items will use the image located at the specified URL as their bullet point.
The image can not be resized.

59 | 60 |
61 |
62 | 63 | 69 | 70 | 71 |
72 | 73 |
74 | -------------------------------------------------------------------------------- /property/list-style/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: list-style 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #list-style 15 |

16 |
17 |

Shorthand property for list-style-type list-style-image and list-style-position.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | -------------------------------------------------------------------------------- /property/min-width/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: min-width 4 | --- 5 | 6 |
7 |
8 | 16 |

17 | #min-width 18 |

19 |
20 |

Defines the minimum width of the element.

21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 |
33 |

34 | default 35 | 36 | 37 | min-width: 0; 38 |

39 |
40 |

The element has no minimum width.

41 | 42 |
43 |
44 | 45 | 51 |
52 |
53 |
54 |

55 | 56 | 57 | min-width: 300px; 58 |

59 |
60 |

You can use numeric values like pixels, (r)em, percentages...

61 |

If the minimum width is larger than the element's actual width, the min width will be applied.

62 | 63 |
64 |
65 | 66 | 72 | 73 |
74 |
75 |
76 |

77 | 78 | 79 | min-width: 5px; 80 |

81 |
82 |

If the minimum width is smaller than the element's actual width, the min width has no effect.

83 | 84 |
85 |
86 | 87 | 93 | 94 |
95 | 96 |
97 | -------------------------------------------------------------------------------- /property/opacity/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: opacity 4 | --- 5 | 6 |
7 |
8 | 14 |

15 | #opacity 16 |

17 |
18 |

Defines how opaque the element is.

19 | 20 |
21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
31 |

32 | default 33 | 34 | 35 | opacity: 1; 36 |

37 |
38 |

The element is fully opaque.

39 | 40 |
41 |
42 | 43 | 49 |
50 |
51 |
52 |

53 | 54 | 55 | opacity: 0; 56 |

57 |
58 |

The element is fully transparent.

59 | 60 |
61 |
62 | 63 | 69 | 70 |
71 |
72 |
73 |

74 | 75 | 76 | opacity: 0.3; 77 |

78 |
79 |

Any value between 0 (zero) and 1 (one) will make the element semi transparent.

80 | 81 |
82 |
83 | 84 | 90 | 91 |
92 | 93 |
94 | -------------------------------------------------------------------------------- /property/outline-width/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: outline-width 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #outline-width 15 |

16 |
17 |

Defines the width of the element's outlines.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 |
30 |

31 | default 32 | 33 | 34 | outline-width: medium; 35 |

36 |
37 |

Defines the width of all outlines to medium.

38 | 39 |
40 |
41 | 42 | 48 | 49 |
50 |
51 |
52 |

53 | 54 | 55 | outline-width: 1px; 56 |

57 |
58 |

Defines the width of all outlines to 1px.

59 | 60 |
61 |
62 | 63 | 69 | 70 |
71 | 72 |
73 | -------------------------------------------------------------------------------- /property/outline/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: outline 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #outline 15 |

16 |
17 |

Shorthand property for outline-width outline-style and outline-color.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 |
28 |
29 |

30 | 31 | 32 | outline: 4px dotted red; 33 |

34 |
35 |

The order is important:

36 |
  • width
  • style
  • color
37 |
38 |
39 | 40 | 46 | 47 |
48 |
49 |
50 |

51 | 52 | 53 | outline: 2px solid; 54 |

55 |
56 |

Only the color is optional. If you omit it, the color applied will be the color of the text.

57 | 58 |
59 |
60 | 61 | 67 | 68 |
69 | 70 |
71 | -------------------------------------------------------------------------------- /property/overflow-wrap/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: overflow-wrap 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #overflow-wrap 15 |

16 |
17 |

Defines if words should break when reaching the end of a line.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 |
30 |

31 | default 32 | 33 | 34 | overflow-wrap: normal; 35 |

36 |
37 |

Words with no space will not break. Sequences of uninterrupted characters will be displayed on a single line.

38 | 39 |
40 |
41 | 42 | 48 | 49 |
50 |
51 |
52 |

53 | 54 | 55 | overflow-wrap: break-word; 56 |

57 |
58 |

Words with no space will break as soon as they reach the end of a line.

59 | 60 |
61 |
62 | 63 | 69 | 70 |
71 | 72 |
73 | -------------------------------------------------------------------------------- /property/pointer-events/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: pointer-events 4 | --- 5 | 6 |
7 |
8 | 13 |

14 | #pointer-events 15 |

16 |
17 |

Defines if the element reacts to pointer events or not.

18 | 19 |
20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 |
30 |

31 | default 32 | 33 | 34 | pointer-events: auto; 35 |

36 |
37 |

The element reacts to pointer events, like :hover or click.

38 | 39 |
40 |
41 | 42 | 48 | 49 |
50 |
51 |
52 |

53 | 54 | 55 | pointer-events: none; 56 |

57 |
58 |

The element does not react to pointer events, like :hover or click. As a result, elements that are behind are accessible.

59 | 60 |
61 |
62 | 63 | 69 | 70 | 71 |
72 | 73 |
74 | -------------------------------------------------------------------------------- /property/text-decoration/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: text-decoration 4 | --- 5 | 6 |
7 |
8 | 16 |

17 | #text-decoration 18 |

19 |
20 |

Defines how the text content of the element is decorated.

21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
31 |
32 |

33 | default 34 | 35 | 36 | text-decoration: none; 37 |

38 |
39 |

Removes any text decoration.

40 | 41 |
42 |
43 | 44 | 50 | 51 |
52 |
53 |
54 |

55 | 56 | 57 | text-decoration: underline; 58 |

59 |
60 |

Underlines the text content.

61 | 62 |
63 |
64 | 65 | 71 | 72 |
73 | 74 |
75 | -------------------------------------------------------------------------------- /property/text-overflow/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: text-overflow 4 | --- 5 | 6 |
7 |
8 | 17 |

18 | #text-overflow 19 |

20 |
21 |

Defines how the hidden text content behaves if it's overflowing.

22 | 23 |
24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |
34 |
35 |

36 | default 37 | 38 | 39 | text-overflow: clip; 40 |

41 |
42 |

The text content is clipped and not accessible.

43 | 44 |
45 |
46 | 47 | 53 | 54 | 55 |
56 |
57 |
58 |

59 | 60 | 61 | text-overflow: ellipsis; 62 |

63 |
64 |

The overflowing content is replaced by an ellipsis:

65 | 66 |
67 |
68 | 69 | 75 | 76 | 77 |
78 | 79 |
80 | -------------------------------------------------------------------------------- /property/word-break/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: word-break 4 | --- 5 | 6 |
7 |
8 | 17 |

18 | #word-break 19 |

20 |
21 |

Defines how words should break when reaching the end of a line.

22 | 23 |
24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 |

35 | default 36 | 37 | 38 | word-break: normal; 39 |

40 |
41 |

Words with no space will not break. Sequences of uninterrupted characters will be displayed on a single line.

42 | 43 |
44 |
45 | 46 | 52 | 53 |
54 |
55 |
56 |

57 | 58 | 59 | word-break: break-all; 60 |

61 |
62 |

Words with no space will break as soon as they reach the end of a line.

63 | 64 |
65 |
66 | 67 | 73 | 74 |
75 | 76 |
77 | -------------------------------------------------------------------------------- /property/word-spacing/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: single 3 | property_name: word-spacing 4 | --- 5 | 6 |
7 |
8 | 16 |

17 | #word-spacing 18 |

19 |
20 |

Defines the spacing between words of a block of text.

21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
31 |
32 |

33 | default 34 | 35 | 36 | word-spacing: normal; 37 |

38 |
39 |

The spacing between the characters is normal.

40 | 41 |
42 |
43 | 44 | 50 | 51 |
52 |
53 |
54 |

55 | 56 | 57 | word-spacing: 5px; 58 |

59 |
60 |

You can use pixel values.

61 | 62 |
63 |
64 | 65 | 71 | 72 |
73 |
74 |
75 |

76 | 77 | 78 | word-spacing: 2em; 79 |

80 |
81 |

You can use em values: this allows the spacing to remain relative to the font-size.

82 | 83 |
84 |
85 | 86 | 92 | 93 |
94 | 95 |
96 | -------------------------------------------------------------------------------- /sass/base.sass: -------------------------------------------------------------------------------- 1 | html 2 | background: #fff 3 | font-size: 16px 4 | -moz-osx-font-smoothing: grayscale 5 | -webkit-font-smoothing: antialiased 6 | max-width: 100vw 7 | min-width: 300px 8 | overflow-x: hidden 9 | text-rendering: optimizeLegibility 10 | 11 | body 12 | color: $text 13 | font-family: $family-primary 14 | font-size: 1rem 15 | line-height: 1.6 16 | 17 | a, 18 | button, 19 | input, 20 | textarea 21 | outline: none 22 | 23 | a 24 | color: $link 25 | cursor: pointer 26 | text-decoration: none 27 | transition-duration: $speed 28 | transition-property: background, border-bottom-color, color 29 | 30 | code 31 | font-family: $family-monospace 32 | font-size: 0.8em 33 | 34 | img 35 | max-height: 100% 36 | max-width: 100% 37 | 38 | strong 39 | color: $text-strong 40 | 41 | pre 42 | white-space: pre 43 | word-wrap: normal 44 | code 45 | font-size: 1em 46 | padding: 0 47 | 48 | textarea 49 | max-height: 100% 50 | max-width: 100% 51 | 52 | html 53 | \::-moz-selection 54 | background: $primary 55 | color: $primary-invert 56 | \::selection 57 | background: $primary 58 | color: $primary-invert 59 | 60 | .container 61 | margin-left: auto 62 | margin-right: auto 63 | max-width: 700px 64 | 65 | +desktop 66 | html 67 | font-size: 18px 68 | padding-left: $menu-width 69 | &.is-index 70 | padding-left: 0 71 | -------------------------------------------------------------------------------- /sass/controls.sass: -------------------------------------------------------------------------------- 1 | .input, 2 | .textarea, 3 | .button 4 | -moz-appearance: none 5 | -webkit-appearance: none 6 | background: $background 7 | border: none 8 | font-size: 1em 9 | line-height: 1.6 10 | padding: 0.6em 1em 11 | 12 | .textarea 13 | max-height: 100% 14 | max-width: 100% 15 | min-height: 6em 16 | 17 | .button 18 | border-radius: 3px 19 | box-shadow: 0 2px 2px rgba(#000, 0.2) 20 | cursor: pointer 21 | font-weight: $weight-bold 22 | padding-left: 1.2em 23 | padding-right: 1.2em 24 | text-align: center 25 | transition-duration: $speed 26 | transition-property: background, box-shadow, color, transform 27 | will-change: box-shadow 28 | &:hover 29 | box-shadow: 0 4px 8px rgba(#000, 0.2) 30 | transform: translateY(-1px) 31 | &:active 32 | box-shadow: 0 0 0 rgba(#000, 0.01) 33 | transform: translateY(0) 34 | 35 | .button.is-primary 36 | background: $primary 37 | color: $primary-invert 38 | &:hover 39 | background: darken($primary, 5%) 40 | &:active 41 | background: darken($primary, 10%) 42 | 43 | .button.is-facebook 44 | background: $facebook 45 | color: #fff 46 | &:hover 47 | background: darken($facebook, 5%) 48 | &:active 49 | background: darken($facebook, 10%) 50 | 51 | .button.is-twitter 52 | background: $twitter 53 | color: #fff 54 | &:hover 55 | background: darken($twitter, 5%) 56 | &:active 57 | background: darken($twitter, 10%) 58 | 59 | .icon 60 | display: block 61 | pointer-events: none 62 | position: relative 63 | transition-duration: $speed 64 | transition-property: opacity 65 | 66 | .icon.is-back 67 | height: 7px 68 | transform: rotate(-45deg) 69 | transform-origin: center center 70 | width: 7px 71 | &:before, 72 | &:after 73 | background: $plum-invert 74 | border-radius: 4px 75 | content: "" 76 | display: block 77 | transition-duration: $speed 78 | transition-property: background 79 | &:before 80 | height: 2px 81 | &:after 82 | height: 7px 83 | margin-top: -2px 84 | width: 2px 85 | 86 | .icon.is-close 87 | height: 14px 88 | transform: rotate(45deg) 89 | transform-origin: center center 90 | width: 14px 91 | &:before, 92 | &:after 93 | background: $link-invert 94 | border-radius: 4px 95 | content: "" 96 | display: block 97 | position: absolute 98 | &:before 99 | height: 4px 100 | left: 0 101 | margin-top: -2px 102 | top: 50% 103 | width: 14px 104 | &:after 105 | height: 14px 106 | left: 50% 107 | margin-left: -2px 108 | top: 0 109 | width: 4px 110 | 111 | .icon.is-search 112 | border: 2px solid $text-light 113 | border-radius: 290486px 114 | height: 12px 115 | transform: rotate(-45deg) translateX(4px) translateY(-5px) 116 | transform-origin: center center 117 | width: 12px 118 | &:before 119 | background: $text-light 120 | border-radius: 290486px 121 | content: "" 122 | height: 7px 123 | left: 50% 124 | margin-left: -1px 125 | position: absolute 126 | top: 100% 127 | width: 2px 128 | -------------------------------------------------------------------------------- /sass/example.sass: -------------------------------------------------------------------------------- 1 | .example-value, 2 | .example-default, 3 | .example-recommended 4 | background: $yellow 5 | border-radius: 2px 6 | color: $yellow-invert 7 | display: inline-block 8 | padding: 0.1em 0.5em 0.15em 9 | vertical-align: top 10 | 11 | .example-value 12 | cursor: pointer 13 | position: relative 14 | 15 | .example-default, 16 | .example-recommended 17 | background: #fff 18 | float: right 19 | 20 | .example-default 21 | box-shadow: inset 0 0 0 1px $red 22 | color: $red 23 | 24 | .example-recommended 25 | box-shadow: inset 0 0 0 1px $green 26 | color: $green 27 | 28 | .example-fixed 29 | display: flex 30 | margin-top: 1rem 31 | .button 32 | background: $green 33 | color: #fff 34 | font-size: 0.8rem 35 | &:before 36 | content: "Enable position fixed" 37 | &.is-enabled 38 | background: $red 39 | &:before 40 | content: "Disabled position fixed" 41 | 42 | .example-description 43 | font-size: 0.9rem 44 | margin-top: 0.5rem 45 | a 46 | border-bottom: 1px solid $border 47 | color: $text-strong 48 | &:hover 49 | border-bottom-color: $link 50 | code 51 | background: $background 52 | border-radius: 2px 53 | color: $text-strong 54 | padding: 0.2em 0.4em 55 | p, 56 | pre, 57 | ul 58 | margin-top: 0.5em 59 | ul 60 | list-style-position: outside 61 | list-style-type: disc 62 | margin-left: 1.5em 63 | pre 64 | background: $background 65 | color: $text-strong 66 | font-size: 0.8em 67 | line-height: 1.4 68 | padding: 0.8em 1em 69 | .shorthand 70 | padding: 0 71 | a 72 | background: $background 73 | border-radius: 2px 74 | padding: 0.2em 0.4em 75 | &:hover 76 | background: $link 77 | color: $link-invert 78 | 79 | .example-browser 80 | align-items: center 81 | background: $background 82 | border: 1px solid $border 83 | border-bottom: none 84 | border-top-left-radius: 3px 85 | border-top-right-radius: 3px 86 | display: flex 87 | height: 1rem 88 | justify-content: flex-start 89 | padding-left: 0.5rem 90 | i 91 | background: rgba(black, 0.2) 92 | border-radius: 290486px 93 | display: block 94 | flex-grow: 0 95 | flex-shrink: 0 96 | height: 4px 97 | margin-right: 2px 98 | width: 4px 99 | 100 | .example-output 101 | border: 1px solid $border 102 | border-bottom-left-radius: 4px 103 | border-bottom-right-radius: 4px 104 | box-shadow: 0 2px 3px rgba(#000, 0.05) 105 | font-size: 0.8em 106 | padding: 0.5em 107 | 108 | .example-output-div 109 | padding: 0.8em 1em 110 | position: relative 111 | 112 | .example-complements 113 | background: $background 114 | font-size: 0.9em 115 | margin-bottom: -3rem 116 | strong 117 | font-weight: $weight-normal 118 | padding-left: 0.35em 119 | .shorthand 120 | padding: 0 121 | a 122 | background: #fff 123 | border-radius: 2px 124 | padding: 0.2em 0.4em 125 | &:hover 126 | background: $link 127 | color: $link-invert 128 | 129 | +mobile 130 | .example 131 | padding: 2rem 2rem 0 132 | .example-preview 133 | margin-top: 1rem 134 | .example-complements 135 | margin-top: 2rem 136 | padding: 2rem 137 | 138 | +desktop 139 | .example 140 | align-items: flex-start 141 | display: flex 142 | padding: 2rem 3rem 0 143 | .example-header, 144 | .example-preview 145 | flex-grow: 1 146 | flex-shrink: 1 147 | .example-header 148 | padding-right: 2rem 149 | width: 60% 150 | .example-preview 151 | width: 40% 152 | .example-complements 153 | margin-top: 3rem 154 | padding: 2rem 3rem 155 | -------------------------------------------------------------------------------- /sass/ff.sass: -------------------------------------------------------------------------------- 1 | .ff 2 | align-items: center 3 | background-color: $fortyfour 4 | color: #fff 5 | display: flex 6 | justify-content: center 7 | overflow: hidden 8 | padding: 1rem 9 | position: relative 10 | strong 11 | color: currentColor 12 | .tag 13 | margin-right: 0.5em 14 | .button 15 | position: relative 16 | transform-origin: center 17 | transition-duration: $speed 18 | transition-property: transform 19 | white-space: nowrap 20 | &:hover 21 | .button 22 | transform: scale(1.1) 23 | 24 | .ff-background 25 | +overlay 26 | background-image: url("/images/fortyfour-background.jpg") 27 | background-position: center center 28 | background-size: cover 29 | opacity: 0.5 30 | 31 | .ff-text 32 | line-height: 1.25 33 | margin-right: 0.5rem 34 | position: relative 35 | 36 | .ff-button 37 | display: inline-block 38 | flex-shrink: 0 39 | height: 34px 40 | position: relative 41 | width: 145px 42 | img 43 | max-height: 100% 44 | 45 | +from(480px) 46 | .ff-text 47 | margin-right: 1rem 48 | -------------------------------------------------------------------------------- /sass/finder.sass: -------------------------------------------------------------------------------- 1 | .finder 2 | position: relative 3 | .menu-search 4 | input 5 | font-size: 1rem 6 | 7 | .finder-list 8 | &.is-searching 9 | .finder-item 10 | display: none 11 | &.is-highlighted:not(.is-hidden) 12 | display: block 13 | &.is-selected 14 | display: block 15 | 16 | .finder-item 17 | align-items: stretch 18 | cursor: pointer 19 | justify-content: space-between 20 | position: relative 21 | &:hover 22 | .finder-item-link 23 | background: $background 24 | .finder-item-meta .light 25 | opacity: 1 26 | &.is-hidden 27 | display: none 28 | &.is-selected 29 | z-index: 1 30 | .finder-item-link 31 | &, 32 | &:hover 33 | background: $primary 34 | color: $primary-invert 35 | 36 | .finder-item-link 37 | display: block 38 | padding: 0.25rem 1rem 39 | transition: none 40 | &:visited 41 | color: $purple 42 | &:hover 43 | background: $background 44 | .highlight 45 | background: $yellow 46 | color: $yellow-invert 47 | .light--experimental 48 | margin-left: 4px 49 | position: relative 50 | top: -1px 51 | 52 | .finder-item-meta 53 | align-items: center 54 | bottom: 0 55 | display: flex 56 | justify-content: flex-end 57 | position: absolute 58 | right: 0 59 | top: 0 60 | .light:hover 61 | text-decoration: underline 62 | 63 | .light 64 | border-radius: 2px 65 | color: $text-strong 66 | font-size: 0.8em 67 | font-weight: normal 68 | line-height: 1.2 69 | opacity: 0.5 70 | padding: 2px 4px 71 | text-transform: lowercase 72 | white-space: nowrap 73 | 74 | label.light 75 | cursor: pointer 76 | input 77 | cursor: pointer 78 | margin-right: 4px 79 | 80 | +mobile 81 | .finder 82 | padding-bottom: 1rem 83 | .finder-item-meta 84 | padding-right: 0.5rem 85 | .light 86 | margin-left: 2px 87 | 88 | +desktop 89 | .finder 90 | padding-bottom: 3rem 91 | .finder-item-meta 92 | padding: 0 1em 93 | .light 94 | margin-left: 4px 95 | -------------------------------------------------------------------------------- /sass/footer.sass: -------------------------------------------------------------------------------- 1 | .footer 2 | background: #fff 3 | bottom: 0 4 | box-shadow: 0 0 1rem rgba(#000, 0.2) 5 | left: 0 6 | position: fixed 7 | right: 0 8 | 9 | .footer-title 10 | align-items: center 11 | color: $text-light 12 | display: none 13 | line-height: 1.2 14 | padding: 0 1rem 15 | small 16 | font-size: 0.8em 17 | margin-left: 0.5em 18 | a 19 | border-radius: 2px 20 | margin-left: -4px 21 | padding: 2px 4px 22 | &:hover 23 | background: $alpha 24 | color: $alpha-invert 25 | 26 | .footer-facebook, 27 | .footer-github 28 | align-items: center 29 | display: none 30 | flex-shrink: 0 31 | justify-content: flex-end 32 | iframe 33 | height: 20px 34 | 35 | .footer-share 36 | align-items: center 37 | display: flex 38 | position: relative 39 | 40 | .footer-share--contribute 41 | display: none 42 | 43 | .footer-share-label 44 | margin-right: 0.25rem 45 | 46 | .share-button 47 | align-items: center 48 | display: flex 49 | height: 2rem 50 | justify-content: center 51 | position: relative 52 | width: 2rem 53 | &:before 54 | +overlay 55 | background: rgba(black, 0.14) 56 | border-radius: 5px 57 | content: "" 58 | display: block 59 | height: 100% 60 | opacity: 0 61 | transform: scale(1.2) 62 | transform-origin: center center 63 | transition-duration: $speed 64 | transition-property: opacity, transform 65 | width: 100% 66 | svg 67 | height: 1rem 68 | position: relative 69 | width: 1rem 70 | &:hover:before 71 | opacity: 1 72 | transform: scale(1) 73 | 74 | .footer-share-nav 75 | align-items: center 76 | bottom: 0 77 | display: flex 78 | font-weight: $weight-bold 79 | padding: 0 1rem 80 | position: absolute 81 | right: 0 82 | top: 0 83 | 84 | +mobile 85 | .footer-share--social 86 | padding: 0.5rem 1rem 87 | 88 | +desktop 89 | .footer 90 | align-items: stretch 91 | display: flex 92 | font-size: 0.8rem 93 | height: 3rem 94 | left: $menu-width 95 | .footer-share, 96 | .footer-facebook, 97 | .footer-github 98 | display: flex 99 | .footer-title 100 | display: none 101 | padding: 0.25rem 1rem 102 | .footer-share 103 | border-left: 1px solid $border 104 | flex-grow: 1 105 | flex-shrink: 1 106 | padding: 0.25rem 1rem 107 | .footer-share-nav 108 | display: none 109 | 110 | +from(1000px) 111 | .footer-title 112 | display: flex 113 | -------------------------------------------------------------------------------- /sass/functions.sass: -------------------------------------------------------------------------------- 1 | @function powerNumber($number, $exp) 2 | $value: 1 3 | @if $exp > 0 4 | @for $i from 1 through $exp 5 | $value: $value * $number 6 | @else if $exp < 0 7 | @for $i from 1 through -$exp 8 | $value: $value / $number 9 | @return $value 10 | 11 | @function colorLuminance($color) 12 | $color-rgb: ('red': red($color),'green': green($color),'blue': blue($color)) 13 | @each $name, $value in $color-rgb 14 | $adjusted: 0 15 | $value: $value / 255 16 | @if $value < 0.03928 17 | $value: $value / 12.92 18 | @else 19 | $value: ($value + .055) / 1.055 20 | $value: powerNumber($value, 2) 21 | $color-rgb: map-merge($color-rgb, ($name: $value)) 22 | @return (map-get($color-rgb, 'red') * .2126) + (map-get($color-rgb, 'green') * .7152) + (map-get($color-rgb, 'blue') * .0722) 23 | 24 | @function findColorInvert($color) 25 | @if (colorLuminance($color) > 0.55) 26 | @return rgba(#000, 0.7) 27 | @else 28 | @return #fff 29 | -------------------------------------------------------------------------------- /sass/header.sass: -------------------------------------------------------------------------------- 1 | .header 2 | background-color: $background 3 | 4 | .header-figure 5 | display: flex 6 | img:first-child 7 | height: 128px 8 | width: 128px 9 | 10 | .header-carbon 11 | background-color: white 12 | border-radius: 5px 13 | box-shadow: 0 0 1rem rgba(#000, 0.2) 14 | display: flex 15 | flex-shrink: 0 16 | width: 240px 17 | #huggingFace 18 | 19 | .header-title 20 | color: $text-strong 21 | font-size: 1.2rem 22 | font-weight: bold 23 | line-height: 1.2 24 | margin-bottom: 0.5rem 25 | 26 | .header-subtitle 27 | line-height: 1.6rem 28 | a 29 | color: inherit 30 | strong:first-child 31 | color: $primary 32 | 33 | .header-share 34 | align-items: center 35 | display: flex 36 | justify-content: center 37 | margin-top: 0.5rem 38 | .share-button 39 | height: 48px 40 | width: 48px 41 | svg 42 | height: 24px 43 | width: 24px 44 | 45 | +mobile 46 | .header 47 | padding: 30px 48 | .header-figure 49 | align-items: center 50 | flex-direction: column 51 | justify-content: center 52 | margin-bottom: 30px 53 | img:last-child 54 | height: 40px 55 | .header-carbon 56 | justify-content: center 57 | margin: 0 auto 2rem 58 | .header-subtitle 59 | margin-top: 10px 60 | 61 | +desktop 62 | .header 63 | padding: 60px 60px 30px 64 | .header-figure 65 | align-items: center 66 | justify-content: center 67 | margin-bottom: 30px 68 | img:last-child 69 | height: 80px 70 | margin-left: 20px 71 | .header-carbon 72 | margin-left: 1rem 73 | margin-right: 2rem 74 | .header-content 75 | align-items: center 76 | display: flex 77 | .header-text 78 | margin-right: 2rem 79 | .header-share 80 | justify-content: flex-start 81 | -------------------------------------------------------------------------------- /sass/heading.sass: -------------------------------------------------------------------------------- 1 | .heading 2 | background: $plum 3 | color: $plum-light 4 | padding: 4rem 3rem 5 | 6 | .heading-title 7 | font-size: 2rem 8 | line-height: 1.2 9 | strong 10 | color: $plum-invert 11 | font-weight: $weight-bold 12 | 13 | .heading-share 14 | align-items: center 15 | position: relative 16 | 17 | .heading-share-label 18 | color: $plum-light 19 | font-size: 0.8em 20 | margin-right: 0.5rem 21 | 22 | .heading-share-button 23 | align-items: center 24 | display: inline-flex 25 | height: 3rem 26 | justify-content: center 27 | position: relative 28 | width: 3rem 29 | &:before 30 | +overlay 31 | background: $plum-dark 32 | border-radius: 5px 33 | content: "" 34 | display: block 35 | height: 100% 36 | opacity: 0 37 | transform: scale(1.2) 38 | transform-origin: center center 39 | transition-duration: $speed 40 | transition-property: opacity, transform 41 | width: 100% 42 | svg 43 | height: 1.5rem 44 | position: relative 45 | width: 1.5rem 46 | &:hover:before 47 | opacity: 1 48 | transform: scale(1) 49 | 50 | +mobile 51 | .heading-share 52 | margin-top: 2rem 53 | 54 | +until(1199px) 55 | .heading-share 56 | min-width: 8rem 57 | text-align: center 58 | .heading-share-label 59 | display: block 60 | margin-bottom: 0.5rem 61 | .heading-share-button 62 | vertical-align: top 63 | 64 | +desktop 65 | .heading 66 | align-items: center 67 | display: flex 68 | .heading-content 69 | flex-grow: 1 70 | flex-shrink: 1 71 | 72 | +from(1200px) 73 | .heading-share 74 | display: flex 75 | .heading-share-label 76 | margin-right: 0.5rem 77 | .heading-share-button 78 | display: flex 79 | -------------------------------------------------------------------------------- /sass/index.sass: -------------------------------------------------------------------------------- 1 | .index-collections 2 | align-items: center 3 | display: flex 4 | flex-wrap: wrap 5 | line-height: 1.2 6 | a, 7 | strong 8 | border-radius: 2px 9 | padding: 5px 10px 10 | a 11 | &:hover 12 | background: $primary 13 | color: $primary-invert 14 | &.is-new 15 | align-items: center 16 | box-shadow: 0 0 0 1px $red 17 | display: flex 18 | &:hover 19 | background: $red 20 | .tag 21 | font-size: 0.75em 22 | margin-left: 0.5em 23 | position: relative 24 | vertical-align: middle 25 | 26 | +mobile 27 | .index-collections 28 | padding: 1rem 1rem 0 29 | 30 | +desktop 31 | .index-collections 32 | border-bottom: 1px solid $border 33 | justify-content: center 34 | padding: 1rem 35 | strong 36 | padding-left: 0 37 | -------------------------------------------------------------------------------- /sass/keyframes.sass: -------------------------------------------------------------------------------- 1 | @keyframes fadeIn 2 | from 3 | opacity: 0 4 | to 5 | opacity: 1 6 | 7 | @keyframes fadeAndMove 8 | from 9 | opacity: 0 10 | transform: translateX(0) 11 | to 12 | opacity: 1 13 | transform: translateX(200px) 14 | 15 | @keyframes moveRight 16 | from 17 | transform: translateX(0) 18 | to 19 | transform: translateX(200px) 20 | 21 | @keyframes rotateFull 22 | from 23 | transform: rotate(0deg) 24 | to 25 | transform: rotate(359deg) 26 | 27 | @keyframes kf-animation-fill-mode 28 | from 29 | background: $green 30 | transform: translateX(0) 31 | to 32 | background: $blue 33 | transform: translateX(200px) 34 | -------------------------------------------------------------------------------- /sass/list.sass: -------------------------------------------------------------------------------- 1 | .list 2 | padding-bottom: 3rem 3 | position: relative 4 | .menu-search input 5 | font-size: 1rem 6 | 7 | .list-list 8 | &.is-searching 9 | .menu-item 10 | display: none 11 | &.is-highlighted, 12 | &.is-selected, 13 | display: flex 14 | 15 | .list-item 16 | border-top: 1px solid $primary 17 | display: flex 18 | position: relative 19 | 20 | .list-name 21 | display: block 22 | padding: 1rem 23 | transition: none 24 | 25 | .list-collections 26 | bottom: 0 27 | color: rgba(#000, 0.3) 28 | display: none 29 | font-size: 0.8em 30 | justify-content: flex-end 31 | position: absolute 32 | right: 0 33 | top: 0 34 | a:hover 35 | text-decoration: underline 36 | strong 37 | color: inherit 38 | text-transform: capitalize 39 | 40 | +desktop 41 | .list-name, 42 | .list-collections 43 | align-items: center 44 | display: flex 45 | padding: 1rem 46 | .list-name 47 | flex-grow: 1 48 | flex-shrink: 1 49 | .list-item 50 | align-items: stretch 51 | justify-content: flex-start 52 | -------------------------------------------------------------------------------- /sass/minireset.sass: -------------------------------------------------------------------------------- 1 | /*! minireset.css v0.0.2 | MIT License | github.com/jgthms/minireset.css */ 2 | // Blocks 3 | html, 4 | body, 5 | p, 6 | ol, 7 | ul, 8 | li, 9 | dl, 10 | dt, 11 | dd, 12 | blockquote, 13 | figure, 14 | fieldset, 15 | legend, 16 | textarea, 17 | pre, 18 | iframe, 19 | hr, 20 | h1, 21 | h2, 22 | h3, 23 | h4, 24 | h5, 25 | h6 26 | margin: 0 27 | padding: 0 28 | 29 | // Headings 30 | h1, 31 | h2, 32 | h3, 33 | h4, 34 | h5, 35 | h6 36 | font-size: 100% 37 | font-weight: normal 38 | 39 | // List 40 | ul 41 | list-style: none 42 | 43 | // Form 44 | button, 45 | input, 46 | select, 47 | textarea 48 | color: inherit 49 | font-family: inherit 50 | margin: 0 51 | 52 | // Box sizing 53 | html 54 | box-sizing: border-box 55 | 56 | * 57 | box-sizing: inherit 58 | &:before, 59 | &:after 60 | box-sizing: inherit 61 | 62 | // Media 63 | img, 64 | embed, 65 | object, 66 | audio, 67 | video 68 | height: auto 69 | max-width: 100% 70 | 71 | // Iframe 72 | iframe 73 | border: 0 74 | 75 | // Table 76 | table 77 | border-collapse: collapse 78 | border-spacing: 0 79 | 80 | td, 81 | th 82 | padding: 0 83 | text-align: left 84 | -------------------------------------------------------------------------------- /sass/mixins.sass: -------------------------------------------------------------------------------- 1 | =center 2 | align-items: center 3 | display: flex 4 | justify-content: center 5 | text-align: center 6 | 7 | =clearfix 8 | &:after 9 | clear: both 10 | content: " " 11 | display: table 12 | 13 | =overlay($offset: 0) 14 | bottom: $offset 15 | left: $offset 16 | position: absolute 17 | right: $offset 18 | top: $offset 19 | 20 | =mobile 21 | @media (max-width: 799px) 22 | @content 23 | 24 | =desktop 25 | @media (min-width: 800px) 26 | @content 27 | 28 | =until($bp) 29 | @media (max-width: $bp) 30 | @content 31 | 32 | =from($bp) 33 | @media (min-width: $bp) 34 | @content 35 | -------------------------------------------------------------------------------- /sass/modal.sass: -------------------------------------------------------------------------------- 1 | .modal 2 | +overlay 3 | align-items: center 4 | background: rgba(#000, 0.7) 5 | display: flex 6 | justify-content: center 7 | opacity: 0 8 | padding: 1rem 9 | position: fixed 10 | transition-duration: $speed 11 | transition-property: opacity, visibility 12 | visibility: hidden 13 | 14 | .modal-box 15 | background: #fff 16 | flex-grow: 1 17 | flex-shrink: 1 18 | max-width: 46rem 19 | opacity: 0 20 | padding: 4rem 2rem 21 | position: relative 22 | transform: scale(0.95) 23 | transform-origin: center center 24 | transition-duration: $speed 25 | transition-property: opacity, transform, visibility 26 | 27 | .modal-title 28 | color: $text-strong 29 | font-size: 2rem 30 | font-weight: $weight-bold 31 | line-height: 1 32 | margin-bottom: 3rem 33 | text-align: center 34 | 35 | .modal-close 36 | background: $background 37 | border-radius: 290486px 38 | height: 3rem 39 | position: absolute 40 | right: 1rem 41 | top: 1rem 42 | transform: rotate(45deg) 43 | transform-origin: center center 44 | width: 3rem 45 | &:before, 46 | &:after 47 | background: $text-light 48 | content: "" 49 | display: block 50 | position: absolute 51 | &:before 52 | height: 50% 53 | left: 50% 54 | margin-left: -1px 55 | top: 25% 56 | width: 2px 57 | &:after 58 | height: 2px 59 | left: 25% 60 | margin-top: -1px 61 | top: 50% 62 | width: 50% 63 | &:hover 64 | background: darken($background, 5%) 65 | &:active 66 | background: darken($background, 10%) 67 | 68 | .modal.is-active 69 | opacity: 1 70 | visibility: visible 71 | .modal-box 72 | opacity: 1 73 | transform: scale(1) 74 | visibility: visible 75 | 76 | +mobile 77 | .modal-url 78 | .input 79 | display: block 80 | width: 100% 81 | .button 82 | margin-top: 1em 83 | .modal-social 84 | .button 85 | display: block 86 | margin-top: 1em 87 | 88 | +desktop 89 | .modal-box 90 | padding: 4rem 6rem 91 | .modal-url 92 | display: flex 93 | .input 94 | flex-grow: 1 95 | flex-shrink: 1 96 | .button 97 | flex-grow: 0 98 | flex-shrink: 0 99 | margin-left: 1em 100 | padding-left: 0 101 | padding-right: 0 102 | width: 5.5em 103 | .modal-social 104 | align-items: center 105 | display: flex 106 | margin-top: 1rem 107 | .button 108 | margin-right: 1em 109 | -------------------------------------------------------------------------------- /sass/property.sass: -------------------------------------------------------------------------------- 1 | .properties 2 | padding-bottom: 3rem 3 | position: relative 4 | 5 | .property 6 | background-color: #fff 7 | background-image: linear-gradient($primary-light, #fff) 8 | background-repeat: no-repeat 9 | background-size: 100% 4rem 10 | border-top: 2px solid $primary 11 | overflow: hidden 12 | padding-bottom: 3rem 13 | padding-top: 2rem 14 | 15 | .property--shorthand 16 | background-image: linear-gradient($purple-light, #fff) 17 | border-top-color: $purple 18 | 19 | .property-links 20 | align-items: center 21 | display: flex 22 | font-size: 0.7rem 23 | justify-content: flex-end 24 | opacity: 0.5 25 | transition-duration: $speed 26 | transition-property: opacity 27 | a 28 | border-bottom: 1px solid transparent 29 | color: $text-light 30 | margin-left: 1em 31 | &:before 32 | left: auto 33 | right: 0 34 | transform: translateX(0) translateY(0) 35 | white-space: nowrap 36 | &:hover 37 | border-bottom-color: $link 38 | color: $link 39 | &:before 40 | transform: translateX(0) translateY(-4px) 41 | strong 42 | text-transform: capitalize 43 | &:hover 44 | opacity: 1 45 | .property-collections 46 | a 47 | margin-left: 0.25em 48 | 49 | .property-name 50 | font-size: 1.2rem 51 | font-weight: $weight-bold 52 | a 53 | border-bottom: 1px solid transparent 54 | color: $text-strong 55 | display: inline-block 56 | position: relative 57 | vertical-align: top 58 | span 59 | color: $border 60 | padding-right: 0.6em 61 | position: absolute 62 | right: 100% 63 | top: 0 64 | &:hover 65 | border-bottom-color: $link 66 | color: $link 67 | span 68 | color: $link 69 | 70 | .property-description 71 | code 72 | background: $background 73 | border-radius: 2px 74 | color: $text-strong 75 | padding: 0.2em 0.4em 76 | p 77 | margin-top: 0.5em 78 | .shorthand 79 | padding: 0 80 | a 81 | background: $background 82 | border-radius: 2px 83 | padding: 0.2em 0.4em 84 | &:hover 85 | background: $link 86 | color: $link-invert 87 | 88 | .property-animation 89 | display: flex 90 | margin-top: 1rem 91 | .button 92 | background: $green 93 | color: #fff 94 | font-size: 0.8rem 95 | &:before 96 | content: "▶ Play animations" 97 | &:first-letter 98 | margin-right: 0.25em 99 | &.is-playing 100 | background: $red 101 | &:before 102 | content: "■ Stop" 103 | 104 | +mobile 105 | .property-header 106 | padding-left: 2rem 107 | padding-right: 2rem 108 | .property-links 109 | flex-wrap: wrap 110 | margin-bottom: 0.5rem 111 | 112 | +desktop 113 | // .property 114 | // margin-bottom: 3rem 115 | // margin-left: auto 116 | // margin-right: auto 117 | // width: 500px 118 | .property-header 119 | padding-left: 3rem 120 | padding-right: 3rem 121 | .property-links 122 | float: right 123 | padding: 0.25rem 0 124 | 125 | // +from(1000px) 126 | // .property 127 | // width: 700px 128 | 129 | // +from(1200px) 130 | // .property 131 | // width: 900px 132 | 133 | // +from(1400px) 134 | // .property 135 | // width: 1100px 136 | 137 | // +from(1600px) 138 | // .property 139 | // width: 1300px 140 | -------------------------------------------------------------------------------- /sass/sister.sass: -------------------------------------------------------------------------------- 1 | .sisters 2 | background-color: $background 3 | 4 | .sister-banner 5 | display: flex 6 | 7 | .sister--htmlreference 8 | .sister-banner img 9 | height: 48px 10 | 11 | .sister--bulma 12 | .sister-banner img 13 | height: 48px 14 | 15 | +mobile 16 | .sisters 17 | padding: 40px 20px 18 | text-align: center 19 | .sister + .sister 20 | margin-top: 40px 21 | .sister-banner 22 | justify-content: center 23 | margin-top: 10px 24 | 25 | +desktop 26 | .sisters 27 | padding: 60px 28 | .sister 29 | align-items: center 30 | display: flex 31 | padding-left: 1rem 32 | & + .sister 33 | margin-top: 60px 34 | .sister-title 35 | flex-grow: 1 36 | .sister-banner 37 | flex-shrink: 0 38 | width: 420px 39 | .sister--htmlreference 40 | .sister-banner img 41 | height: 72px 42 | .sister--bulma 43 | .sister-banner img 44 | height: 64px 45 | -------------------------------------------------------------------------------- /sass/tooltip.sass: -------------------------------------------------------------------------------- 1 | [data-tooltip] 2 | cursor: pointer 3 | position: relative 4 | 5 | [data-tooltip]:before, 6 | [data-tooltip-after]:after 7 | background-color: $text-strong 8 | border-radius: 2px 9 | bottom: 100% 10 | color: #fff 11 | content: attr(data-tooltip) 12 | font-family: $family-primary 13 | font-size: 0.6rem 14 | font-weight: 400 15 | left: 50% 16 | line-height: 1.2 17 | opacity: 0 18 | padding: 0.5em 0.6em 19 | pointer-events: none 20 | position: absolute 21 | text-align: center 22 | transform: translateX(-50%) translateY(0) 23 | transition-duration: $speed 24 | transition-property: opacity, transform 25 | visibility: hidden 26 | white-space: nowrap 27 | 28 | [data-tooltip-after]:after 29 | content: attr(data-tooltip-after) 30 | 31 | [data-tooltip]:hover:before, 32 | [data-tooltip-after]:hover:after 33 | opacity: 1 34 | transform: translateX(-50%) translateY(-4px) 35 | visibility: visible 36 | 37 | [data-tooltip].is-copied:before 38 | background: $green 39 | content: "Copied!" 40 | -------------------------------------------------------------------------------- /sass/variables.sass: -------------------------------------------------------------------------------- 1 | // Colors 2 | $plum: #310736 3 | $plum-invert: #fff 4 | $plum-dark: #622369 5 | $plum-light: #94529c 6 | $fortyfour: #5f45bb 7 | 8 | $alpha: #05ffb0 9 | $alpha-invert: $plum 10 | $beta: #00e7eb 11 | $beta-invert: $plum 12 | 13 | $orange: hsl(14, 100%, 53%) 14 | $yellow: hsl(48, 100%, 67%) 15 | $green: hsl(141, 71%, 48%) 16 | $turquoise: hsl(171, 100%, 41%) 17 | $blue: hsl(217, 71%, 53%) 18 | $purple: hsl(271, 100%, 71%) 19 | $pink: hsl(348, 100%, 61%) 20 | $red: hsl(4, 100%, 61%) 21 | 22 | $orange-invert: findColorInvert($orange) 23 | $yellow-invert: findColorInvert($yellow) 24 | $green-invert: findColorInvert($green) 25 | $turquoise-invert: findColorInvert($turquoise) 26 | $blue-invert: findColorInvert($blue) 27 | $purple-invert: findColorInvert($purple) 28 | $red-invert: findColorInvert($red) 29 | 30 | $turquoise-dark: hsl(171, 100%, 21%) 31 | $turquoise-light: hsl(171, 100%, 96%) 32 | 33 | $purple-dark: hsl(271, 100%, 51%) 34 | $purple-light: hsl(271, 100%, 96%) 35 | 36 | // Social 37 | $facebook: #3b5998 38 | $github: #333333 39 | $instagram: #3f729b 40 | $hacker-news: #ff6600 41 | $soundcloud: #ff8800 42 | $twitter: #55acee 43 | $rss: #f26522 44 | 45 | // Inferred 46 | $text: hsl(0, 0%, 30%) 47 | $text-light: hsl(0, 0%, 50%) 48 | $text-strong: hsl(0, 0%, 20%) 49 | 50 | $primary: $turquoise 51 | $primary-invert: $turquoise-invert 52 | $primary-light: $turquoise-light 53 | $primary-dark: $turquoise-dark 54 | 55 | $link: $blue 56 | $link-invert: $blue-invert 57 | 58 | $background: hsl(0, 0%, 95%) 59 | $border: hsl(0, 0%, 90%) 60 | 61 | // Typography 62 | $family-primary: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif 63 | $family-monospace: "Inconsolata", "Source Code Pro", "Consolas", "Monaco", "Courier", monospace 64 | 65 | $weight-light: 300 66 | $weight-normal: 400 67 | $weight-bold: 700 68 | 69 | // Dimensions 70 | $logo-width: 190px 71 | $menu-width: $logo-width + (2 * 18px) 72 | // $menu-width: 240px 73 | $header-height: calc(100vh - #{$menu-width}) 74 | 75 | // Miscellaneous 76 | $shadow: 0 0 1rem rgba(#000, 0.1) 77 | $speed: 300ms 78 | -------------------------------------------------------------------------------- /transitions.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: collection 3 | collection_name: "Transitions" 4 | menu_list: "transitions-list" 5 | description: "define how an HTML element transitions between states" 6 | --- 7 | 8 | {% include collections/transitions.html %} 9 | -------------------------------------------------------------------------------- /typography.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: collection 3 | collection_name: "Typography" 4 | menu_list: "typography-list" 5 | description: "define the color, size, spacing, and shape of text" 6 | --- 7 | 8 | {% include collections/typography.html %} 9 | --------------------------------------------------------------------------------