HTMLの<select>
要素からドロップダウンの矢印を削除したいです。例えば:
<select style="width:30px;-webkit-appearance: none;">
<option>2000</option>
<option>2001</option>
<option>2002</option>
...
</select>
Opera、Firefox、Internet Explorerでそれをするには?
ハッキングやオーバーフローは必要ありません。 IEのドロップダウン矢印には擬似要素があります。
select::-ms-expand {
display: none;
}
前述の解決策は、Chromeではうまくいきますが、Firefoxではうまくいきません。
Solution がChromeとFirefoxの両方で(IEではなく)うまく動作することを発見しました。 SELECT要素のCSSに次の属性を追加し、必要に応じて余白を調整します。
select {
-webkit-appearance: none;
-moz-appearance: none;
text-indent: 1px;
text-overflow: '';
}
お役に立てれば :)
選択からドロップダウン矢印を削除する簡単な方法 /
select {
/* for Firefox */
-moz-appearance: none;
/* for Chrome */
-webkit-appearance: none;
}
/* For IE10 */
select::-ms-expand {
display: none;
}
<select>
<option>2000</option>
<option>2001</option>
<option>2002</option>
</select>
これを試して :
select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding: 2px 30px 2px 2px;
border: none;
}
JS Bin: http://jsbin.com/aniyu4/2/edit
Internet Explorerを使用している場合
select {
overflow:hidden;
width: 120%;
}
またはChoosenを使用することができます: http://harvesthq.github.io/chosen/
これを試して:
HTML:
<div class="customselect">
<select>
<option>2000</option>
<option>2001</option>
<option>2002</option>
</select>
</div>
CSS:
.customselect {
width: 70px;
overflow: hidden;
}
.customselect select {
width: 100px;
-moz-appearance: none;
-webkit-appearance: none;
appearance: none;
}
これを試してみてください
<style>
select{
border: 0 !important; /*Removes border*/
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
text-overflow:'';
text-indent: 0.01px; /* Removes default arrow from firefox*/
text-overflow: ""; /*Removes default arrow from firefox*/
}
select::-ms-expand {
display: none;
}
.select-wrapper
{
padding-left:0px;
overflow:hidden;
}
</style>
<div class="select-wrapper">
<select> ... </select>
</div>
隠すことはできませんが、オーバーフロー隠しを使用すると、実際に隠すことができます。
スレッドを完成させたいだけでした。非常に明確にするために、これはIE9では機能しませんが、少しCSSトリックで実行できます。
<div class="customselect">
<select>
<option>2000</option>
<option>2001</option>
<option>2002</option>
</select>
</div>
.customselect {
width: 80px;
overflow: hidden;
border:1px solid;
}
.customselect select {
width: 100px;
border:none;
-moz-appearance: none;
-webkit-appearance: none;
appearance: none;
}
私が答えたように IEの選択矢印を削除
あなたがクラスと擬似クラスを使いたい場合:
.simple-control
はあなたのCSSクラスです
:disabled
は疑似クラスです
select.simple-control:disabled{
/*For FireFox*/
-webkit-appearance: none;
/*For Chrome*/
-moz-appearance: none;
}
/*For IE10+*/
select:disabled.simple-control::-ms-expand {
display: none;
}
select{
padding: 11px 50px 11px 10px;
background: rgba(255,255,255,1);
border-radius: 7px;
-webkit-border-radius: 7px;
-moz-border-radius: 7px;
border: 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
color: #8ba2d4;
}
あなたは完全に機能的なクロスブラウザサポートでこれをすることができません。
50ピクセルのdivを取ってみて、この右側に希望のドロップダウンアイコンを浮かせてください。
そのdiv内に、多分55ピクセルの幅のselectタグを追加します(コンテナの幅以上のもの)
欲しいものが手に入ると思います。
右側にドロップアイコンを表示したくない場合は、右側に画像を移動する以外のすべての手順を実行してください。選択タグのアウトラインを0に設定します。それでおしまい
dropKick.jsと呼ばれるライブラリがあります。これは通常の選択ドロップダウンをHTML/CSSに置き換えます。そのため、それらをjavascriptで完全にスタイル設定および制御できます。 http://dropkickjs.com/ /
すべてのブラウザとすべてのバージョンで動作します。
_ js _
jQuery(document).ready(function () {
var widthOfSelect = $("#first").width();
widthOfSelect = widthOfSelect - 13;
//alert(widthOfSelect);
jQuery('#first').wrap("<div id='sss' style='width: "+widthOfSelect+"px; overflow: hidden; border-right: #000 1px solid;' width=20></div>");
});
_ html _
<select class="first" id="first">
<option>option1</option>
<option>option2</option>
<option>option3</option>
</select>