Changeset 22d2dba5 in Klonkt for src/assets/css/style.css
- Timestamp:
- 08/20/2026 07:25:24 AM (3 weeks ago)
- Branches:
- main
- Children:
- 77019fa
- Parents:
- c581e5e
- git-author:
- Robin <roboburr@…> (08/20/2026 03:33:49 AM)
- git-committer:
- Claude (agent) <aiclaude@…> (08/20/2026 07:25:24 AM)
- File:
-
- 1 edited
-
src/assets/css/style.css (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/assets/css/style.css
rc581e5e r22d2dba5 2561 2561 witruimte en is een doorlopende stroom vaak prettiger. */ 2562 2562 @media (hover: none) and (pointer: coarse) { 2563 /* Op mobiel draait Lezen in paginamodus (body.is-paged), en die zet hieronder 2564 een vaste hoogte. Deze regel is de terugval voor het moment vóór de module 2565 geladen is, zodat de berichten niet eerst als losse stroom in beeld 2566 springen. */ 2563 2567 .feed-reader .read-post { min-height: 100svh; } 2564 } 2568 /* Geen native snap op mobiel: dat doet lenis/snap, met een instelbare vangzone 2569 en duur. Twee snapsystemen op dezelfde scroller vechten. */ 2570 html:has(body.on-home[data-feed-view="reader"]) { scroll-snap-type: none; } 2571 } 2572 2573 /* -------- PAGINAMODUS -------- 2574 Elk bericht is een paneel van precies een scherm dat ZELF scrollt; tussen 2575 berichten ga je met knoppen. Daarmee doet het scrollgevoel er niet meer toe: 2576 geen momentum om na te bouwen en geen snap die vangt. 2577 De stroom zelf vangt geen vingers meer -- dat regelt lenis.stop() in 2578 mod/read.js -- en data-lenis-prevent op het paneel houdt de scroll BINNEN een 2579 bericht ongemoeid (die controle staat in Lenis vóór de gestopt-controle). 2580 Geldt waar een bericht een eigen scherm heeft: op mobiel altijd, op desktop 2581 als de site dat zo instelt. */ 2582 body.is-paged .feed-reader .read-post { 2583 height: 100svh; 2584 min-height: 0; 2585 overflow-y: auto; 2586 overscroll-behavior: contain; /* raakt het einde, dan niet doorschuiven */ 2587 scroll-snap-align: none; 2588 /* Ruimte voor de twee balken, zodat er nooit tekst onder een knop verdwijnt. 2589 Het verloop laat een regel wel zacht wegvagen, maar wat je moet KUNNEN 2590 lezen hoort er niet achter te komen -- vandaar padding en niet alleen die 2591 fade. --read-balk staat hieronder bij .read-nav, zodat de twee niet uit 2592 elkaar kunnen lopen. */ 2593 padding-top: calc(var(--read-balk) + .5rem); 2594 padding-bottom: calc(var(--read-balk) + .5rem); 2595 /* BOVENAAN beginnen, niet gecentreerd. Ik had de inhoud een ronde lang 2596 verticaal gecentreerd om het gat onder een kort bericht te verdelen, maar 2597 dan hangt zo'n bericht halverwege het scherm en begint niet elk paneel op 2598 dezelfde plek -- dat leest onrustig. Robin ving het (20-8). Elk bericht 2599 begint nu bovenaan, en de ruimte die overblijft valt onderaan. */ 2600 } 2601 body.is-paged .feed-reader .read-anker { scroll-snap-align: none; } 2602 2603 /* DE DYNAMIC ISLAND, en met opzet alleen op iOS (Robin, 20-8: "op android is het 2604 een ander verhaal"). 2605 In paginamodus vult een bericht precies het scherm, dus de eerste regel komt 2606 bovenaan -- en op een iPhone ligt daar de island of de notch overheen. 2607 env(safe-area-inset-top) geeft daar de vrije ruimte; viewport-fit=cover staat 2608 al in de viewport-meta, dus die waarde is echt. 2609 De @supports-regel is de iOS-Safari-toets: -webkit-touch-callout bestaat alleen 2610 daar. Op Android is env() vaak 0 of betekent het iets anders (camera-uitsparing, 2611 statusbalk die al meegerekend is), en dan zou dit een gat bovenin maken dat er 2612 niet hoort. Vandaar afgeschermd in plaats van env() overal toepassen. 2613 De hoogte krimpt mee, anders duwt de padding het paneel groter dan het scherm 2614 en krijg je alsnog scroll tussen de berichten. */ 2615 @supports (-webkit-touch-callout: none) { 2616 body.is-paged .feed-reader .read-post { 2617 padding-top: calc(var(--read-balk) + .5rem + env(safe-area-inset-top, 0px)); 2618 height: calc(100svh - env(safe-area-inset-top, 0px)); 2619 } 2620 /* De bovenbalk houdt zijn knop al vrij van de island via padding-top 2621 hierboven; hier hoeft niets extra's meer. */ 2622 } 2623 2624 /* De knop onderaan een bericht: naar het volgende. */ 2625 2626 2627 /* Omhoog en omlaag: twee balken, boven en onder, die BLIJVEN staan terwijl je in 2628 een bericht scrolt (Robin, 20-8). Het verloop van paginakleur naar doorzichtig 2629 laat de tekst eronderdoor wegvagen -- zonder dat zou een regel halverwege hard 2630 achter de knop verdwijnen en oogt het als een afgeknipte pagina. 2631 De BALK vangt geen aanrakingen (pointer-events: none), alleen de knop zelf -- 2632 anders zou een strook van 5rem boven- en onderaan je scroll opeten. */ 2633 /* TWEE BALKEN over de volle breedte, boven en onder. Eerder waren dit losse 2634 cirkels (te rommelig naast de tabbalk en de speler) en daarna onzichtbare 2635 tikzones -- maar die werkten niet, omdat de onderste strook onder de 2636 mini-speler en de tabbalk ligt en die de tik opvangen. Een balk met een eigen 2637 z-index kan daar wel overheen. 2638 Slank gehouden: ze eten hooguit 2.6rem aan elke kant, en het paneel houdt daar 2639 al ruimte voor vrij. */ 2640 :root { --read-balk: 2.6rem; } 2641 .read-bar { 2642 position: fixed; left: 0; right: 0; z-index: 1060; /* boven tabbalk (1050) */ 2643 display: flex; align-items: center; 2644 /* Pijlen LINKS in de balk, niet gecentreerd (Robin, 20-8). */ 2645 justify-content: flex-start; 2646 padding-left: max(1.1rem, env(safe-area-inset-left, 0px)); 2647 box-sizing: border-box; 2648 height: var(--read-balk); 2649 border: 0; 2650 border-top: 1px solid transparent; 2651 background: color-mix(in srgb, var(--paper) 90%, var(--ink)); 2652 backdrop-filter: blur(14px) saturate(140%); 2653 -webkit-backdrop-filter: blur(14px) saturate(140%); 2654 color: var(--ink); 2655 cursor: pointer; 2656 transition: opacity .15s ease; 2657 } 2658 .read-bar--top { 2659 top: 0; 2660 height: calc(var(--read-balk) + env(safe-area-inset-top, 0px)); 2661 padding-top: env(safe-area-inset-top, 0px); 2662 border-bottom: 1px solid color-mix(in srgb, var(--ink) 14%, transparent); 2663 } 2664 .read-bar--bottom { 2665 /* De waarde komt uit mod/read.js: die meet hoe hoog de tabbalk en de 2666 mini-speler werkelijk staan. Geraden rem-waarden lieten hem zweven -- een 2667 kier boven de speler, of er half achter. Dit is de terugval voor de eerste 2668 frame en voor als de module niet laadt. */ 2669 bottom: 0; 2670 border-top: 1px solid color-mix(in srgb, var(--ink) 14%, transparent); 2671 } 2672 .read-bar:active { background: color-mix(in srgb, var(--paper) 78%, var(--ink)); } 2673 .read-bar[hidden], body:not(.is-paged) .read-bar { display: none; } 2565 2674 2566 2675 /* Een lijn tussen twee berichten: zonder grens is een stroom een lange brij. */
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)