Skip to content

EOL 警告バナーが sticky ヘッダに隠れないようにする#228

Merged
znz merged 1 commit into
rurema:masterfrom
znz:fix-eol-warning-overlap
Jul 11, 2026
Merged

EOL 警告バナーが sticky ヘッダに隠れないようにする#228
znz merged 1 commit into
rurema:masterfrom
znz:fix-eol-warning-overlap

Conversation

@znz

@znz znz commented Jul 11, 2026

Copy link
Copy Markdown
Member

解決したい問題

Fixes #227

旧バージョンのページで、EOL 警告バナーの下部が sticky ヘッダ(#rurema-topbar)に
隠れていました(1行なら文言の下半分、折り返し時は2行目のほぼ全部)。

原因

#rurema-topbar は「body の余白(上 20px・左右 2%)を負マージン
(margin: -20px -2% 1em)で突き破って全幅化する」設計で、
自分が body の先頭要素である前提になっています。
#215 の EOL バナーはそのに挿入されるため、topbar の margin-top: -20px
バナーの下部 20px に食い込んでいました。

変更内容

.eol-warning にも topbar と同じ「余白の突き破り」を適用します(CSS のみの変更)。

 .eol-warning {
     background-color: #aa3333;
     color: white;
-    padding: 0.4em;
-    margin: 0;
+    padding: 0.4em 2%;
+    margin: -20px -2% 20px;
 }

マージン相殺の計算:

  • body の margin-top: 20px × バナーの -20px → バナーがビューポート上端に密着
    (左右 -2% で全幅化+padding 側 2% で文字位置は本文と揃う)
  • バナーの margin-bottom: 20px × topbar の -20pxtopbar がバナーの真下に密着
  • バナーの無いページでは従来どおり topbar 自身の負マージンが body の余白を打ち消すため
    影響ありません

🤖 Generated with Claude Code

#rurema-topbar は「body の余白(上 20px・左右 2%)を負マージンで
突き破って全幅化する」設計で、自分が body の先頭要素である前提に
なっている。EOL 警告バナー(--eol-warning)はその前に挿入されるため、
topbar の margin-top -20px がバナーの下部に食い込み、文言の下半分
(折り返し時は2行目のほぼ全部)が隠れていた。

バナーにも topbar と同じ余白の突き破りを適用する。バナーの
margin-bottom 20px が topbar の margin-top -20px と相殺されるので、
topbar はバナーの真下に密着する。バナーの無いページでは従来どおり
topbar 自身の負マージンが body の余白を打ち消すため影響しない。

Fixes rurema#227

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@znz znz merged commit 8bfc640 into rurema:master Jul 11, 2026
9 checks passed
@znz znz deleted the fix-eol-warning-overlap branch July 11, 2026 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

古い Ruby バージョン用のヘッダーがおかしい

1 participant