HTML select option CSS設定在Safari 和 Firefox各運作出不同的問題


如有一<select></select>可經由CSS設定後,在Chrome下變成如下所示:


由圖可見,它的height and width, text-indent都有被調整過,但在Firefox下所見則會變成:



由於text-indent會讓Firefox將select的值跟下拉圖示移位,因此必須拿掉text-indent,Firefox可經

由padding-left做調整,而IE也不吃text-indent,但他照預設一樣置左,也可透過padding-left。

經由調整後,Firefox還是會造成如下所示:



此時若透過padding-top設定,字雖然可以垂直置中,但也會動到右側的下拉圖示,因此可

再透過padding-bottom來均衡一下XD


而透過Safari瀏覽的話,height的調整會不work,可以透過line-height作調整即可!整理如下:

Chrom部分
  1. .chrome_select_style{
  2. text-indent:120px;
  3. width:300px;
  4. height:35px;
  5. text-align:left;
  6. }
Safari部分
  1. .safari_select_style{
  2. text-indent:120px;
  3. width:300px;
  4. line-height:35px;
  5. text-align:left;
  6. }
IE(可不包含padding-top,bottom)、Firefox部分
  1. .ie_firefox_select_style{
  2. padding-left:120px;
  3. width:300px;
  4. height:35px;
  5. text-align:left;
  6. padding-top:7px;
  7. padding-bottom:7px;
  8. }

留言