1

私のdivは、ieを除くすべてのブラウザで境界線を丸めています。互換性のあるCSSが必要だと思います。

http://jsfiddle.net/SineMetu/PQtbw/2/

HTML:

<div class="upper_button">
    <a href="http://www.yahoo.com/" target="_blank"><h2>Blah2</h2></a>
</div>
<div class="upper_button">
    <a href="http://www.google.com/" target="_blank"><h3>Blah</h3></a>
</div>

CSS:

.upper_button {
    padding: 5px 20px;
    width: 120px;
    float: right;
    height:22px;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    background: rgb(147,206,222); /* Old browsers */
    background: -moz-linear-gradient(top, rgba(147,206,222,1) 0%, rgba(117,189,209,1) 41%, rgba(73,165,191,1) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(147,206,222,1)), color-stop(41%,rgba(117,189,209,1)), color-stop(100%,rgba(73,165,191,1))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, rgba(147,206,222,1) 0%,rgba(117,189,209,1) 41%,rgba(73,165,191,1) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, rgba(147,206,222,1) 0%,rgba(117,189,209,1) 41%,rgba(73,165,191,1) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, rgba(147,206,222,1) 0%,rgba(117,189,209,1) 41%,rgba(73,165,191,1) 100%); /* IE10+ */
    background: linear-gradient(top, rgba(147,206,222,1) 0%,rgba(117,189,209,1) 41%,rgba(73,165,191,1) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#93cede', endColorstr='#49a5bf',GradientType=0 ); /* IE6-9 */
    -moz-box-shadow: 1px 1px 1px rgba(000,000,000,0.2),
        inset 0px 0px 0px rgba(255,255,255,0);
    -webkit-box-shadow: 1px 1px 1px rgba(000,000,000,0.2),
        inset 0px 0px 0px rgba(255,255,255,0);
    text-shadow: 0px -1px 0px rgba(000,000,000,0),
        0px 1px 0px rgba(255,255,255,0.3);
4

3 に答える 3

1

IE8 以下は、border-radius プロパティをサポートしていません。

次のような回避策がたくさんあります。

于 2012-06-18T20:01:37.027 に答える
0

IE9 より前のバージョンの IE は、border-radius をサポートしていません。

IE9はそれをサポートしていますが、同じ要素にborder-radiusとCSSグラデーションの両方を適用するときにIEに問題があるため、あなたの例は機能していません.

于 2012-06-18T20:05:17.990 に答える
0

IE9 の場合、フィルターが原因です。

IE フィルターは境界半径から抜け出します。これをテストするには、背景を単色に変更し、フィルターを削除します。ここを参照してください:http://jsfiddle.net/PQtbw/12/

編集:それを修正するには、ボタンにラッパーを追加し、ボーダー半径を持つようにしてから設定しますoverflow: hidden;

ここを参照してください:http://jsfiddle.net/PQtbw/13/

于 2012-06-18T20:06:28.370 に答える