Fix dead prev/next arrows on the slideshow
The theme gives every button a pressed effect -- button:active sets position: relative; top: 1px. Splide renders its arrows as <button>, so they matched it and flipped from absolute to relative positioning for as long as the mouse was held down, jumping 181px out of their centred position mid-click. mousedown and mouseup therefore landed on different elements (the arrow, then the caption overlay behind it), so the browser fired click on their common ancestor and the arrow's own handler never ran. Nothing was logged because nothing errored. Restoring absolute positioning for .splide__arrow:active fixes it. Autoplay and the pagination dots were unaffected throughout, which is why this looked like the arrows specifically were unbound -- they were bound, the click just never reached them. Verified with real mouse clicks (not synthetic .click(), which bypasses hit-testing and masked the bug) on both sites. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -866,6 +866,16 @@ input[type="submit"]:active {
|
||||
top:1px;
|
||||
}
|
||||
|
||||
/* Splide's slider arrows are <button>s, so the press effect above applies to them and
|
||||
flips them from absolute to relative positioning for as long as the mouse is held down.
|
||||
They jump out of their centred position mid-click, so mousedown and mouseup land on
|
||||
different elements, the browser fires click on their common ancestor instead, and the
|
||||
arrow's own handler never runs -- the arrows silently do nothing. */
|
||||
.splide__arrow:active {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
}
|
||||
|
||||
|
||||
input#s {
|
||||
width: 70%;
|
||||
|
||||
Reference in New Issue
Block a user