小金井にあるWEB制作会社の備忘録

MEMORANDUM

CSSでセレクトボックス(select)をカスタマイズ

iphoneでフォーム項目を調整する際に、セレクトボックス(select要素)に関しては初期設定をリセットしないとうまく調整ができないため、対応方法をメモ。

HTML

<div class="select__wrap">
<select name="select01">
<option value="">選択してください</option>
<option value="○○○○">○○○○</option>
<option value="○○○○">○○○○</option>
<option value="○○○○">○○○○</option>
<option value="○○○○">○○○○</option>
</select>
</div>

CSS

@import url('https://use.fontawesome.com/releases/v5.15.4/css/all.css');
select {
	-webkit-appearance: none; //初期設定のリセット
	appearance: none; //初期設定のリセット
	width: 100%;
	padding: 1rem;
	border: #ddd solid 1px;
	border-radius: 5px;
	font-size: 16px;
	background: #fff;
	color: #1a1a1a;
}
.select__wrap {
	position: relative;
}
.select__wrap::after {
	font-family: "Font Awesome 5 Free";
	content: "\f078";
	font-size: 10px;
	font-weight: 900;
	height: 10px;
	margin: auto;
	line-height: 10px;
	position: absolute;
	top: 0;
	right: 1rem;
	bottom: 0;
	pointer-events: none;
}

「appearance: none;」を使用すると矢印も表示されなくなるため、「Font Awesome」のアイコンを疑似要素に設定。
この時に「select」に直接疑似要素を設定しても表示されないため、親要素「select__wrap」を作成して、そちらに設定。
最後の行の「pointer-events: none;」は疑似要素をクリック要素として認識できないようにしています。

同一カテゴリーの記事