Twenty Fourteenのメニューバーに関するSafariのバグ

WordPressのデフォルトテーマのTwentyFourteenが、いつのころからかAppleのMacOSに搭載のブラウザSafariで、メインメニューがちゃんと表示されないという問題が起きるようになった。

【トラブル内容】

  • 状況:WordPress 6.4.3、TwentyFourteen 3.8、macOS Sonoma 14.2.1、Safari 17.2.1
  • 症状:AppleのMacOSに搭載のブラウザSafariで、メインメニューがちゃんと表示されず、下段にずれてしまう。
  • 原因:Safariブラウザ側にある。
  • 解決策:当面は以下のようにCSSで対応して、Safari側が対応するのをまつ。

【症状】

(本来の表示)1列に横に並ぶ

(おかしい表示)上下にずれる

【解決策1】

この件に関しては、WordPressサイトのフォーラムでも問題が指摘されており、解決策としてのCSSも公開されている。問題点は、Safariにあるということになっている。

このフォーラムでは以下のようにCSSを書き換えるとうまくいくと紹介されている。

/* 
safariブラウザにおけるメインメニュー表示不具合の解消1
*/

.header-main {
  display: flex;
  justify-content:space-between;
}
.header-main .search-toggle {
  order: 3;
}
.header-main .site-navigation {
  margin-left: auto;
}

【解決策2】

ところがこのCSSを使用すると、当初のMacOS Safariブラウザでの問題は解決するのだが、あらたな問題が発生してしまう。TwentyForteenは、レスポンシブWebデザインのテーマで、スマホブラウザでは細く表示されるようになり、メインテーマもワンボタンのぶら下がりメニューに変わる。このメインメニューが右側によってしまうという問題が新たに発生する。長いメニューの場合、1行に表示しきれず折り返してしまう。

(本来の並び)左側によって表示される。

(おかしい表示)右側によってしまう。ぶら下がりメニューの左側に、予想以上のマージンが入ってしまっている。

これを解決するには、先のCSSの1つ目の記述を削除する。以下の内容でも、ちゃんと表示されるようになっている。

/*
safariブラウザにおけるメインメニュー表示不具合の解消2
*/

.header-main .search-toggle {
  order: 3;
}
.header-main .site-navigation {
  margin-left: auto;
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です