aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortdro <tdro@noreply.example.com>2024-02-24 18:33:47 -0500
committertdro <tdro@noreply.example.com>2024-02-24 18:33:47 -0500
commit71ec9f2c5f0e99a8622f81e09bfd4111238b99f2 (patch)
tree24597de4d7c8702bc10f3a2c82ddc00b1efec7d7
parent070ca2eb3c21fe098da1f0d059bc3e6f0b64b16c (diff)
downloadcanory-71ec9f2c5f0e99a8622f81e09bfd4111238b99f2.tar.gz
canory-71ec9f2c5f0e99a8622f81e09bfd4111238b99f2.tar.bz2
canory-71ec9f2c5f0e99a8622f81e09bfd4111238b99f2.zip
static/js/pager: Fix and simplify :target offset
-rw-r--r--assets/css/default.css45
-rw-r--r--assets/js/index.js6
-rw-r--r--static/js/pager.ts6
3 files changed, 24 insertions, 33 deletions
diff --git a/assets/css/default.css b/assets/css/default.css
index 89ad378..8f598b9 100644
--- a/assets/css/default.css
+++ b/assets/css/default.css
@@ -136,21 +136,9 @@
vertical-align: inherit;
}
-:not(sup):not([role="doc-endnotes"] li):target::before {
- content: "";
- display: block;
- height: 6rem;
- margin-top: -6rem;
- visibility: hidden;
-}
-
-:not(#main):target micro-card,
-:not(#main):target micro-card:hover {
- background-color: transparent;
- border-radius: 0.5rem;
- outline-offset: -6px;
- outline: 2px dashed #ccc;
- outline: 2px dashed var(--border-darker);
+html,
+:target:not(nav span) {
+ scroll-margin-top: 6rem;
}
sup:target [role="doc-noteref"][href^="#fn\:"],
@@ -319,7 +307,6 @@ mark:target a {
mark[id] {
background: none;
color: inherit;
- scroll-margin-top: 6rem;
}
mark,
@@ -1050,8 +1037,11 @@ micro-card > a {
display: none;
}
-micro-author micro-card {
- flex-direction: row;
+micro-card:target {
+ border-radius: 0.5rem;
+ outline-offset: -6px;
+ outline: 2px dashed #ccc;
+ outline: 2px dashed var(--border-darker);
}
micro-card:hover {
@@ -1065,6 +1055,7 @@ micro-card:focus-within {
}
micro-author micro-card {
+ flex-direction: row;
justify-content: start;
align-items: center;
border: none;
@@ -1074,6 +1065,13 @@ micro-author micro-card > * {
margin: 0 0.5rem;
}
+micro-author micro-card p:not(:last-child) {
+ flex: 1.75;
+ color: #444;
+ color: var(--fade);
+ max-width: 20rem;
+}
+
micro-author micro-header {
flex: 1;
min-width: 3rem;
@@ -1087,13 +1085,6 @@ micro-author micro-header h3 {
font-weight: 400;
}
-micro-author micro-card p:not(:last-child) {
- flex: 1.75;
- color: #444;
- color: var(--fade);
- max-width: 20rem;
-}
-
micro-author micro-thumbnail figure {
margin: 0;
}
@@ -2291,10 +2282,6 @@ math-ml:not(:last-child) {
margin-bottom: 0.75rem;
}
-math-ml figure[id] {
- scroll-margin-top: 6rem;
-}
-
math-ml figure[id] figure {
overflow-x: auto;
overflow-y: hidden;
diff --git a/assets/js/index.js b/assets/js/index.js
index a6c5f47..69001ad 100644
--- a/assets/js/index.js
+++ b/assets/js/index.js
@@ -13,7 +13,7 @@
const link = function() {
url = self.location.href.split("#")[0].split("?")[0];
};
- const scrollHash = function(url, load = false) {
+ const scrollHash = function(url) {
const hash = self.location.hash;
const fragment = hash.slice(1) && document.getElementById(hash.slice(1));
const fragmented = hash.length > 0;
@@ -21,7 +21,9 @@
if (hashed) {
self.location.hash = hash;
self.location.href = hash;
- if (load) fragment.scrollIntoView();
+ if ("scroll-margin-top" in document.body.style === false && fragment.textContent !== "") {
+ self.scrollBy(0, -6 * parseFloat(getComputedStyle(document.documentElement).fontSize));
+ }
}
return hashed;
};
diff --git a/static/js/pager.ts b/static/js/pager.ts
index e818d17..3f7279c 100644
--- a/static/js/pager.ts
+++ b/static/js/pager.ts
@@ -17,7 +17,7 @@
const link = function () { url = self.location.href.split("#")[0].split("?")[0]; };
- const scrollHash = function (url, load = false) {
+ const scrollHash = function (url) {
const hash = self.location.hash;
const fragment = hash.slice(1) && document.getElementById(hash.slice(1));
const fragmented = hash.length > 0;
@@ -25,7 +25,9 @@
if (hashed) {
self.location.hash = hash;
self.location.href = hash;
- if (load) fragment.scrollIntoView();
+ if ("scroll-margin-top" in document.body.style === false && fragment.textContent !== "") {
+ self.scrollBy(0, -6 * parseFloat(getComputedStyle(document.documentElement).fontSize));
+ }
}
return hashed;
};