1
*{
margin:0; padding: 0;
}
body {
background-color: orangered;
}
.content {
margin-top: 200px;
height: 100vh;
background-color: #fdfdff;
}
.tilt {
position: relative;
}
.tilt:before {
content: '';
padding-top: 8.74887%;
position: absolute;
left: 0;
right: 0;
bottom: 100%;
background-image: linear-gradient(5deg, #fdfdff calc(50% - 1px), transparent 50%);
}
<div class="content tilt">
</div>
を働いていないことは、IE11がCALC()CSSプロパティをunderstantingいくつかの問題を抱えているようです。
私はこのように直線的勾配でCALCを使用しています:
background-image: linear-gradient(5deg, #fdfdff calc(50% - 1px), transparent 50%);
しかし、私はこのようにそれを使用する場合:
background-image: linear-gradient(5deg, #fdfdff, transparent 50%);
それは問題なく動作します。
私が理解できないことがもう1つあります。私はIE11でそのプロパティを調べるとき、それをオフに戻って、それが動作します。
calc(50% - 1px)を使用する全体のポイントは、その角度がより滑らかに見えることです。
提案がありますか?
IEは、 'calc'値の継承でやや微妙です。それは何から50%を継承していますか? [mcve]のようなより完全なデモが役に立ちます。 – TylerH
投稿に例を追加しました。それが役立つことを願っています。 – wired
Caniuse.comによると、IE11は生成されたコンテンツ(:: before/:: after擬似要素を含む)で 'calc'を適切にサポートしていないようです – TylerH