Insets

<p><strong>Small</strong></p>
<div class="sg-example--padded-block">
    <div style="padding: 0.5rem 0.5rem;">
        <div style="width: calc(100% - 2 * 0.5rem); height: calc(100% - 2 * 0.5rem);"></div>
    </div>
</div>
<dl class="sg-datalist sg-datalist--code">
    <dt><span class="sg-datalist__label">Horizontal</span></dt>
    <dd><code>0.5rem</code></dd>
    <dt><span class="sg-datalist__label">Vertical</span></dt>
    <dd><code>0.5rem</code></dd>
    <dt><span class="sg-datalist__label">SASS</span></dt>
    <dd><code>$grav-sp-inset-s</code></dd>
</dl>

<p><strong>Medium</strong></p>
<div class="sg-example--padded-block">
    <div style="padding: 1rem 1rem;">
        <div style="width: calc(100% - 2 * 1rem); height: calc(100% - 2 * 1rem);"></div>
    </div>
</div>
<dl class="sg-datalist sg-datalist--code">
    <dt><span class="sg-datalist__label">Horizontal</span></dt>
    <dd><code>1rem</code></dd>
    <dt><span class="sg-datalist__label">Vertical</span></dt>
    <dd><code>1rem</code></dd>
    <dt><span class="sg-datalist__label">SASS</span></dt>
    <dd><code>$grav-sp-inset-m</code></dd>
</dl>

<p><strong>Large</strong></p>
<div class="sg-example--padded-block">
    <div style="padding: 2rem 2rem;">
        <div style="width: calc(100% - 2 * 2rem); height: calc(100% - 2 * 2rem);"></div>
    </div>
</div>
<dl class="sg-datalist sg-datalist--code">
    <dt><span class="sg-datalist__label">Horizontal</span></dt>
    <dd><code>2rem</code></dd>
    <dt><span class="sg-datalist__label">Vertical</span></dt>
    <dd><code>2rem</code></dd>
    <dt><span class="sg-datalist__label">SASS</span></dt>
    <dd><code>$grav-sp-inset-l</code></dd>
</dl>
{% for inset in insets %}
  <p><strong>{{inset.name}}</strong></p>
  <div class="sg-example--padded-block">
    <div style="padding: {{inset.vLength}} {{inset.hLength}};">
      <div style="width: calc(100% - 2 * {{inset.hLength}}); height: calc(100% - 2 * {{inset.vLength}});"></div>
    </div>
  </div>
  <dl class="sg-datalist sg-datalist--code">
    <dt><span class="sg-datalist__label">Horizontal</span></dt>
    <dd><code>{{inset.hLength}}</code></dd>
    <dt><span class="sg-datalist__label">Vertical</span></dt>
    <dd><code>{{inset.vLength}}</code></dd>
    <dt><span class="sg-datalist__label">SASS</span></dt>
    <dd><code>{{inset.var}}</code></dd>
  </dl>
{% endfor %}
{
  "text": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam",
  "url": "#",
  "listItems": [
    {
      "htmlContent": "Some list item content"
    },
    {
      "htmlContent": "More list item content"
    },
    {
      "htmlContent": "Even more list item content"
    },
    {
      "htmlContent": "I can't believe there's still more list item content"
    },
    {
      "htmlContent": "Seriously?! That's enough now."
    }
  ],
  "footer": {
    "copy": "&copy; 2019 <strong>Buildit</strong>. All rights reserved.",
    "linksA": [
      {
        "label": "Stories",
        "url": "#"
      },
      {
        "label": "People",
        "url": "#"
      },
      {
        "label": "Jobs",
        "url": "#"
      }
    ],
    "linksB": [
      {
        "label": "Terms",
        "url": "#"
      },
      {
        "label": "Accessibility",
        "url": "#"
      },
      {
        "label": "Privacy & Cookie Policy",
        "url": "https://wiprodigital.com/privacy-policy"
      }
    ]
  },
  "hero": {
    "pullout": "Big, attention-grabbing headline",
    "paragraph": "Witty subtitle",
    "cta": {
      "text": "Clickbaity label",
      "url": "#"
    }
  },
  "img": {
    "random": {
      "src": "/images/img-random-1.png",
      "alt": "A placeholder image with an arbitrary aspect ratio."
    },
    "square": {
      "src": "/images/img-1x1.png",
      "alt": "A placeholder image with a perfect square (1:1) aspect ratio."
    },
    "tv": {
      "src": "/images/img-4x3.png",
      "alt": "A placeholder image with a 4:3 aspect ratio, like an old TV."
    },
    "widescreen": {
      "src": "/images/img-16x9.png",
      "alt": "A placeholder image with a 16:9 aspect ratio, like a widescreen TV."
    },
    "logo": {
      "src": "/images/img-random-2.png",
      "alt": "A test image for a logo with an arbitrary aspect ratio."
    }
  },
  "title": "Page title",
  "header": {
    "url": "./homepage",
    "links": [
      {
        "text": "Jobs",
        "url": "./jobs"
      },
      {
        "text": "Locations",
        "url": "./locations"
      }
    ],
    "externalLinks": [
      {
        "text": "Fancy external website",
        "url": "./error-page"
      }
    ]
  },
  "sections": [
    {
      "title": "Example section",
      "class": "grav-o-full-bleed__content",
      "content": [
        {
          "paragraph": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam."
        }
      ]
    }
  ],
  "section": {
    "title": "This is the title for a section",
    "class": "grav-o-full-bleed__content",
    "content": [
      {
        "paragraph": "Paragraph lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
      },
      {
        "blockquote": "Blockquote lorem ipsum dolor sit amet, consectetur adipisicing elit"
      },
      {
        "twoColumnsList": [
          {
            "htmlContent": "Vestibulum auctor dapibus neque."
          },
          {
            "htmlContent": "Lorem ipsum dolor sit amet, consectetuer adipiscing elit."
          },
          {
            "htmlContent": "Aliquam tincidunt mauris eu risus."
          },
          {
            "htmlContent": "Labore et dolore magna aliqua."
          },
          {
            "htmlContent": "Phasellus tempus, orci non mattis sagittis."
          }
        ]
      },
      {
        "inlineRow": [
          {
            "text": "First link",
            "url": "#"
          },
          {
            "text": "Second link",
            "url": "#"
          },
          {
            "text": "Third link",
            "url": "#"
          }
        ]
      },
      {
        "imgCards": [
          {
            "title": "Some fascinating, attention-grabbing headling",
            "content": "Ideally, with a click-baity tagline that entices to you to visit!",
            "image": {
              "src": "/images/img-random-1.png",
              "alt": "Brief description of this fascinating image"
            }
          },
          {
            "title": "Labore et dolore magna aliqua",
            "content": "Vestibulum pharetra arcu enim, nec porttitor quam ullamcorper et. Phasellus tempus, orci non mattis sagittis, lectus erat fringilla odio, nec auctor erat augue quis eros.",
            "image": {
              "src": "/images/img-random-1.png",
              "alt": "Phasellus tempus, orci non mattis"
            }
          },
          {
            "title": "Nanotechnology immersion along the information highway",
            "content": "Leverage agile frameworks to provide a robust synopsis for high level overviews.",
            "image": {
              "src": "/images/img-random-1.png",
              "alt": "Bring to the table win-win survival strategies"
            }
          }
        ]
      },
      {
        "imgLinks": [
          {
            "url": "#",
            "image": {
              "src": "/images/img-random-1.png",
              "alt": "Image linke #1"
            }
          },
          {
            "url": "#",
            "image": {
              "src": "/images/img-random-2.png",
              "alt": "Image linke #2"
            }
          },
          {
            "url": "#",
            "image": {
              "src": "/images/img-random-3.png",
              "alt": "Image linke #3"
            }
          }
        ]
      }
    ]
  },
  "insets": [
    {
      "name": "Small",
      "var": "$grav-sp-inset-s",
      "vLength": "0.5rem",
      "hLength": "0.5rem"
    },
    {
      "name": "Medium",
      "var": "$grav-sp-inset-m",
      "vLength": "1rem",
      "hLength": "1rem"
    },
    {
      "name": "Large",
      "var": "$grav-sp-inset-l",
      "vLength": "2rem",
      "hLength": "2rem"
    }
  ]
}

Purpose

This is a standardised set of inset values to use for padding on UI elements. These are derived from the spacing scale.

There are two kinds of insets:

  • Normal: Use the same space value on all 4 sides.
  • Squished: Use a smaller space value for top and bottom sides, than the one they use for left and right.