web-dev-qa-db-ja.com

Twitter Bootstrapのselect要素のグラデーションをリセットまたは削除するにはどうすればよいですか?

特にselect要素のグラデーションを完全に削除またはオーバーライドする必要があります。フォームコンポーネントなしでBootstrapのカスタムコピーをダウンロードしました。select要素は必要な方法で表示されますが、他のすべては明らかになくなっており、selectグラデーションを削除するだけで済みます。ありがとう。

12
Jorge Guberte

グラデーションは.btn-*クラスにあります(ボタンのドロップダウンを使用していると仮定します)。

例(btn-primaryを使用):

.btn-primary {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #006dcc;
  *background-color: #0044cc;
  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
  background-image: -o-linear-gradient(top, #0088cc, #0044cc);
  background-image: linear-gradient(to bottom, #0088cc, #0044cc);
  background-repeat: repeat-x;
  border-color: #0044cc #0044cc #002a80;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

グラデーションを削除するには、background-color;以外のすべての背景プロパティ(下部のフィルターを含む)を削除するだけです。

.btn-primary {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #006dcc;
  border-color: #0044cc #0044cc #002a80;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
}

また、単色の境界線を使用して仕上げることもできます。

.btn-primary {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #006dcc;
  border-color: #0044cc;
}

.btn-*:hover、:focus、:activeスタイルについても同じことを行う必要があります。

5
James Donnelly

Herr_Hansenによるコメントは私のために働きます。

Safariの場合、CSSを使用して-webkit-appearance:none;<select>に追加してみてください

0
Berta Nicolau