Это говорит о том, что preserveAspectRatio
не работает так, как задумано в Firefox (по крайней мере, в Data Uris).Если вам это нужно, вам нужно соблюдать пропорции: если вы хотите viewBox='0 0 2 1'
и width='50'
, вам нужно height='25'
, а не высота = '4'.Конечно, это может быть не то, что вам нужно, но вы получите суть.Также: в CSS лучше использовать кодированный SVG
.container {
text-align: center;
}
h1 {
margin-bottom: 2em;
}
hr {
position: relative;
width: 45em;
border-width: 0 0 1em;
border-style: solid;
border-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 2 1' width='50' height='25' xml:space='preserve' preserveAspectRatio='meet'%3E%3Ccircle fill='rgba(136, 165, 122, 0.4)' cx='1' cy='0.5' r='0.5'/%3E%3C/svg%3E") 0 0 100% repeat;
}
<div class="container">
<h1>Normaly, MANY perfect dots with SOME space between</h1>
<hr>
</div>
ОБНОВЛЕНИЕ: Чтобы получить только 3 балла, вам нужно изменить SVG, например, следующим образом.
.container {
text-align: center;
}
h1 {
margin-bottom: 2em;
}
hr {
position: relative;
width: 45em;
border-width: 0 0 1em;
border-style: solid;
border-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='-7 0 16 1' width='400' height='25' xml:space='preserve' preserveAspectRatio='meet'%3E%3Ccircle fill='rgba(136, 165, 122, 0.4)' cx='1' cy='0.5' r='0.5'/%3E%3C/svg%3E") 0 0 100% repeat;
}
<div class="container">
<h1>Normaly, 3 perfect dots with lot of space between</h1>
<hr>
</div>