Skip to content

Instantly share code, notes, and snippets.

@paolodina
Created June 22, 2014 16:43
Show Gist options
  • Save paolodina/dfac509beacaada67ab7 to your computer and use it in GitHub Desktop.
Save paolodina/dfac509beacaada67ab7 to your computer and use it in GitHub Desktop.
Generated by SassMeister.com.
<main>
<header>
<h1>Web Typography</h1>
<h2>Demystified</h2>
</header>
<h1>A section</h1>
<section>
<h2>Section heading</h2>
<p>A 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, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<h2>A boxed container</h2>
<div class="box">
<h3>The header</h3>
<p>The 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, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<p>And another 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, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
</section>
<h1>Typography Showcase</h1>
<section>
<h2 class="main">Welcome!</h2>
<div class="box">
<h3>About web typography</h3>
<h4 class="highlight">HARD TO GET IT RIGHT&hellip; &#8592; Not kidding.</h4>
<h5>Sass and Compass FTW, will make it a snap!</h5>
<h6>Are you a web developer? Read on.</h6>
<p>This page aims to provide a simple web typography example that looks great in modern, and hopefully less modern browsers. Doing a such thing is not an easy task but <a href="http://sass-lang.com/">Sass</a> and Compass makes it possible greatly simplifying the challenge.</p>
<p><a href="compass-style.org">Compass</a> is <i>an open-source CSS authoring framework which uses the Sass stylesheet language to make writing stylesheets powerful and easy</i>. I agree, so many things become possible.</p>
<p>Going on, more documentation will come, in the mean time have a look at the showcase to get an idea. <a href="#headers">Headers</a>, <a href="#spacing">Spacing</a></p>
<p><small><strong>DISCLAIMER:</strong> I'm a Python developer, not a pro web designer. Feedback on this work is welcome &#9786;</small></p>
</div>
<h1 id="headers">Headers</h1>
<p>Herebelow is an example of the different headings.</p>
<div class="box">
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>
<h1>Heading 1</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<h2>Heading 2</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<h3>Heading 3</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<h4>Heading 4</h4>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<h5>Heading 5</h5>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<h6>Heading 6</h6>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p
</div>
</section>
<section id="spacing">
<h1>Space tweakings</h1>
<p>Herebelow is an example of font size and line height variations.</p>
<h2>default</h2>
<div class="box spacing-1">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<h2>font-size: 1.5*base size, line-height: 3</h2>
<div class="box spacing-2">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<h2>font-size: 3*base size, line-height: 3</h2>
<div class="box spacing-3">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
<h2>playing with numbers</h2>
<div class="box spacing-4">
<h3>Excerpt</h3>
<div class="excerpt-debug">
<p class="wrapper">
Excerpts allow users to display more content in less space. It is particularly useful for content rich websites such as news or magazine sites where the website owners would want to showcase more content on the front page with links to full articles. Examples of places that generally use these are RSS feeds, archived pages, and search pages. They can also be automated depending on the way they are used. Automated excerpts generally take part of the post with the specified limit of the number of words within that post. <a href="http://www.wpbeginner.com/glossary/excerpt/">Read more</a>.
<br /><br />
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
</div>
<div class="excerpt-debug-2">
<p class="wrapper">
Excerpts allow users to display more content in less space. It is particularly useful for content rich websites such as news or magazine sites where the website owners would want to showcase more content on the front page with links to full articles. Examples of places that generally use these are RSS feeds, archived pages, and search pages. They can also be automated depending on the way they are used. Automated excerpts generally take part of the post with the specified limit of the number of words within that post. <a href="http://www.wpbeginner.com/glossary/excerpt/">Read more</a>.
<br /><br />
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
</div>
<p>Excerpts allow users to display more content in less space. It is particularly useful for content rich websites such as news or magazine sites where the website owners would want to showcase more content on the front page with links to full articles. Examples of places that generally use these are RSS feeds, archived pages, and search pages. They can also be automated depending on the way they are used. Automated excerpts generally take part of the post with the specified limit of the number of words within that post.
<br />Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
</section>
<!--
<h1 id=""></h1>
<p>Herebelow is an example of </p>
<div class="box">
<h1>Heading 1</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
-->
<h1>Last section</h1>
<section class="last">
<h2>Enjoy the code and feel free to tailor your own version tweaking scss.</h2>
<div class="box">
<h3>About this section</h3>
<p>Note that in this section the trailer space is reset to its default.</p>
</div>
</section>
</main>
// ----
// Sass (v3.3.8)
// Compass (v1.0.0.alpha.19)
// Normalize SCSS (v3.0.0.alpha.2)
// ----
/* SASS/COMPASS Typography Example
GOAL OF THE PROJECT:
provide a simple typography module
looking great in modern (and less
modern) browsers.
DESCRIPTION:
TODO
FEATURES:
* takes care of vertical rhythm
* modular scale aware
* ... and much more ...
ISSUES:
Please report any issue here (TODO).
CREDITS AND INSPIRED BY:
*/
@import "normalize-scss";
@import "compass/css3";
@import "compass/typography/vertical_rhythm";
@import url('http://fonts.googleapis.com/css?family=Oxygen');
@import url('http://fonts.googleapis.com/css?family=Source+Sans+Pro');
@import url('http://fonts.googleapis.com/css?family=Creepster');
// DROP SHADOW
@mixin box-shadow($top, $left, $blur, $color, $inset:"") {
-webkit-box-shadow:$top $left $blur $color #{$inset};
-moz-box-shadow:$top $left $blur $color #{$inset};
box-shadow:$top $left $blur $color #{$inset};
}
// //////////////////////////////////
// SETTINGS!
$base-font-size: 16px;
$base-line-height: 24px;
$rhythm-unit: "rem";
$rem-with-px-fallback: true;
$round-to-nearest-half-line: false;
// FONTS
// http://css-tricks.com/snippets/css/font-stacks/
// http://monkee-boy.com/blog/2013/10/10-more-awesome-google-webfont-combinations-to-try-today/
// search google for: google font pairings
$hdr-font-stack: 'Oxygen', Frutiger, "Frutiger Linotype", Univers, Calibri, "Gill Sans", "Gill Sans MT", "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif;;
$pri-font-stack: 'Source Sans Pro', Corbel, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", "Bitstream Vera Sans", "Liberation Sans", Verdana, "Verdana Ref", sans-serif;;
//$alt-font-stack: 'Lato', serif;
// MODULAR SCALE (TODO)
$ms-xxl: 86px;
$ms-xl: 56px;
$ms-lg: 46px;
$ms-up6: 30px;
$ms-up5: 26px;
$ms-up4: 22px;
$ms-up3: 20px;
$ms-up2: 18px;
$ms-up1: 18px;
$ms-base: $base-font-size;
$ms-down1: 10.715px;
$ms-down2: 10.042px;
$ms-down3: 9.662px;
// ACTUAL STYLESHEET
// BLOCK ELEMENTS
section, p {
@include adjust-font-size-to($ms-base);
@include rhythm();
font-family: $pri-font-stack;
}
.spacing-1 {
p {
@include adjust-font-size-to($ms-base, 1);
}
}
.spacing-2 {
p {
@include adjust-font-size-to(1.5*$ms-base, 3, $ms-base);
}
}
.spacing-3 {
p {
@include adjust-font-size-to(3*$ms-base, 3, $ms-base);
text-align: center;
text-transform: uppercase;
font-weight: bold;
}
}
.spacing-4 {
background: rgba(255, 255, 255, 0.4);
p {
//background: rgba(128, 255, 255, 0.8);
//background: linear-gradient(to top, rgba(32, 81, 170, 0.6) 5%, rgba(0, 0, 0, 0) 5%);
//background-size: 100% rhythm();
//background-position: left top;
@include adjust-font-size-to($ms-base, 1, $ms-down1);
}
.excerpt-debug {
margin-left: -0.66 * rhythm();
margin-right: -0.66 * rhythm();
background: rgba(255, 255, 255, 0.6);
.wrapper {
@include adjust-font-size-to($ms-down1, 0.5, $ms-base);
background: linear-gradient(to top, rgba(32, 81, 170, 0.6) 5%, rgba(0, 0, 0, 0) 5%);
//position: relative; top:-1px;
background-size: 100% rhythm() / 2;
background-position: left -1*rhythm();
padding-left: 0.66 * rhythm();
padding-right: 0.66 * rhythm();
font-weight: bold;
}
}
.excerpt-debug-2 {
@include leader(1);
background: rgba(255, 255, 255, 1);
margin-left: -0.66 * rhythm();
margin-right: -0.66 * rhythm();
.wrapper {
@include adjust-font-size-to($ms-base * 0.9, 0.8, $ms-base);
background: linear-gradient(to top, rgba(12, 111, 70, 0.6) 5%, rgba(0, 0, 0, 0) 5%);
background-size: 100% rhythm(0.8);
background-position: left -1*rhythm(0.4);
padding-left: 0.66 * rhythm();
padding-right: 0.66 * rhythm();
}
}
}
//CONTAINERS
main {
@include debug-vertical-alignment();
width: 60%;
margin: 0 auto;
}
section {
@include trailer(3);
&.last {
@include trailer();
}
}
.box {
@include rhythm-borders(8px);
// rhythm borders overrided rules
border-color: #938;
@include box-shadow(0px, 0px, 20px, #222);
@include trailer(2);
}
// HEADERS
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
@include rhythm();
font-family: $hdr-font-stack;
}
h1, .h1 { @include adjust-font-size-to($ms-up6); }
h2, .h2 { @include adjust-font-size-to($ms-up3); }
h3, .h3 { @include adjust-font-size-to($ms-up1); }
h4, .h4 { @include adjust-font-size-to($ms-up1); }
h5, .h5 { @include adjust-font-size-to($ms-base); }
h6, .h6 { @include adjust-font-size-to($ms-base); }
// spacing
main > h1 {
@include trailer(2);
color: brown;
}
// presentation
h2.main {
text-transform: uppercase;
}
h4.highlight {
//color: TODO;
font-weight: bold;
@include adjust-font-size-to($ms-up6, 4, $ms-up1);
}
header {
h1, h2 {
text-align: center;
@include adjust-font-size-to($ms-xxl, 6, $ms-up1);
font-family: 'Creepster', cursive;
}
h2 {
position: relative;
top: 1/2*rhythm();
left: 2*rhythm();
@include rotate(5deg);
}
}
/* SASS/COMPASS Typography Example
GOAL OF THE PROJECT:
provide a simple typography module
looking great in modern (and less
modern) browsers.
DESCRIPTION:
TODO
FEATURES:
* takes care of vertical rhythm
* modular scale aware
* ... and much more ...
ISSUES:
Please report any issue here (TODO).
CREDITS AND INSPIRED BY:
*/
/* normalize-scss 3.0.0-alpha.2+normalize.3.0.0 | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Base
========================================================================== */
/**
* Establish a vertical rhythm unit using $base-font-size, $base-line-height,
* and $rhythm-unit variables. Also, correct text resizing oddly in IE 6/7 when
* body `font-size` is set using `em` units.
*/
@import url("http://fonts.googleapis.com/css?family=Oxygen");
@import url("http://fonts.googleapis.com/css?family=Source+Sans+Pro");
@import url("http://fonts.googleapis.com/css?family=Creepster");
html {
font-size: 100%;
line-height: 1.5em;
}
/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS text size adjust after orientation change, without disabling
* user zoom.
*/
html {
font-family: sans-serif;
/* 1 */
-ms-text-size-adjust: 100%;
/* 2 */
-webkit-text-size-adjust: 100%;
/* 2 */
}
/**
* Remove default margin.
*/
body {
margin: 0;
}
/* HTML5 display definitions
========================================================================== */
/**
* Correct `block` display not defined in IE 8/9. Correct `block` display
* not defined on `summary` and `details` in IE and Firefox and on `main` in IE.
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
display: block;
}
/**
* 1. Correct `inline-block` display not defined in IE 8/9.
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
*/
audio,
canvas,
progress,
video {
display: inline-block;
/* 1 */
*display: inline;
*zoom: 1;
vertical-align: baseline;
/* 2 */
}
/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Address `[hidden]` styling not present in IE 8/9/10.
*/
[hidden] {
display: none;
}
/**
* Hide the `template` element in IE, Safari, and Firefox < 22.
*/
template {
display: none;
}
/* Links
========================================================================== */
/**
* Remove the gray background color from active links in IE 10.
*/
a {
background: transparent;
}
/**
* Improve readability when focused and also mouse hovered in all browsers.
*/
a:active,
a:hover {
outline: 0;
}
/* Text-level semantics
========================================================================== */
/**
* Address styling not present in IE, Safari 5, and Chrome.
*/
abbr[title] {
border-bottom: 1px dotted;
}
/**
* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
*/
b,
strong {
font-weight: bold;
}
/**
* Set 1 unit of vertical rhythm on the top and bottom margin.
*/
blockquote {
margin: 1.5em 40px;
}
/**
* Address odd `em`-unit font size rendering in all browsers.
*/
code,
kbd,
pre,
samp {
font-family: monospace, serif;
font-size: 1em;
}
/**
* Address styling not present in Safari 5 and Chrome.
*/
dfn {
font-style: italic;
}
/**
* Address variable `h1` font-size and margin within `section` and `article`
* contexts in Firefox 4+, Safari 5, and Chrome.
*/
h1 {
/* Set the font-size and line-height while keeping a proper vertical rhythm. */
font-size: 2em;
line-height: 1.5em;
/* Set 1 unit of vertical rhythm on the top and bottom margins. */
margin-top: 0.75em;
margin-bottom: 0.75em;
}
h2 {
font-size: 1.5em;
line-height: 2em;
margin-top: 1em;
margin-bottom: 1em;
}
h3 {
font-size: 1.17em;
line-height: 1.28205em;
margin-top: 1.28205em;
margin-bottom: 1.28205em;
}
h4 {
font-size: 1em;
line-height: 1.5em;
margin-top: 1.5em;
margin-bottom: 1.5em;
}
h5 {
font-size: 0.83em;
line-height: 1.80723em;
margin-top: 1.80723em;
margin-bottom: 1.80723em;
}
h6 {
font-size: 0.67em;
line-height: 2.23881em;
margin-top: 2.23881em;
margin-bottom: 2.23881em;
}
/**
* Address styling not present in IE 8/9.
*/
mark {
background: #ff0;
color: #000;
}
/**
* Set 1 unit of vertical rhythm on the top and bottom margin.
*/
p,
pre {
margin: 1.5em 0;
}
/**
* Contain overflow in all browsers.
*/
pre {
overflow: auto;
}
/**
* Address inconsistent and variable font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* Lists
========================================================================== */
/**
* Address margins set differently in IE 6/7.
*/
dl,
menu,
ol,
ul {
margin: 1.5em 0;
}
dd {
margin: 0 0 0 40px;
}
/**
* Address paddings set differently in IE 6/7.
*/
menu,
ol,
ul {
padding: 0 0 0 40px;
}
/**
* Correct list images handled incorrectly in IE 7.
*/
nav ul,
nav ol {
list-style: none;
list-style-image: none;
}
/* Embedded content
========================================================================== */
/**
* Remove border when inside `a` element in IE 8/9/10.
*/
img {
border: 0;
/* Improve image quality when scaled in IE 7. */
-ms-interpolation-mode: bicubic;
}
/**
* Correct overflow displayed in IE.
*/
svg:not(:root) {
overflow: hidden;
}
/* Grouping content
========================================================================== */
/**
* Address margin not present in IE 8/9 and Safari 5.
*/
figure {
margin: 1.5em 40px;
}
/**
* Address differences between Firefox and other browsers.
*/
hr {
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
height: 0;
}
/* Forms
========================================================================== */
/**
* Known limitation: by default, Chrome and Safari on OS X allow very limited
* styling of `select`, unless a `border` property is set.
*/
/**
* Correct margin displayed oddly in IE 6/7.
*/
form {
margin: 0;
}
/**
* 1. Correct color not being inherited.
* Known issue: affects color of disabled elements.
* 2. Correct font properties not being inherited.
* 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
* 4. Address `font-family` inconsistency between `textarea` and other form in IE 7
* 5. Improve appearance and consistency with IE 6/7.
*/
button,
input,
optgroup,
select,
textarea {
color: inherit;
/* 1 */
font: inherit;
/* 2 */
margin: 0;
/* 3 */
*font-family: sans-serif;
/* 4 */
*vertical-align: middle;
/* 5 */
}
/**
* Address `overflow` set to `hidden` in IE.
*/
button {
overflow: visible;
}
/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Firefox, IE, and Opera.
* Correct `select` style inheritance in Firefox.
*/
button,
select {
text-transform: none;
}
/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
* `input` and others.
* 4. Remove inner spacing in IE 7 without affecting normal text inputs.
* Known issue: inner spacing remains in IE 6.
*/
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button;
/* 2 */
cursor: pointer;
/* 3 */
*overflow: visible;
/* 4 */
}
/**
* Re-set default cursor for disabled elements.
*/
button[disabled],
html input[disabled] {
cursor: default;
}
/**
* Remove inner padding and border in Firefox 4+.
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/**
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
input {
line-height: normal;
}
/**
* It's recommended that you don't attempt to style these elements.
* Firefox's implementation doesn't respect box-sizing, padding, or width.
*
* 1. Address box sizing set to `content-box` in IE 8/9/10.
* 2. Remove excess padding in IE 8/9/10.
* 3. Remove excess padding in IE 7.
* Known issue: excess padding remains in IE 6.
*/
input[type="checkbox"],
input[type="radio"] {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
/* 1 */
padding: 0;
/* 2 */
*height: 13px;
/* 3 */
*width: 13px;
/* 3 */
}
/**
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
* `font-size` values of the `input`, it causes the cursor style of the
* decrement button to change from `default` to `text`.
*/
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
* (include `-moz` to future-proof).
*/
input[type="search"] {
-webkit-appearance: textfield;
/* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
/* 2 */
/**
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
* Safari (but not Chrome) clips the cancel button when the search input has
* padding (and `textfield` appearance).
*/
}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* Define consistent border, margin, and padding.
*/
fieldset {
margin: 0 2px;
/* Apply borders and padding that keep the vertical rhythm. */
border-color: #c0c0c0;
border-top-width: 0.0625em;
border-top-style: solid;
padding-top: 0.4625em;
border-bottom-width: 0.0625em;
border-bottom-style: solid;
padding-bottom: 0.9125em;
border-left-width: 0.0625em;
border-left-style: solid;
padding-left: 0.875em;
border-right-width: 0.0625em;
border-right-style: solid;
padding-right: 0.875em;
}
/**
* 1. Correct `color` not being inherited in IE.
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
* 3. Correct alignment displayed oddly in IE 6/7.
*/
legend {
border: 0;
/* 1 */
padding: 0;
/* 2 */
*margin-left: -7px;
/* 3 */
}
/**
* Remove default vertical scrollbar in IE.
*/
textarea {
overflow: auto;
}
/**
* Don't inherit the `font-weight` (applied by a rule above).
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
*/
optgroup {
font-weight: bold;
}
/* Tables
========================================================================== */
/**
* Remove most spacing between table cells.
*/
table {
border-collapse: collapse;
border-spacing: 0;
}
td,
th {
padding: 0;
}
section, p {
font-size: 16px;
font-size: 1rem;
line-height: 24px;
line-height: 1.5rem;
margin-top: 24px;
margin-top: 1.5rem;
padding-top: 0px;
padding-top: 0rem;
padding-bottom: 0px;
padding-bottom: 0rem;
margin-bottom: 24px;
margin-bottom: 1.5rem;
font-family: "Source Sans Pro", Corbel, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", "Bitstream Vera Sans", "Liberation Sans", Verdana, "Verdana Ref", sans-serif;
}
.spacing-1 p {
font-size: 16px;
font-size: 1rem;
line-height: 24px;
line-height: 1.5rem;
}
.spacing-2 p {
font-size: 24px;
font-size: 1.5rem;
line-height: 72px;
line-height: 4.5rem;
}
.spacing-3 p {
font-size: 48px;
font-size: 3rem;
line-height: 72px;
line-height: 4.5rem;
text-align: center;
text-transform: uppercase;
font-weight: bold;
}
.spacing-4 {
background: rgba(255, 255, 255, 0.4);
}
.spacing-4 p {
font-size: 16px;
font-size: 1rem;
line-height: 24px;
line-height: 1.5rem;
}
.spacing-4 .excerpt-debug {
margin-left: -0.99rem;
margin-right: -0.99rem;
background: rgba(255, 255, 255, 0.6);
}
.spacing-4 .excerpt-debug .wrapper {
font-size: 11px;
font-size: 0.66969rem;
line-height: 12px;
line-height: 0.75rem;
background: linear-gradient(to top, rgba(32, 81, 170, 0.6) 5%, rgba(0, 0, 0, 0) 5%);
background-size: 100% 0.75rem;
background-position: left -1.5rem;
padding-left: 0.99rem;
padding-right: 0.99rem;
font-weight: bold;
}
.spacing-4 .excerpt-debug-2 {
margin-top: 24px;
margin-top: 1.5rem;
background: white;
margin-left: -0.99rem;
margin-right: -0.99rem;
}
.spacing-4 .excerpt-debug-2 .wrapper {
font-size: 14px;
font-size: 0.9rem;
line-height: 19px;
line-height: 1.2rem;
background: linear-gradient(to top, rgba(12, 111, 70, 0.6) 5%, rgba(0, 0, 0, 0) 5%);
background-size: 100% 1.2rem;
background-position: left -0.6rem;
padding-left: 0.99rem;
padding-right: 0.99rem;
}
main {
background-image: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0.5) 5%, rgba(0, 0, 0, 0) 5%);
background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5) 5%, rgba(0, 0, 0, 0) 5%);
background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5) 5%, rgba(0, 0, 0, 0) 5%);
-moz-background-size: 100% 1.5rem;
-o-background-size: 100% 1.5rem;
-webkit-background-size: 100% 1.5rem;
background-size: 100% 1.5rem;
background-position: left top;
width: 60%;
margin: 0 auto;
}
section {
margin-bottom: 72px;
margin-bottom: 4.5rem;
}
section.last {
margin-bottom: 24px;
margin-bottom: 1.5rem;
}
.box {
border-width: 8px;
border-width: 0.5rem;
border-style: solid;
padding: 16px;
padding: 1rem;
border-color: #938;
-webkit-box-shadow: 0px 0px 20px #222222 ;
-moz-box-shadow: 0px 0px 20px #222222 ;
box-shadow: 0px 0px 20px #222222 ;
margin-bottom: 48px;
margin-bottom: 3rem;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
margin-top: 24px;
margin-top: 1.5rem;
padding-top: 0px;
padding-top: 0rem;
padding-bottom: 0px;
padding-bottom: 0rem;
margin-bottom: 24px;
margin-bottom: 1.5rem;
font-family: "Oxygen", Frutiger, "Frutiger Linotype", Univers, Calibri, "Gill Sans", "Gill Sans MT", "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
h1, .h1 {
font-size: 30px;
font-size: 1.875rem;
line-height: 48px;
line-height: 3rem;
}
h2, .h2 {
font-size: 20px;
font-size: 1.25rem;
line-height: 24px;
line-height: 1.5rem;
}
h3, .h3 {
font-size: 18px;
font-size: 1.125rem;
line-height: 24px;
line-height: 1.5rem;
}
h4, .h4 {
font-size: 18px;
font-size: 1.125rem;
line-height: 24px;
line-height: 1.5rem;
}
h5, .h5 {
font-size: 16px;
font-size: 1rem;
line-height: 24px;
line-height: 1.5rem;
}
h6, .h6 {
font-size: 16px;
font-size: 1rem;
line-height: 24px;
line-height: 1.5rem;
}
main > h1 {
margin-bottom: 48px;
margin-bottom: 3rem;
color: brown;
}
h2.main {
text-transform: uppercase;
}
h4.highlight {
font-weight: bold;
font-size: 30px;
font-size: 1.875rem;
line-height: 96px;
line-height: 6rem;
}
header h1, header h2 {
text-align: center;
font-size: 86px;
font-size: 5.375rem;
line-height: 144px;
line-height: 9rem;
font-family: 'Creepster', cursive;
}
header h2 {
position: relative;
top: 0.75rem;
left: 3rem;
-moz-transform: rotate(5deg);
-ms-transform: rotate(5deg);
-webkit-transform: rotate(5deg);
transform: rotate(5deg);
}
<main>
<header>
<h1>Web Typography</h1>
<h2>Demystified</h2>
</header>
<h1>A section</h1>
<section>
<h2>Section heading</h2>
<p>A 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, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<h2>A boxed container</h2>
<div class="box">
<h3>The header</h3>
<p>The 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, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<p>And another 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, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
</section>
<h1>Typography Showcase</h1>
<section>
<h2 class="main">Welcome!</h2>
<div class="box">
<h3>About web typography</h3>
<h4 class="highlight">HARD TO GET IT RIGHT&hellip; &#8592; Not kidding.</h4>
<h5>Sass and Compass FTW, will make it a snap!</h5>
<h6>Are you a web developer? Read on.</h6>
<p>This page aims to provide a simple web typography example that looks great in modern, and hopefully less modern browsers. Doing a such thing is not an easy task but <a href="http://sass-lang.com/">Sass</a> and Compass makes it possible greatly simplifying the challenge.</p>
<p><a href="compass-style.org">Compass</a> is <i>an open-source CSS authoring framework which uses the Sass stylesheet language to make writing stylesheets powerful and easy</i>. I agree, so many things become possible.</p>
<p>Going on, more documentation will come, in the mean time have a look at the showcase to get an idea. <a href="#headers">Headers</a>, <a href="#spacing">Spacing</a></p>
<p><small><strong>DISCLAIMER:</strong> I'm a Python developer, not a pro web designer. Feedback on this work is welcome &#9786;</small></p>
</div>
<h1 id="headers">Headers</h1>
<p>Herebelow is an example of the different headings.</p>
<div class="box">
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>
<h1>Heading 1</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<h2>Heading 2</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<h3>Heading 3</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<h4>Heading 4</h4>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<h5>Heading 5</h5>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<h6>Heading 6</h6>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p
</div>
</section>
<section id="spacing">
<h1>Space tweakings</h1>
<p>Herebelow is an example of font size and line height variations.</p>
<h2>default</h2>
<div class="box spacing-1">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<h2>font-size: 1.5*base size, line-height: 3</h2>
<div class="box spacing-2">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<h2>font-size: 3*base size, line-height: 3</h2>
<div class="box spacing-3">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
<h2>playing with numbers</h2>
<div class="box spacing-4">
<h3>Excerpt</h3>
<div class="excerpt-debug">
<p class="wrapper">
Excerpts allow users to display more content in less space. It is particularly useful for content rich websites such as news or magazine sites where the website owners would want to showcase more content on the front page with links to full articles. Examples of places that generally use these are RSS feeds, archived pages, and search pages. They can also be automated depending on the way they are used. Automated excerpts generally take part of the post with the specified limit of the number of words within that post. <a href="http://www.wpbeginner.com/glossary/excerpt/">Read more</a>.
<br /><br />
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
</div>
<div class="excerpt-debug-2">
<p class="wrapper">
Excerpts allow users to display more content in less space. It is particularly useful for content rich websites such as news or magazine sites where the website owners would want to showcase more content on the front page with links to full articles. Examples of places that generally use these are RSS feeds, archived pages, and search pages. They can also be automated depending on the way they are used. Automated excerpts generally take part of the post with the specified limit of the number of words within that post. <a href="http://www.wpbeginner.com/glossary/excerpt/">Read more</a>.
<br /><br />
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
</div>
<p>Excerpts allow users to display more content in less space. It is particularly useful for content rich websites such as news or magazine sites where the website owners would want to showcase more content on the front page with links to full articles. Examples of places that generally use these are RSS feeds, archived pages, and search pages. They can also be automated depending on the way they are used. Automated excerpts generally take part of the post with the specified limit of the number of words within that post.
<br />Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
</section>
<!--
<h1 id=""></h1>
<p>Herebelow is an example of </p>
<div class="box">
<h1>Heading 1</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
-->
<h1>Last section</h1>
<section class="last">
<h2>Enjoy the code and feel free to tailor your own version tweaking scss.</h2>
<div class="box">
<h3>About this section</h3>
<p>Note that in this section the trailer space is reset to its default.</p>
</div>
</section>
</main>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment