2016-07-31 3 views
0

CSS/HTMLのみのドロップダウンメニューを作成しました。親リンクの上にマウスが移動すると、非表示のドロップダウンメニューが表示されます。モバイルデバイスでは、隠れたメニューを含むアンカーは、他のアンカーに比べてフォントサイズが突然小さくなっているようです。デスクトップでは、font-sizeは他のリンクと同じように変わりません。モバイルブラウザのドロップダウンメニューのAncher font-sizeが変更されました

  • なぜこれらのアンカーのフォントサイズを小さくするか大きくするのですか?
  • この現象を回避するにはどうすればよいですか?

全コードJSFiddle上&作業例:https://jsfiddle.net/fL4xj3jc/

<ul class="topmenu_parent"> 
    <li class="topmenu_link"><a href="home/index">Home</a></li> 
    <li class="topmenu_link dropdown_button"> 
    <a href="javascript:void(0)" class="dropdown_parent">Account</a> 
    <div class="dropdown_links"> 
     <a href="users/profile/1">Mijn profiel</a> 
     <a href="users/edit/email">Bewerk e-mail</a> 
     <a href="users/edit/password">Bewerk wachtwoord</a> 
     <a href="users/search">Zoek gebruiker</a> 
    </div> 
    </li> 
    <li class="topmenu_link dropdown_button"> 
    <a href="javascript:void(0)" class="dropdown_parent">Berichten</a> 
    <div class="dropdown_links"> 
     <a href="messages/inbox">Inkomend</a> 
     <a href="messages/outbox">Uitgaand</a> 
     <a href="messages_create/form">Nieuw bericht</a> 
    </div> 
    </li> 
    <li class="topmenu_link dropdown_button"> 
    <a href="javascript:void(0)" class="dropdown_parent">Pronostiek</a> 
    <div class="dropdown_links"> 
     <a href="predictions/index/1">Jupiler Pro League</a> 
     <a href="predictions/index/2">Champions League (voorronde)</a>  
    </div> 
    </li> 
    <li class="topmenu_link dropdown_button"> 
    <a href="javascript:void(0)" class="dropdown_parent">Scorebord</a> 
    <div class="dropdown_links"> 
     <a href="predictions/score/1">Jupiler Pro League</a> 
     <a href="predictions/score/2">Champions League (voorronde)</a>  
    </div> 
    </li> 
    <li class="topmenu_link"><a href="home/faq">FAQ</a></li> 
    <li class="topmenu_link"><a href="home/logout">Log uit</a></li> 
</ul> 

デスクトップ: enter image description here

モバイル: enter image description here

+0

アンカーを明示的に設定しましたかあなたのCSSのフォントサイズ? – LGSon

+0

いいえ、私はしませんでした(完全なHTML/CSSはJSFiddleの例に含まれています)。これは、モバイルブラウザがリンクをクリックしやすくするためです。モバイルブラウザはJSを認識し、アンカーのサイズを変更しません。 – Max

+0

私はテストして比較するiPhoneを持っていないので、私は言うことはできませんが、フォントのサイズに関しては、あらかじめ定義されたスタイルシートが異なるブラウザとして設定する必要があります。 – LGSon

答えて

1

違いはinline-block

Updated fiddle

だから、この変更を行うに表示されるドロップダウンメニュー付きのリンクです

.topmenu_link 
{ 
    margin: 0px 50px 0px 0px; 
    display: inline-block; 
} 

/* you can delete this rule */ 
/* li.dropdown_button 
{ 
    display: inline-block; 
} */ 
+0

ありがとう、これは素晴らしく、私は少ないコードで終わります。あなたはAndroidの携帯電話でドロップダウンメニュー自体を使用することができましたか?私はiPhone以外のものでJSの追加をテストすることができませんでした。 JSを追加する前に、親リンクに行く前にちょっとズームしたので、メニューは無用になりました。 – Max

+1

@MaxはWindows 10 Mobileでテストしましたが、同じ問題がありました。アップデート後に動作しています... – LGSon

0

はちょうどあなたのリンクのクリック動作を削除します。

またはCSSではなく、は、IE < 11でサポートされている:

.dropdown_parent { 
    pointer-events: none; 
} 
+0

クリックの動作が既に削除されているため、特定のアンカーのサイズが変更された理由がわかりました。 – Max