CSS만 사용자 지정

4523 단어 CSS

Form 요소 스타일 초기화


브라우저의Form계 요소의 초기 스타일을 떼어낼 때appearance: none를 사용하면서backgroundborder 등의 리셋을 진행한다.
select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  box-sizing: content-box;
}
하지만 <select>라면 웹키트 계열 외에도-moz-apperance Firefox로서 선택한 UI 단추를 남긴다.

IE10



Firefox25



Opera12.16



오버플로우로 얼렁뚱땅 넘어가다


결과를 먼저 보여주면 이런 느낌이야.

태그 예

<div class="custom">
  <select name="options">
    <option value="option-1">Option</option>
  </select>  
</div>

CSS(필요한 부분만 발췌)

.custom {
  overflow: hidden; /* 伸ばした分を隠す */
}
.custom > select {
  width: 130%; /* UI分を伸ばす */
}
이렇게 간단한 대응.현재로서는 어려움이 없다.

기타 방법


Firefox
select {
  -moz-appearance: none;
  text-indent: 0.01px;
  text-overflow: '';
}
IE 10
select::-ms-expand {
  display: none;
}
이런 견해가 있다.

Codepen

좋은 웹페이지 즐겨찾기