Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URLs added here will be added as <link>s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Packages

Add Packages

Search for and use JavaScript packages from npm here. By selecting a package, an import statement will be added to the top of the JavaScript editor for this package.

Behavior

Auto Save

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                <article class="text" itemprop="text">
    <p>
    Le texte persuade, les notes prouvent<label for="sn-note-1" class="sn-toggle-label"></label><input type="checkbox" id="sn-note-1" class="sn-toggle"><small class="sn-note"><span class="sn-parenthesis"> (Note : </span>Ce texte est le résumé de l’ouvrage d’Anthony Grafton, « Les origines tragiques de l'érudition — Une histoire de la note en bas de page » dont la traduction française est parue au Seuil en 1998.<span class="sn-parenthesis">)</span></small>. Telle est, pour la tradition, la double dimension de l’écriture de l’histoire. Mais qui donc a inventé la note en bas de page ? À la fois forme littéraire du savoir et déchet qui déforme le récit romanesque de l’historien, la note en bas de page raconte souvent l’autobiographie refoulée des savants.
  <p>
    En retraçant l’évolution de la note en bas de page, Anthony Grafton<label for="sn-icono-1" class="icono-toggle-label"></label><input type="checkbox" id="sn-icono-1" class="sn-toggle"><span class="icono-note"><span class="sn-parenthesis"> [ </span><img src="https://nevalalee.files.wordpress.com/2012/04/grafton.jpg?w=700&h=" alt="Portrait d’Anthony Grafton">Anthony Grafton<span class="sn-parenthesis"> ] </span></span> veut comprendre le destin de l’érudition moderne en proposant une histoire générale des savoirs écrits. Il veut découvrir où, quand et pourquoi les historiens ont adopté la forme spécifique d’architecture narrative qui est la leur aujourd’hui.
  </p>
  <p>
    Arme des pédants, plaie des étudiants, bête noire des « nouveaux » historiens émancipés, la note en bas de page apparaît dans ce livre comme une ressource propre, riche d’une histoire surprenante. Avec humour, Anthony Grafton montre combien les bas de page racontent les laboratoires occultes du savoir. Il propose ainsi une encyclopédie de l’incongru autant qu'une satire de la bêtise moderne. Ensuite, plus gravement, l’auteur s’interroge sur les moyens de faire la preuve de la vérité en histoire, et donc sur la fausseté possible des affirmations de l’historien : on assiste alors, par notes interposées, à la guerre des sources et à la revanche des archives.
  </p>
  <p>
    Parmi les héros de cette histoire : Athanasius Kircher, Pierre Bayle, Edward Gibbon, les philosophes Hume, Kant, Hegel, et Leopold von Ranke, le brillant historien allemand, souvent crédité, à tort, d’être l’inventeur de la note érudite moderne.
  </p>
  <p>
    Truffé d’intrigues, d’indices et de révélations inattendues, ce livre introduit à l’analyse intellectuelle des « bas de page », une histoire qui fut souvent reléguée dans les arrière-cours et les arrière-pensées de l’histoire littéraire de l’esprit humain.
  </p>
</article>
              
            
!

CSS

              
                /* parenthèses masquées de manière accessible */
.sn-parenthesis{
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

*, *::before, *::after{
  box-sizing:border-box;
}
:root {
  --p-width: 650px; /* largeur max des paragraphes */
  --sn-width: 250px; /* largeur des notes */
  --sn-margin: 50px; /* marge entre notes et paragraphes*/
  counter-reset: sn-counter; /* compteur CSS pour les numéros des notes */
  counter-reset: icono-counter; /* compteur CSS pour l’iconographie */
}

article {
  /* largeur max déterminée en additionnant largeur des paragraphes, marge et largeur des notes*/
  max-width: calc(var(--p-width) + var(--sn-width) * 2 + var(--sn-margin) * 2);
  /* préservation de l’espace espace dédié aux notes */
  padding-right: calc(var(--sn-width) + var(--sn-margin));
  /* préservation de l’espace espace dédié aux notes */
  padding-left: calc(var(--sn-width) + var(--sn-margin));  
}

/* chaque label rencontré incrémente la valeur du compteur */
.sn-toggle-label { counter-increment: sn-counter; }
/* chaque label rencontré incrémente la valeur du compteur */
.icono-toggle-label { counter-increment: icono-counter; }
/* La valeur du compteur est injectée à l’intérieur du <label> */
.sn-toggle-label::after {
  content: counter(sn-counter, decimal);
}
/* La valeur du compteur est injectée à l’intérieur du <label> */
.icono-toggle-label::after {
  content: " [ " counter(icono-counter,lower-alpha) " ]";
  letter-spacing: -.075em
}
.sn-note::before {
  content: counter(sn-counter, decimal);
}
.icono-note::before {
  display: block;
  content: "[ " counter(icono-counter,lower-alpha) " ]";
}
.sn-note::before,
.icono-note::before {
  position: absolute;
  margin-left: calc(var(--sn-margin) * -1);
  width: var(--sn-margin);
  text-align: right;
  padding-right: .75em;
  letter-spacing: -.075em
}

/* on cache la case à cocher */
.sn-toggle { display: none; }
/* quand la case est cochée, l’élément suivant (+) est affiché */
.sn-toggle:checked + .icono-note,
.sn-toggle:checked + .sn-note { display: block; }

/* styles pour mettre la note en marge */
.icono-note {
   /* largeur de la note */
  width: var(--sn-width);
  /* espace de marge interne */
  padding-right: var(--sn-margin);
  /* la note “sort du flux” et vient se positionner à gauche */
  float: left;
  clear: left;    
  /* marge négative qui décale la note de sa propre largeur */  
  margin-left: calc(var(--sn-width) * -1);
}
.sn-note {
  /* largeur de la note */
  width: var(--sn-width);
  /* espace de marge interne */
  padding-left: var(--sn-margin);
  /* la note “sort du flux” et vient se positionner à droite */
  float: right;
  clear: right;    
  /* marge négative qui décale la note de sa propre largeur */  
  margin-right: calc(var(--sn-width) * -1);
}

@media (max-width:1250px){
  /* correction de la largeur max de l’article */
  article { 
    padding-right:0; 
    max-width: calc(var(--p-width) + var(--sn-width)  + var(--sn-margin));
  }
  /* on cache la note */
  .sn-note { display: none; }
  /* quand la case est cochée, l’élément suivant (+) est affiché */
  .sn-toggle:checked + .sn-note  { 
    display: block; 
    width: 100%;
    float: left;
    clear: both;
    margin:1em 0;
    top:0;
  }
  .sn-toggle-label{
    color: red;
    cursor: pointer;
    font-weight: bold;
  }
}

@media (max-width:950px){
  /* correction de la largeur max de l’article */
  article { 
    padding-left:0; 
    max-width: var(--p-width);
  }
  /* on cache la note */
  .icono-note  { display: none; }
  /* quand la case est cochée, l’élément suivant (+) est affiché */
  .sn-toggle:checked + .icono-note { 
    display: block; 
    width: 100%;
    float: left;
    clear: both;
    margin:1em 0;
    top:0;
  }
  .icono-toggle-label {
    color: red;
    cursor: pointer;
    font-weight: bold;
  }
  .icono-note img {
    display: block;
    width: auto;
  }
}




/* ------------ styles typographiques */

.sn-toggle-label::after {
  padding: 0 0 0 0.1em;
  font-size: 0.85em;
  position: relative;
  top: -0.25em;
}


.icono-note,
.sn-note {
  font-size: 0.85em;
  margin-bottom: 1rem;
  position: relative;
  top: 0.25em;
}

.icono-note img {
  display: block;
  width: 100%;
  margin-bottom: .5em;
}

              
            
!

JS

              
                
              
            
!
999px

Console