Belirli durumlarda yön değiştirildiğinde Android için Chrome'da kaybolan bir SVG ile ilgili sorun yaşıyordum. Aşağıdaki kod yeniden üretmez, ancak sahip olduğumuz kurulumdur.
body {
font-family: tahoma, sans-serif;
font-size: 12px;
margin: 10px;
}
article {
display: flex;
}
aside {
flex: 0 1 10px;
margin-right: 10px;
min-width: 10px;
position: relative;
}
svg {
bottom: 0;
left: 0;
position: absolute;
right: 0;
top: 0;
}
.backgroundStop1 {
stop-color: #5bb79e;
}
.backgroundStop2 {
stop-color: #ddcb3f;
}
.backgroundStop3 {
stop-color: #cf6b19;
}
<article>
<aside>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="100%" width="100%">
<defs>
<linearGradient id="IndicatorColourPattern" x1="0" x2="0" y1="0" y2="1">
<stop class="backgroundStop1" offset="0%"></stop>
<stop class="backgroundStop2" offset="50%"></stop>
<stop class="backgroundStop3" offset="100%"></stop>
</linearGradient>
</defs>
<rect x="0" y="0" rx="5" ry="5" width="100%" height="100%" fill="url(#IndicatorColourPattern)"></rect>
</svg>
</aside>
<section>
<p>Donec et eros nibh. Nullam porta, elit ut sagittis pulvinar, lacus augue lobortis mauris, sed sollicitudin elit orci non massa. Proin condimentum in nibh sed vestibulum. Donec accumsan fringilla est, porttitor vestibulum dolor ornare id. Sed elementum
urna sollicitudin commodo ultricies. Curabitur tristique orci et ligula interdum, eu condimentum metus eleifend. Nam libero augue, pharetra at maximus in, pellentesque imperdiet orci.</p>
<p>Fusce commodo ullamcorper ullamcorper. Etiam eget pellentesque quam, id sodales erat. Vestibulum risus magna, efficitur sed nisl et, rutrum consectetur odio. Sed at lorem non ligula consequat tempus vel nec risus.</p>
</section>
</article>
Gün ve yarım gün sonra alay ve prodding ve burada sunulan çılgın çözümler memnun değil sonra , sorunun yeni bir çizim yaparken öğeyi hafızada tutmak gibi görünüyordu neden olduğunu keşfettim. Çözüm, sayfa başına yalnızca bir kez kullanılmasına rağmen SVG üzerindeki linearGradient kimliğini benzersiz kılmaktı.
Bu birçok farklı yolla elde edilebilir, ancak açısal uygulamamız için kapsama bir değişken eklemek için lodash uniqueId işlevini kullandık:
Açısal Yönerge (JS):
scope.indicatorColourPatternId = _.uniqueId('IndicatorColourPattern');
HTML Güncellemeleri:
5. Satır: <linearGradient ng-attr-id="{{indicatorColourPatternId}}" x1="0" x2="0" y1="0" y2="1">
Satır 11: <rect x="0" y="0" rx="5" ry="5" width="100%" height="100%" ng-attr-fill="url(#{{indicatorColourPatternId}})"/>
Umarım bu cevap, bir başkasını klavyesini yüz smashing değerinde kurtarır.