Met onderstaande markup maak je een codevoorbeeld.
<link rel="stylesheet"
href="https://files.instruct.nl/fundament/Interactive/Code/code_preview.css">
<div class="ct_code_preview ct_code_preview_stacked">
<pre><code class="highlight TAAL">BRONCODE</code></pre>
<details class="ct_code_output">
<summary>Output</summary>
<pre><samp>UITVOER</samp></pre>
</details>
</div>
prijs = 10
while prijs < 100:
prijs += 25
print("Prijs wordt met 25 verhoogd: " + str(prijs))
Prijs wordt met 25 verhoogd: 35 Prijs wordt met 25 verhoogd: 60 Prijs wordt met 25 verhoogd: 85 Prijs wordt met 25 verhoogd: 110
De output kan ook standaard zichtbaar zijn. Voeg daarvoor het open-attribuut toe aan het <details>-element.
<div class="ct_code_preview ct_code_preview_stacked">
<pre><code class="highlight TAAL">BRONCODE</code></pre>
<details class="ct_code_output" open>
<summary>Output</summary>
<pre><samp>UITVOER</samp></pre>
</details>
</div>
prijs = 10
while prijs < 100:
prijs += 25
print("Prijs wordt met 25 verhoogd: " + str(prijs))
Prijs wordt met 25 verhoogd: 35 Prijs wordt met 25 verhoogd: 60 Prijs wordt met 25 verhoogd: 85 Prijs wordt met 25 verhoogd: 110
Als de code niet te breed is, kun je de code en output ook naast elkaar weergeven. Dat doe je door de class
ct_code_preview_stacked niet te gebruiken:
<div class="ct_code_preview">
<pre><code class="highlight TAAL">BRONCODE</code></pre>
<details class="ct_code_output" open>
<summary>Output</summary>
<pre><samp>UITVOER</samp></pre>
</details>
</div>
prijs = 10
print(prijs)
10
De code en output zijn altijd even hoog:
1 regel code
3 regels output
3
regels
input
1 regel output
details-element te gebruiken, maar 'gewoon' een div.
Met ct_code_preview_stacked zorg je ervoor dat code en output onder elkaar komen:
hele
lange
code
met
veel
regels
1 regel output
De code en output zijn 'precies hoog genoeg':
1 regel code
hele lange output met veel regels
Alleen output is ook mogelijk:
hele lange output met veel regels
<img src="afbeelding.jpg" alt="Mooi plaatje">
<img src="afbeelding.jpg" alt="Mooi plaatje">
<img src="afbeelding.jpg" alt="Mooi plaatje">
In plaats van een pre, kun je ook een iframe gebruiken als output:
<div class="ct_code_preview">
<pre><code class="highlight html">CODE</code></pre>
<div class="ct_code_output">
<iframe src="URL"></iframe>
</div>
</div>
body {
background-color: #eee;
}
h1 {
color: #00f;
}
HTML zul je waarschijnlijk onder elkaar zetten.
Let op: om de grootte van het iframe in te stellen, moet je style="--height: 500px"
meegeven aan .ct_code_output, en niet aan het iframe zelf. Anders gaat de lay-out
kapotstuk!
--height is geen typfout, maar een CSS
variabele. Je moet niet een
height opgeven.
<div class="ct_code_preview ct_code_preview_stacked">
<pre><code class="highlight html">CODE</code></pre>
<details class="ct_code_output" open style="--height: 500px">
<summary>Output</summary>
<iframe src="URL"></iframe>
</details>
</div>
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="UTF-8">
<title>Codevoorbeeld</title>
<style>
body {
background-color: #eee;
}
h1 {
color: #00f;
}
</style>
</head>
<body>
<h1>Codevoorbeeld</h1>
<p>Voorbeeld</p>
<p>Lorem ipsum ...</p>
</body>
</html>
Je kunt al je voorbeeldbestanden als .html-bestand uploaden, en naar die bestanden verwijzen in het
iframe-element. Voor kleinere bestanden kun je ook data:-URL's gebruiken.
Lang verhaal kort: plak hieronder de HTML-code, en daaronder verschijnt de URL die je in src kunt
plakken.