Chromeで機能しないオプションのパディングを選択します
<style>
select option { padding:5px 0px; }
</style>
<select>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
Chromeで機能しないオプションのパディングを選択します
<style>
select option { padding:5px 0px; }
</style>
<select>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
回答:
Chromeの選択入力にパディングを適用する方法を見つけました
select{
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding: 5px;
}
現在のクロム39.0.2171.71(64ビット)とサファリで動作するようです(私はこれをMacでのみテストしました)。
これにより、選択入力に追加されたデフォルトのスタイルが削除されたようです(ドロップダウン矢印も削除されました)が、クロムをオーバーライドせずに独自のスタイルを使用できます。
ここからコードを使用しているときに、この修正に遭遇しました:http://fettblog.eu/style-select-elements/
<select><option/></select>
完全にカスタマイズ可能に要素を<ul><li/></ul>
要素を。このようにして、他の入力フィールドまたは一般的なUIに一致するすべてのドロップダウンのスタイルを設定できます。
この単純なハックはテキストをインデントします。うまく機能します。
select {
text-indent: 5px;
}
のようだ
残念ながら、Webkitブラウザはまだオプションタグのスタイル設定をサポートしていません。
あなたはここで同様の質問を見つけるかもしれません
最も広く使用されているクロスブラウザソリューションは、ulliを使用することです。
それが役に立てば幸い!
これで直しました
select {
max-height: calc(1.2em + 24px);
height: calc(1.2em + 24px);
}
max-height: calc(your line height + (top + bottom padding));
height: calc(your line height + (top + bottom padding));
height: calc(1.2em + 24px);
うまくいかなかったときだけ私のために働いたmax-height: calc(1.2em + 24px);
非常に単純なアイデアですが、それに応じて変更できます。これは見栄えが良くなるように設定されているのではなく、アイデアを提供するためだけのものです。それが役に立てば幸い。
CSS:
ul {
width: 50px;
height: 20px;
border: 1px solid black;
display: block;
}
li {
padding: 5px 0px;
width: 50px;
display: none;
}
HTML:
<ul id="customComboBox">
 
<li>Test</li>
<li>Test 2</li>
<li>Test 3</li>
</ul>
脚本:
$(document).ready(function(){
$("#customComboBox").click(function(){
$("li").toggle("slow");
});
});
これoption
は「システム」によって生成されたドロップダウンメニューであるため、エントリでは機能しませんpadding
が、選択のを設定できます。
CSSでbox-sizing
プロパティをcontent-box
にリセットするだけです。
のデフォルト値はselect
ですborder-box
。
select {
box-sizing: content-box;
padding: 5px 0;
}
私はあなたの問題に対して少しトリックがあります。ただし、そのためにはjavascriptを使用する必要があります。ブラウザがChromeであることを検出した場合は、すべてのオプションの間に「ダミー」オプションを挿入します。それらの「ダミー」オプションに新しいクラスを与え、それらを無効にします。font-sizeで定義できる「ダミー」オプションの高さプロパティで。
CSS:
option.dummy-option-for-chrome {
font-size:2px;
color:transparent;
}
脚本:
function prepareHtml5Selects() {
var is_chrome = /chrome/.test( navigator.userAgent.toLowerCase() );
if(!is_chrome) return;
$('select > option').each(function() {
$('<option class="dummy-option-for-chrome" disabled></option>')
.insertBefore($(this));
});
$('<option class="dummy-option-for-chrome" disabled></option>')
.insertAfter($('select > option:last-child'));
}
パディングではありませんが、単に大きくすることが目標の場合は、を増やすことができますfont-size
。また、で使用するとfont-size-adjust
、オプションではなく選択時にフォントサイズが通常に戻るため、最終的にoption
大きくなります。
すべてのブラウザで動作するのか、それとも現在も動作し続けるのかわからない。
Chrome85およびFirefox81でテスト済み。
select {
font-size: 2em;
font-size-adjust: 0.3;
}
<label>
Select: <select>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
</select>
</label>
Jqueryなし-サードパーティのjsファイルなし
function clickComboBox(){
comboOpt = document.getElementsByClassName("opt");
for (i = 0; i < comboOpt.length; i++) {
if (comboOpt[i].style.display === "block") {
comboOpt[i].style.display = "none";
} else {
comboOpt[i].style.display = "block";
}
}
}
function clickOpt(value1,text1){
document.getElementById("selectedValue").value=value1;
document.getElementById("customComboBox").innerHTML=text1;
clickComboBox();
}
#customComboBox{
width: 150px;
height: 20px;
border: 1px solid #CCCCCC;
display: block;
padding: 2px 5px;
}
.opt{
padding: 5px 0px;background-color:#CCCCCC;
width: 160px;
display: none;
}
<div id="customComboBox" onClick="clickComboBox()">
-Select Value-
</div>
<input type="hidden" id="selectedValue">
<div class="opt">
<div onClick="clickOpt('01','Test1')"><img src="https://pasteboard.co/J6940Vs.png" height="20">Test1</div>
<div style="padding-left:10px;" onClick="clickOpt('02','Test2')">Test2</div>
<div onClick="clickOpt('03','Test3')">Test3</div>
</div>
スマートコード-jqueryを使用する
選択タグの高さを設定するだけです
select{
height: 30px;
max-height: 30px;
}
selectオプションではなく、CSSのselectをターゲットにする必要があります。
select {
padding: 10px;
margin: 0;
-webkit-border-radius:4px;
-moz-border-radius:4px;
border-radius:4px;
}
その他のスタイリングオプションについては、この記事「CSS3を使用した選択ボックスのスタイリング」を参照してください。