0
私は作ろうとしている単純なリボンのバナーを持っていますが、Chromeでは動作していますが、SafariやIE11では動作しません。SafariとIE11でflexとsvgを動作させる方法
HTML:
<div class="container">
<span class="text" style="">Sale <br/>20% off</span>
<span>
<svg height="100%"
viewBox="0 0 4 24">
<path d="M0 0 L 4 0 L 0 12 L 4 24 L 0 24 Z" fill="#6e3ba1" />
</svg>
</span>
</div>
CSS:私はテキストとSVGとの間に大きなギャップを得ていた、IE11でこれを試してみました
.text {
padding: 10px 20px;
background-color: #6e3ba1;
color: white;
font-weight: bold;
font-family: sans-serif;
font-size: 4rem;
border-top-left-radius: 0.2rem;
border-bottom-left-radius: 0.2rem;
}
.container {
flex-direction: row;
display:flex;
flex-wrap: no-wrap;
justify-content: flex-start;
align-items: stretch
}
。
Safariでこれを試したところ、高さに基づいてスケーリングするのではなく、幅に値0が割り当てられていたため、SVGが表示されませんでした。
BONUS:
可能であれば、私はまた、右側(SVG)の角を丸めるのが大好きです。
コンテナに固定された高さを追加します。私はあなたのスタイルを修正してこれを試してくれてありがとうございました。 ------------------。コンテナ{ フレックス方向:行; display:flex; フレックス・ラップ:ノー・ラップ、 justify-content:flex-start; align-items:ストレッチ; 身長:180px; } svg { margin-left:-1px; } –
また、すべてのflexプロパティにベンダープレフィックスを使用します。つまり、-webkit-flex-wrap:wrap;表示:-webkit-flex; –