2016-05-01 3 views
1

У меня проблема с удалением (границы) цвета из перекрывающегося линейного градиента. В IE 11 он работает так, как ожидалось. В Firefox есть небольшая видимая серая линия между градиентами. Как я могу удалить это?Удалить цвет границы из линейного градиента

arrow shows the problem

Я пробовал так:

.box2 { 
    background-image: -webkit-linear-gradient(154deg, red 67%, transparent 33%), -webkit-linear-gradient(26deg, transparent 67%, red 33%); 
    background-image: -moz-linear-gradient(154deg, red 67%, transparent 33%), -moz-linear-gradient(26deg, transparent 67%, red 33%); 
    background-image: -ms-linear-gradient(154deg, red 67%, transparent 33%), -ms-linear-gradient(26deg, transparent 67%, red 33%); 
    background-image: -o-linear-gradient(154deg, red 67%, transparent 33%), -o-linear-gradient(26deg, transparent 67%, red 33%); 
    background-image: linear-gradient(154deg, red 67%, transparent 33%), linear-gradient(26deg, transparent 67%, red 33%); 
    background-position: 0 0, 100% 0; 
    background-repeat: no-repeat; 
    background-size: 80% 100%; 
    height: 100px; 
    width: 100%; 
    border: 0; 
} 

Вот скрипку: https://jsfiddle.net/aam6roaf/

+0

В моей FF я не могу видеть его (FF 45.0.2) – Dmitry

+0

Дмитрий: очень странно. Я использую ту же FF-версию, но я все еще вижу «границу» или что-то еще ... какую ОС вы используете? Linux? ВЫИГРАТЬ? Mac? – Marco

ответ

1

я могу увидеть тот же самый вопрос в Firefox v45.0.2 или Windows, 10. В то время как я не знаю, почему эта строка появляется, она исчезает, когда я устанавливаю точки остановки цвета, как в приведенном ниже фрагменте. Установка цветовых остановок, как в приведенном ниже фрагменте, также имеет преимущество в создании более плавных угловых градиентов.

Это хорошо работает в Firefox v45.0.2, Chrome (v51.0.2704.19 dev-m), Opera v36, IE11 и Edge.

.box2 { 
 
    background-image: linear-gradient(154deg, red 67%, transparent 67.25%), linear-gradient(26deg, transparent 67%, red 67.25%); 
 
    background-position: 0 0, 100% 0; 
 
    background-repeat: no-repeat; 
 
    background-size: 80% 100%; 
 
    height: 100px; 
 
    width: 100%; 
 
    border: 0; 
 
}
<div class="box2"></div>

+1

Ну, это работает! Решение похоже, что второе значение (мои 33%) должно быть больше, чем значение frist. Я подтвердил это с некоторыми тестовыми значениями. – Marco

+0

Yep @Marco. Он всегда должен быть больше, потому что это, по сути, точка остановки/старта (и не заполняет проценты), поэтому второй цвет должен начинаться с точки, где первый заканчивается (или позже), но даже с 67,1% в качестве значения, есть крошечные видимые граничные линии в FF, которые не видны ни в одном другом браузере. Таким образом, это, вероятно, должно быть 67% + дельта. – Harry