Skip to content

Instantly share code, notes, and snippets.

@htmlzengarden
Last active August 29, 2015 14:06
Show Gist options
  • Save htmlzengarden/0a48b21a42deb57d5841 to your computer and use it in GitHub Desktop.
Save htmlzengarden/0a48b21a42deb57d5841 to your computer and use it in GitHub Desktop.
Generated by SassMeister.com.
<div lang="la">
<p class="small"><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</span></p>
<h1 class="title-1"><span>Lorem ipsum dolor sit amet</span></h1>
<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</span></p>
<h2 class="title-2"><span>Lorem ipsum dolor sit amet</span></h2>
<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</span></p>
<h3 class="title-3"><span>Lorem ipsum dolor sit amet</span></h3>
<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</span></p>
<h4 class="title-4"><span>Lorem ipsum dolor sit amet</span></h4>
<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</span></p>
<h5 class="title-5"><span>Lorem ipsum dolor sit amet</span></h5>
<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</span></p>
<h6 class="title-6"><span>Lorem ipsum dolor sit amet</span></h6>
<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</span></p>
</div>
// ----
// Sass (v3.4.4)
// Compass (v1.0.1)
// SassyLists (v2.2.1)
// ----
// ratios pré-définis qu’il sera possible d’appliquer aux échelles typographiques
$phi: 1/1.618!default;
$golden: 1/1.618!default;
$double-octave: 1/4!default;
$major-twelfth: 1/3!default;
$major-eleventh: 3/8!default;
$major-tenth: 2/5!default;
$octave: 1/2!default;
$major-seventh: 8/15!default;
$minor-seventh: 9/16!default;
$major-sixth: 3/5!default;
$minor-sixth: 5/8!default;
$fifth: 2/3!default;
$augmented-fourth: 1/1.4142135!default; // 1/√2
$fourth: 3/4!default;
$major-third: 4/5!default;
$minor-third: 5/6!default;
$major-second: 8/9!default;
$minor-second: 15/16!default;
// paramètres d’entrée
// $ratio appliqué pour le calcul des échelles typographiques
// $scale1 est la taille de texte « importante » de l’échelle 1 (utilisée comme niveau 0)
// $scale2 est la taille de texte « importante » de l’échelle 2
$ratio: $golden!default;
$scale1: 20px!default;
$scale2: 25px!default;
// $amplitude et $i sont des variables internes
$amplitude: 10!default;
$i: 0;
// on calcule les deux échelles à partir des tailles « importantes » en appliquant le ratio choisi
@while $i < $amplitude
{
$next1: nth($scale1, length($scale1)) / $ratio;
$next2: nth($scale2, length($scale2)) / $ratio;
$prev1: nth($scale1, 1) * $ratio;
$prev2: nth($scale2, 1) * $ratio;
$scale1: join($scale1, $next1);
$scale2: join($scale2, $next2);
$scale1: join($prev1, $scale1);
$scale2: join($prev2, $scale2);
$i: $i + 1;
}
// fusion + tri + arrondis sur les échelles (avec une dépendance pour jouer sur les array)
@import 'SassyLists';
$scale: sl-sort(join($scale1, $scale2));
$roundscale: ();
@each $step in $scale
{
$roundscale: join($roundscale, round($step));
}
// function qui permet d’obtenir la valeur d’un des « barreaux » de l’échelle
@function scale($level: 0)
{
$start: nth($scale1, $amplitude + 1);
@return nth($scale, index($scale, $start) + $level);
}
////////////////////////////////////////////////////////////////////////////////
// exemple d’utilisation (avec un rythme vertical en bonus)
$bfs: 16px!default; // base-font-size
$fs: scale()!default; // font-size (le barreau 0 (par défaut) sur l’échelle typo)
$lh: round($fs * 3 / 2)!default; // line-height (par défaut 1.5 fois plus grand que le font-size)
// une fonction de conversion de pixels en ems, en fonction du contexte
@function em($px, $contexte: $bfs)
{
@return($px / $contexte * 1em);
}
// une fonction pour ajuster le line-height automatique en fonction de la taille de texte
@function lines($font-size, $line-height: $lh)
{
@return ceil(2 * $font-size / $line-height) / 2;
}
// un mixin pour formater tout les blocs de textes avec leurs marges
@mixin bloc($size)
{
// la valeur $size est convertie en ems, en fonction du contexte sur le body
// le line-height est revu en fonction de cette nouvelle taille de texte
// les marges du paragraphes sont aussi revues avec :
// une marge basse égale au line-height
// une marge haute égale au double de la marge basse
font-size: em($size, $fs);
line-height: em($lh * lines($size), $size);
margin-top: em($lh, $size) * 2;
margin-bottom: em($lh, $size);
}
// on charge normalize
@import 'http://necolas.github.io/normalize.css/3.0.1/normalize.css';
body
{
// on applique le font-size et le line-height
font-size: em($fs);
line-height: em($lh * lines($fs), $fs);
margin: em($lh, $fs);
// pour afficher une grille horizontale en fond de page
background-image: linear-gradient(transparent calc(100% - 1px), #F00 100%);
background-position: 0 0;
background-size: em($lh, $fs) / 2 em($lh, $fs) / 2;
}
p
{
// on revoit les marges par défaut des paragraphes en fonction du line-height
margin: em($lh, $fs) 0;
}
p, h1, h2, h3, h4, h5, h6
{
// mise en évidence des blocs et des hauteurs de lignes
background-color: transparentize(#000, 0.95);
& > *
{
background-color: transparentize(#F00, 0.95);
}
}
.small
{
// on va chercher le barreau -1 sur l’échelle typographique et on applique le mixin bloc
@include bloc(scale(-1));
}
.title-6
{
// on va chercher le barreau 1 sur l’échelle typographique et on applique le mixin bloc
@include bloc(scale(1));
}
.title-5
{
// on va chercher le barreau 2 sur l’échelle typographique et on applique le mixin bloc
@include bloc(scale(2));
}
.title-4
{
// on va chercher le barreau 3 sur l’échelle typographique et on applique le mixin bloc
@include bloc(scale(3));
}
.title-3
{
// on va chercher le barreau 4 sur l’échelle typographique et on applique le mixin bloc
@include bloc(scale(4));
}
.title-2
{
// on va chercher le barreau 5 sur l’échelle typographique et on applique le mixin bloc
@include bloc(scale(5));
}
.title-1
{
// on va chercher le barreau 6 sur l’échelle typographique et on applique le mixin bloc
@include bloc(scale(6));
}
@import "http://necolas.github.io/normalize.css/3.0.1/normalize.css";
body { font-size: 1.25em; line-height: 1.5em; margin: 1.5em; background-image: linear-gradient(transparent calc(100% - 1px), #F00 100%); background-position: 0 0; background-size: 0.75em 0.75em; }
p { margin: 1.5em 0; }
p, h1, h2, h3, h4, h5, h6 { background-color: rgba(0, 0, 0, 0.05); }
p > *, h1 > *, h2 > *, h3 > *, h4 > *, h5 > *, h6 > * { background-color: rgba(255, 0, 0, 0.05); }
.small { font-size: 0.77256em; line-height: 1.9416em; margin-top: 3.8832em; margin-bottom: 1.9416em; }
.title-6 { font-size: 1.25em; line-height: 1.2em; margin-top: 2.4em; margin-bottom: 1.2em; }
.title-5 { font-size: 1.618em; line-height: 1.39061em; margin-top: 1.85414em; margin-bottom: 0.92707em; }
.title-4 { font-size: 2.0225em; line-height: 1.11248em; margin-top: 1.48331em; margin-bottom: 0.74166em; }
.title-3 { font-size: 2.61792em; line-height: 1.14595em; margin-top: 1.14595em; margin-bottom: 0.57297em; }
.title-2 { font-size: 3.27241em; line-height: 1.14595em; margin-top: 0.91676em; margin-bottom: 0.45838em; }
.title-1 { font-size: 4.2358em; line-height: 1.06237em; margin-top: 0.70825em; margin-bottom: 0.35412em; }
<div lang="la">
<p class="small"><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</span></p>
<h1 class="title-1"><span>Lorem ipsum dolor sit amet</span></h1>
<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</span></p>
<h2 class="title-2"><span>Lorem ipsum dolor sit amet</span></h2>
<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</span></p>
<h3 class="title-3"><span>Lorem ipsum dolor sit amet</span></h3>
<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</span></p>
<h4 class="title-4"><span>Lorem ipsum dolor sit amet</span></h4>
<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</span></p>
<h5 class="title-5"><span>Lorem ipsum dolor sit amet</span></h5>
<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</span></p>
<h6 class="title-6"><span>Lorem ipsum dolor sit amet</span></h6>
<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.</span></p>
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment