Вот одно решение, которое добавляет градиент фона, используя URI данных для создания полупрозрачного изображения, которое перекрывает любой цвет фона. Я проверил, что он правильно обрезан до радиуса границы в IE9. Это легче, чем предложения, основанные на SVG, но как недостаток, не зависит от разрешения. Еще одно преимущество: работает с вашим текущим HTML / CSS и не требует переноса с дополнительными элементами.
Я взял случайный PNG с градиентом 20x20 с помощью веб-поиска и преобразовал его в URI данных с помощью онлайн-инструмента. Результирующий URI данных меньше, чем CSS-код для всего этого SVG-беспорядка, тем более сам SVG! (Вы можете применить это условно к IE9, только используя условные стили, специфичные для браузера классы CSS и т. Д.) Конечно, создание PNG отлично подходит для градиентов размером с кнопку, но не для градиентов размера страницы!
HTML:
<span class="button">This is a button</span>
CSS:
span.button {
padding: 5px 10px;
border-radius: 10px;
background-color: orange;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAvUlEQVQ4y63VMQrDMAyF4d/BGJ+rhA4dOnTo0Kn3P4ExxnSoXVQhpx0kEMmSjyfiKAF4AhVoqrvqjXdtoqPoBMQAPAZwhMpaYkAKwH1gFtgG0v9IlyZ4E2BVabtKeZhuglegKKyqsWXFVboJXgZQfqSUCZOFATkAZwEVY/ymQAtKQJ4Jd4VZqARnuqyxmXAfiAQtFJEuG9dPwtMC0zD6YXH/ldAddB/Z/aW4Hxv3g+3+6bkvB/f15b5gXX8BL0z+tEEtuNA8AAAAAElFTkSuQmCC);
background-size: 100% 100%;
border: 2px solid white;
color: white;
}