summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--actualités.html1
-rw-r--r--programmes.css56
-rw-r--r--programmes.html251
3 files changed, 307 insertions, 1 deletions
diff --git a/actualités.html b/actualités.html
index 0d14cfa..57cbaf1 100644
--- a/actualités.html
+++ b/actualités.html
@@ -233,7 +233,6 @@
</div>
</div>
- <!-- TODO: prevent scroll when clicking on overflowing details -->
<script>
// When JS is enabled, hide concert details by default, and
// allow the user to display concerts selectively.
diff --git a/programmes.css b/programmes.css
new file mode 100644
index 0000000..f7ce43e
--- /dev/null
+++ b/programmes.css
@@ -0,0 +1,56 @@
+main {
+ display: grid;
+ overflow: auto;
+ grid-template-columns: 50% 50%;
+}
+
+main > div {
+ padding: 2%;
+ overflow: auto;
+}
+
+#program-list, #program-details {
+ background-color: #dbb;
+}
+
+.programs {
+ display: grid;
+ grid-auto-rows: 14em;
+ grid-template-columns: repeat(auto-fit, 40%);
+ grid-gap: 0.8em;
+}
+
+.program {
+ position: relative;
+ background-color: #fb8;
+}
+
+.program a {
+ position: absolute;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+ width: 100%;
+ text-decoration: none;
+ color: inherit;
+ transition: color 0.5s;
+}
+
+.program:hover a {
+ color: white;
+}
+
+.program .summary {
+ font-weight: bold;
+ text-align: center;
+ transition: 0.5s;
+}
+
+.program:hover .summary {
+ opacity: 1;
+}
+
+details summary .duration {
+ font-family: monospace;
+}
diff --git a/programmes.html b/programmes.html
new file mode 100644
index 0000000..d762219
--- /dev/null
+++ b/programmes.html
@@ -0,0 +1,251 @@
+<!DOCTYPE html>
+<html lang="fr">
+ <head>
+ <meta charset="utf-8">
+ <title>Programmes - Quatuor Camelot</title>
+ <link rel="stylesheet" href="commun.css">
+ <link rel="stylesheet" href="programmes.css">
+ </head>
+ <body>
+ <header class="banner">
+
+ <div class="brand">
+ <a href="index.html">
+ <img src="https://upload.wikimedia.org/wikipedia/en/a/a4/Golden_Sun_icon.png"
+ alt="logo">
+ <h1 class="qname">Quatuor Camelot</h1>
+ </a>
+ </div>
+
+ <nav>
+ <ol>
+ <li><a href="quatuor.html">Le quatuor</a></li>
+ <li><a href="actualités.html">Actualités</a></li>
+ <li class="current"><a href="programmes.html">Programmes</a></li>
+ <li><a href="médias.html">Médias</a></li>
+ </ol>
+ </nav>
+
+ <div class="lang">
+ EN
+ </div>
+
+ </header>
+
+ <main>
+ <div id="program-list">
+ <h1>Nos programmes</h1>
+ <div class="programs">
+ <div class="program">
+ <a href="#program-a">
+ <p class="summary">Programme A</p>
+ </a>
+ </div>
+ <div class="program">
+ <a href="#program-b">
+ <p class="summary">Programme B</p>
+ </a>
+ </div>
+ <div class="program">
+ <a href="#program-c">
+ <p class="summary">Programme C</p>
+ </a>
+ </div>
+ <div class="program">
+ <a href="#program-d">
+ <p class="summary">Programme D</p>
+ </a>
+ </div>
+ </div>
+ </div>
+
+ <div id="program-details">
+ <div class="details" id="program-a">
+ <h1>Programme A</h1>
+ <p>
+ Un programme qui est sacrément bien nommé, parce que son
+ contenu correspond tout à fait à ce qui vient en tête
+ quand on lit son nom. Composé des œuvres suivantes :
+ </p>
+ <ol>
+ <li>
+ <details>
+ <summary>
+ La première
+ <span class="duration">6min 11s 101ms</span>
+ </summary>
+ Composée par quelqu'un à une époque.
+ </details>
+ </li>
+ <li>
+ <details>
+ <summary>
+ La seconde
+ <span class="duration">6min 22s 202ms</span>
+ </summary>
+ Composée par quelqu'un d'autre à une autre époque.
+ </details>
+ </li>
+ <li>
+ <details>
+ <summary>
+ La troisième
+ <span class="duration">6min 33s 303ms</span>
+ </summary>
+ Composée par quelqu'un d'autre à une autre époque.
+ </details>
+ </li>
+ </ol>
+ </div>
+ <div class="details" id="program-b">
+ <h1>Programme B</h1>
+ <p>
+ Un programme qui comme son nom l'indique, rend hommage
+ à ce à quoi il fait référence. Composé des œuvres
+ suivantes :
+ </p>
+ <ol>
+ <li>
+ <details>
+ <summary>
+ La première
+ <span class="duration">7min 11s 101ms</span>
+ </summary>
+ Composée par quelqu'un à une époque.
+ </details>
+ </li>
+ <li>
+ <details>
+ <summary>
+ La seconde
+ <span class="duration">7min 22s 202ms</span>
+ </summary>
+ Composée par quelqu'un d'autre à une autre époque.
+ </details>
+ </li>
+ <li>
+ <details>
+ <summary>
+ La troisième
+ <span class="duration">7min 33s 303ms</span>
+ </summary>
+ Composée par quelqu'un d'autre à une autre époque.
+ </details>
+ </li>
+ </ol>
+ </div>
+ <div class="details" id="program-c">
+ <h1>Programme C</h1>
+ <p>
+ Les morceaux de ce programme font référence à ceux à quoi
+ on peut s'attendre en lisant son nom. En voici la liste :
+ </p>
+ <ol>
+ <li>
+ <details>
+ <summary>
+ Le premier
+ <span class="duration">8min 11s 101ms</span>
+ </summary>
+ Composé par quelqu'un à une époque.
+ </details>
+ </li>
+ <li>
+ <details>
+ <summary>
+ Le second
+ <span class="duration">8min 22s 202ms</span>
+ </summary>
+ Composé par quelqu'un d'autre à une autre époque.
+ </details>
+ </li>
+ <li>
+ <details>
+ <summary>
+ Le troisième
+ <span class="duration">8min 33s 303ms</span>
+ </summary>
+ Composée par quelqu'un d'autre à une autre époque.
+ </details>
+ </li>
+ </ol>
+ </div>
+ <div class="details" id="program-d">
+ <h1>Programme D</h1>
+ <p>
+ Un programme dont les morceaux ont été choisis pour des
+ raisons en lien avec sa dénomination. Composé des œuvres
+ suivantes :
+ </p>
+ <ol>
+ <li>
+ <details>
+ <summary>
+ La première
+ <span class="duration">9min 11s 101ms</span>
+ </summary>
+ Composée par quelqu'un à une époque.
+ </details>
+ </li>
+ <li>
+ <details>
+ <summary>
+ La première
+ <span class="duration">9min 22s 202ms</span>
+ </summary>
+ Composée par quelqu'un d'autre à une autre époque.
+ </details>
+ </li>
+ <li>
+ <details>
+ <summary>
+ La troisième
+ <span class="duration">9min 33s 303ms</span>
+ </summary>
+ Composée par quelqu'un d'autre à une autre époque.
+ </details>
+ </li>
+ </ol>
+ </div>
+ </div>
+
+ <script>
+ // When JS is enabled, hide concert details by default, and
+ // allow the user to display concerts selectively.
+ var detailsStyle = document.createElement('style');
+ document.head.appendChild(detailsStyle);
+ detailsStyle.sheet.insertRule('.details:not(.active) {display:none}');
+
+ var anchor = document.location.hash;
+ if (anchor.match(/#program-/))
+ document.querySelector(anchor).classList.add('active');
+
+ document.querySelectorAll('.program a').forEach((link) => {
+ link.addEventListener('click', function(click) {
+ if (click.ctrlKey || click.shiftKey)
+ return;
+
+ var prev = document.querySelector('.details.active');
+ if (prev)
+ prev.classList.remove('active');
+ var id = link.attributes['href'].value;
+ document.querySelector(id).classList.add('active');
+ });
+ });
+ </script>
+
+ </main>
+
+ <footer class="social">
+ <img src="https://upload.wikimedia.org/wikipedia/en/9/9f/Twitter_bird_logo_2012.svg">
+ <img src="https://upload.wikimedia.org/wikipedia/commons/c/c2/F_icon.svg">
+ <p class="contact">
+ <a href="contact.html">Contact</a>
+ </p>
+ </footer>
+
+ <footer class="legal">
+ <p>Mentions légales - Plan du site</p>
+ </footer>
+ </body>
+</html>