1

以下のHTMLボタンスタイルがあります。Fire fox では問題なく動作しますが、IE では正しくレンダリングされません。私はIE7を使用しています。ただし、7 より上のすべての IE バージョンで動作するはずです。

FFで:

ここに画像の説明を入力

しかし、IE では見た目が異なります。

ここに画像の説明を入力

以下は私のCSSスタイルです:

button.skip {
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    background-color: #8C9CBF;
    background-image: -moz-linear-gradient(center top , #8C9CBF 0%, #546A9E 50%, #36518F 50%, #3D5691 100%);
    border-color: #172D6E #172D6E #0E1D45;
    border-image: none;
    border-radius: 5px 5px 5px 5px;
    border-style: solid;
    border-width: 1px;
    box-shadow: 0 1px 0 0 #B1B9CB inset;
    color: #FFFFFF;
    font: bold 16px/1 "helvetica neue",helvetica,arial,sans-serif;
    padding: 7px 0 8px;
    text-align: center;
    text-decoration: none;
    text-shadow: 0 -1px 1px #000F4D;
    width: 150px;

}

FF に似た IE でボタンを表示するにはどうすればよいですか? ありがとう!

4

6 に答える 6

1

ie7 は css3 グラデーション プロパティをサポートしていません。ie8、ie7 には pie.htc を使用する必要があります。

ここにそのページへのリンクがあります

http://css3pie.com/

于 2013-07-29T07:48:14.847 に答える
1

これを試して:

-webkit-border-radius: 5px;
border-radius: 5px;

background: #8c9cbf; /* Old browsers */
background: -moz-linear-gradient(top,  #8c9cbf 0%, #546a9e 50%, #36518f 50%, #3d5691 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#8c9cbf), color-stop(50%,#546a9e), color-stop(50%,#36518f), color-stop(100%,#3d5691)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  #8c9cbf 0%,#546a9e 50%,#36518f 50%,#3d5691 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  #8c9cbf 0%,#546a9e 50%,#36518f 50%,#3d5691 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  #8c9cbf 0%,#546a9e 50%,#36518f 50%,#3d5691 100%); /* IE10+ */
background: linear-gradient(to bottom,  #8c9cbf 0%,#546a9e 50%,#36518f 50%,#3d5691 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8c9cbf', endColorstr='#3d5691',GradientType=0 ); /* IE6-9 */
于 2013-07-29T07:38:15.623 に答える
1

これは、IE でボタンを機能させるために追加する必要がある CSS です。

  background: -ms-linear-gradient(top, #dcdedb 0%, #c9cbc8 100%);
        /* IE10+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#dcdedb', endColorstr='#c9cbc8', GradientType=0);
        /* IE6-9 */

ワーキングデモ

編集:新しいデモ

IE9 以下の場合、IE9、IE8、IE7 は CSS3 グラデーションをサポートしていないため、 CSS3 グラデーションを使用することはできません。別の方法は、 PNGボタンを作成し、ボタンの背景画像をPNGに割り当てることです。

別の方法はSVGを使用することです。ただし、 IE7用の派手なボタンを1つ作成するためだけにSVGを使用するのは意味がないため、お勧めしません。

于 2013-07-29T07:39:02.473 に答える
0

IE 固有の CSS を試すことができます

background: -ms-linear-gradient(top, #8C9CBF 0%, #546A9E 50%, #36518F 50%, #3D5691 100%); // IE 10
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#546A9E', endColorstr='#3D5691',GradientType=0 ); // IE 6-9

必要に応じて値をいじってください。

于 2013-07-29T07:37:31.850 に答える
0

使用できます

Colorzilla グラデーション ジェネレーター: http://colorzilla.com/gradient-editor/

および CSS3Pie: http://css3pie.com

これを試して:

background: #8c9cbf; /* Old browsers */
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzhjOWNiZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzU0NmE5ZSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUxJSIgc3RvcC1jb2xvcj0iIzM2NTE4ZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMzZDU2OTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top,  #8c9cbf 0%, #546a9e 50%, #36518f 51%, #3d5691 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#8c9cbf), color-stop(50%,#546a9e), color-stop(51%,#36518f), color-stop(100%,#3d5691)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  #8c9cbf 0%,#546a9e 50%,#36518f 51%,#3d5691 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  #8c9cbf 0%,#546a9e 50%,#36518f 51%,#3d5691 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  #8c9cbf 0%,#546a9e 50%,#36518f 51%,#3d5691 100%); /* IE10+ */
background: linear-gradient(to bottom,  #8c9cbf 0%,#546a9e 50%,#36518f 51%,#3d5691 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8c9cbf', endColorstr='#3d5691',GradientType=0 ); /* IE6-8 */

および IE9 でのサポート:

<!--[if gte IE 9]>
  <style type="text/css">
    .gradient {
       filter: none;
    }
  </style>
<![endif]-->
于 2013-07-29T08:18:12.513 に答える