2013-05-22 20 views
6

mam powtarzać gradient liniowy tak:Chrome gradient liniowy bug

.placeholder { 
background: repeating-linear-gradient(to top right, #7722AA 0px, #7722AA 6%, #CC44EE 6%, #CC44EE 13%) transparent; 
border: 1px solid #000000; 
float: left; 
height: 110px; 
width: 120px; 
} 

Jednak w Chrome, Firefox na Mac i opery wygląd jest przekrzywiony: enter image description here

To działa dobrze, gdy w kwadracie, ale gdy staje się prostokątem, staje się postrzępiony - to samo nie występuje we wszystkich innych przeglądarkach.

Co to powoduje?

jsfiddle

+0

To po prostu sposób renderowania ... – Xarcell

+0

@Xarcell ... tak? Nie oznacza to, że jest poprawnie renderowany ... – rickyduck

+0

co mam na myśli to, że jest to najlepsze, co Chrome może teraz zrobić. Po prostu nie dostaniesz nierównych linii pod tym kątem. Ustaw kąt lub rób to, co mówi Blazemonger, dodaj trochę rozmycia ... – Xarcell

Odpowiedz

2

Może chcesz:

.placeholder { 
background: repeating-linear-gradient(45deg, #7722AA 0px, #7722AA 6%, #CC44EE 6%, #CC44EE 13%) transparent; 
border: 1px solid #000000; 
float: left; 
height: 110px; 
width: 120px; 
} 

?

+0

Idealne rozwiązanie, dzięki! – rickyduck

+0

Ponieważ pudełko jest prostokątne, a nie kwadratowe, kąt od górnego prawego rogu do dolnej krawędzi nie wynosi 45 stopni. W zależności od biblioteki rysunków używanej przez przeglądarkę, kąty, które nie są wielokrotnością 45 stopni, mogą być rozmyte. –

1

Jednym ze sposobów jest rozłożyć gradientu nieco więcej. Dodanie przejścia gradientu o wartości 2% na każdą stronę paska powoduje lekkie rozmycie, które zaciemnia zasłony bez eliminacji krawędzi.

repeating-linear-gradient(to top right, #CC44EE 0px, #7722AA 2%, #7722AA 7%, #CC44EE 9%, #CC44EE 14%) transparent 

http://jsfiddle.net/mblase75/FrT6Y/

celu zwiększenia rozmycia wzdłuż krawędzi z paskiem zwiększyć o 2% do 3% lub więcej, a następnie spada do 7% do 6% lub więcej, aby utrzymać pasy tego samego rozmiaru:

repeating-linear-gradient(to top right, #CC44EE 0px, #7722AA 3%, #7722AA 6%, #CC44EE 9%, #CC44EE 14%) transparent 

http://jsfiddle.net/mblase75/FrT6Y/5/

+0

Niestety, moim pożądanym rezultatem jest renderowanie oryginalnego kodu w FF, IE i Presto, co jest poprawne – rickyduck

+1

Może być wart [raport błędu] (https: //groups.google.com/a/chromium.org/forum/?fromgroups#!forum/chromium-bugs), a następnie. Chociaż Firefox dla Mac daje mi takie same strzępy. – Blazemonger

+0

Interesujące w odniesieniu do tego samego problemu na FF na Macu - dziękuję. – rickyduck