【iPhone】【Safari】【css】タップ(クリック)した時の灰色の影(highlight)の消し方

iPhoneのSafariでリンクやボタンをタップした時、一瞬だけ背景が暗くなります。「タップした!」という感覚は出ますが、タップ時のcssを具体的に指定したい場合(:activeの指定とか)には、出てほしくない場合もあります。

下記cssでhighlightを消すことができます。

  -webkit-tap-highlight-color: rgba(0,0,0,0);

highlightを完全透明にする記述です。同じように、rgbaの値を変更すれば、ほかの色を設定することもできます。

※参考記事
[CSS] iPhoneのSafariでタップした際に表示される暗めな影を消すCSS – YoheiM .NET

【メモ】【iPhone】【Safari】【css】慣性スクロール

スマートフォン(iPhone)サイト作成時、
普通のPCサイトと同じように、「overflow: auto;」で指定すればブロック要素をスクロールさせることができますが、
慣性スクロール(ゆっくり止まるような動き)を実装するには、
「-webkit-overflow-scrolling: touch;」の指定が必要です。

つまり、

  div.scroll {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

↑↑のような感じです。
(widthやheightなどを別途正しく指定する必要があります。)

※OSやブラウザーの対応情報は調べていませんが、バージョンの低くないiPhoneやAndroidでは動くでしょう。

【iPhone】【Safari】【css】ボタンの角丸などの消し方

ボタン類(<input type=”button”>や<input type=”submit”>など)の角丸をクリアしたい場合、

  input[type="button"],input[type="submit"] {
    border-radius: 0;
  }

↑↑を指定するだけでは、iPhoneのSafariではクリアされません!!

その為、下記cssの設定が必要です:

  input[type="button"],input[type="submit"] {
    -webkit-appearance: none;
  }

そうすれば、ボタンのデフォルトcssが初期化されます(角丸以外もクリアされます。例えば、背景など)。

※参考記事
[CSS]iPhoneでsubmitボタンのテキストがずれた時の対応方法 | コリス