My blog

The World is too big and beautiful to stay in one place forever!

The same select/dropdown in all major browsers

Continuing a previous post where we were exploring how to make your checkbox appear the same in browsers I want to write about the select element this time. When I was testing my contact form I realized that select looks different in each browser.

I was googling in order to fix it and found this useful post of Scott Jehl and used it in my own code.

select {
      display: block;
      font-size: 16px;
      font-family: "Montserrat", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "\6E38\30B4\30B7\30C3\30AF    Medium", meiryo, sans-serif;
      font-weight: 400;
      color: #444;
      line-height: 1.3;
      padding: .6em 1.4em .5em .8em;
      width: 50%;
      max-width: 50%;
      box-sizing: border-box;
      margin: 0;
      border: 1px solid #e2e2e2;
      box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
      border-radius: .5em;
      -moz-appearance: none;
      -webkit-appearance: none;
      appearance: none;
      background-color: #edf1f4;
      background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'),
      linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);
      background-repeat: no-repeat, repeat;
      background-position: right .7em top 50%, 0 0;
      background-size: .65em auto, 100%;

        @include mq_max($breakpoint_l) {
          width: 100%;
          max-width: 100%;
        }
    }
    select::-ms-expand {
      display: none;
    }
    select:hover {
      border-color: #9181cc;
    }
    select:focus {
      border-color: #9181cc;
      box-shadow: #9181cc;
      box-shadow: 0 0 0 3px -moz-mac-focusring;
      color: #222;
      outline: none;
    }
    select option {
      font-weight:normal;
    }

As a result it my select looks the same in all major browsers.

Naika

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top