Public Access
hide [hidden] site-wide: one [hidden] { display:none !important } in style.css
A filtered-out directory card stayed visible. The card is targeted by an
id-based ready-state selector (`.js #directory[data-dir-state="ready"]
#dirGrid > .dev-card`, two ids), which outranked the old per-element patch
`.dev-card[hidden] { display:none }` — so `card.hidden = true` set the
attribute and every card stayed on screen while the count line correctly
read "Showing 1 of 4".
Fix: one rule, `[hidden] { display:none !important }`, early in /style.css.
A class- or id-based `display` can no longer beat the attribute, so this
cannot recur with the next class that sets `display`. The per-element
`[hidden]` patches are removed so a single mechanism governs:
- odoo-community-developers: cards + filter row + pager + modal
(load-bearing — each sets `display`); focus-sliders/noscript (redundant)
- index/de/es `.hero-notice[hidden]`, odoo-black-friday `.ads-consent[hidden]`
(redundant — those elements set no `display`)
Re-fingerprint local assets (style.css changed): /style.css?v 3332fbba93 ->
061517baef across 51 pages.
Measured in a real browser (local harness, stubbed webhook; no record created,
no probe write) — computed display + geometry, never the `hidden` property:
- filtered to one card: the other three report display:none and height 0;
the visible set (1) equals the count line ("Showing 1 of 4") — 1 == 1
- HEAD (pre-fix) reproduces the defect: 3 cards hidden=true yet display:flex,
height 599.38 each; 4 visible vs the count's 1
- pager: display:none height 0 with one page; display:flex height 66.83 with
12 cards (Page 1 of 2); page 2 hides page-1 cards (display:none)
- modals closed: display:none height 0; load state: cards 0, pager/empty
display:none, filter row visibility:hidden by design
- 375 px: same result, no horizontal overflow; avatar ask-row top identical
across a row (2053.97 / links 2086.91)
This commit is contained in:
1 parent
634f4fcdf1
commit
9d14652a57
52 files changed
+90
-76
No files matched your search
@@ -21,7 +21,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<link rel="stylesheet" href="/style.css?v=061517baef" />
|
||||
<style>
|
||||
/* ---- Freelancer records — admin (page-scoped). Internal page, never linked. ---- */
|
||||
.adm-bar {
|
||||
|
||||
@@ -29,13 +29,19 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<link rel="stylesheet" href="/style.css?v=061517baef" />
|
||||
<style>
|
||||
/* ---- "Odoo Community developers" directory (page-scoped; additive).
|
||||
Reuses the top bar, band rhythm, hero, FAQ and final-CTA treatment already
|
||||
shipped on odoo-staging-environment/ and odoo-community-ai/.
|
||||
Additions this page needs and no other: .dir-* (the directory, filters and forms),
|
||||
.dev-* (one freelancer card), .form-* (the three forms). ---- */
|
||||
|
||||
/* `hidden` for this page is handled by the one site-wide `[hidden]` rule in
|
||||
/style.css (a class- or id-based `display` outranks the UA's `[hidden]` rule, so
|
||||
the old per-element patches here — on the cards, the filter row, the pager and
|
||||
the modal — could not beat this page's id-based ready-state selector). No
|
||||
per-element `[hidden]` rule lives here any more, so nothing disagrees. */
|
||||
.oca-sr-only {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
@@ -229,13 +235,9 @@
|
||||
.dir-search {
|
||||
min-width: 240px;
|
||||
}
|
||||
/* `hidden` must really hide. The filter bar and each card set `display` in their own
|
||||
class rules, and a class rule beats the UA's [hidden] rule — so without this a
|
||||
filtered-out card (and a dead bar with JavaScript off) would stay on screen. */
|
||||
.dir-filters[hidden],
|
||||
.dev-card[hidden] {
|
||||
display: none;
|
||||
}
|
||||
/* (A filtered-out card used to be patched here and on `.dir-filters`; both are covered
|
||||
by the single `[hidden]` rule in /style.css, which the id-based ready selector
|
||||
cannot outrank.) */
|
||||
.dir-filter input[type="search"] {
|
||||
font-family: Inter, sans-serif;
|
||||
font-size: 0.9rem;
|
||||
@@ -334,7 +336,7 @@
|
||||
|
||||
/* Pagination — nine cards per page. Script-dependent BY DESIGN: with JavaScript
|
||||
off the element keeps its `hidden` attribute and every build-time card shows.
|
||||
`[hidden]` needs its own rule because this class sets `display`. */
|
||||
(`hidden` is honoured by the single `[hidden]` rule in /style.css.) */
|
||||
.dir-pager {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
@@ -344,9 +346,6 @@
|
||||
max-width: 1000px;
|
||||
margin: 1.75rem auto 0;
|
||||
}
|
||||
.dir-pager[hidden] {
|
||||
display: none;
|
||||
}
|
||||
.dir-pager-pages {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
@@ -652,9 +651,6 @@
|
||||
}
|
||||
|
||||
/* ---- The ask-a-question modal (ships dark; opened only when wired) ---- */
|
||||
.contact-modal[hidden] {
|
||||
display: none;
|
||||
}
|
||||
.contact-modal {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
@@ -1127,10 +1123,9 @@
|
||||
width: 4rem;
|
||||
margin-left: 0.35rem;
|
||||
}
|
||||
.focus-sliders[hidden],
|
||||
.focus-noscript[hidden] {
|
||||
display: none;
|
||||
}
|
||||
/* (`.focus-sliders[hidden]` / `.focus-noscript[hidden]` were patched here; neither
|
||||
element sets `display`, so the patch was redundant. The single `[hidden]` rule in
|
||||
/style.css covers them, so nothing is left disagreeing.) */
|
||||
.focus-counter {
|
||||
font-size: 0.78rem;
|
||||
color: var(--ink-soft);
|
||||
|
||||
Reference in new issue
Block a user