- Full list of type families & faces
- Full list of font sizes & line heights used
- Max width of constrained layout
If using a grid system:
| export const $ = (selector, context = document) => Array(...context.querySelectorAll(selector)) | |
| export const isEven = n => n === 0 || !!(n && !(n%2)); | |
| export const isInViewport = (el)=> { | |
| var rect = el.getBoundingClientRect(); | |
| return ( | |
| rect.top >= 0 && | |
| rect.left >= 0 && | |
| rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /*or $(window).height() */ |
| // TOGS???? | |
| <section class="js-toggle-group"> | |
| <nav> | |
| <button | |
| data-toggle="one" | |
| class="js-toggle-link"> | |
| One | |
| </button> | |
| <button |
| <!-- html --> | |
| <figure class="multiply-image lead-1 ns-lead-0"> | |
| <img class="multiply-image-source" src="{{section.settings.about_image | img_url: '900x' }}" alt="{{section.settings.about_caption}}"> | |
| <img class="multiply-image-copy" src="{{section.settings.about_image | img_url: '900x' }}" alt="{{section.settings.about_caption}}"> | |
| <caption class="txt-gray multiply">{{section.settings.about_caption}}</caption> | |
| </figure> | |
| <!-- css --> | |
| .multiply-image { |
| const channels = { | |
| z: { | |
| channel: 'z', | |
| description: 'Getting nothing but static, getting nothing but static / Static in my attic from Channel Z', | |
| emits: 'Space Junk', | |
| listeners: [] | |
| } | |
| } | |
| const check = channel => typeof channels[channel] == 'object' |
| <!doctype html> | |
| <html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta content="IE=edge" http-equiv="X-UA-Compatible"> | |
| <meta name="viewport" content="width=device-width, user-scalable=no"> | |
| <title>Your Title</title> | |
| <link rel="shortcut icon" href="/img/favicon.ico"> | |
| <!-- get calcite-web css from the cdn (use latest version) --> | |
| <link rel="stylesheet" href="/style.min.css?v1.0.0"> |
| <div class="product-options"> | |
| {% for option in product.options_with_values %} | |
| <div class="product-option"> | |
| <h4 class="txt-size-0">{{ option.name }}</h4> | |
| <select class="product-option-select js-variant-select" data-axis="{{ option.name | downcase }}"> | |
| {% for value in option.values %} | |
| <option {% if option.selected_value == value %}selected{% endif %}> | |
| {{ value }} | |
| </option> |
| // ββββββββββββββ | |
| // β CSS Grid: β | |
| // β Good for β | |
| // β spanning β | |
| // β horizontal β | |
| // ββββββββββββββ | |
| .masonry { | |
| display: grid; | |
| grid-template-columns: repeat(4, 1fr); |
| // ββββββββββββββ | |
| // β Multi-Col: β | |
| // β Good for β | |
| // β Pinterest β | |
| // β Style. β | |
| // ββββββββββββββ | |
| .masonry { | |
| column-count: 4; | |
| column-gap: $gutter; |