2015-10-20 7 views
1

Я использую этот код для элемента, который у меня есть, что по сути приводит к одному скошенному углу в правом нижнем углу (чтобы выглядеть как старинная фотография по существу).Ошибка CSS3 линейного градиента в Google Chrome

Код прекрасно работает в Firefox и Safari, но в Chrome я вижу странную линию see-thru, вертикально проходящую через середину (см. Ниже).

код взят из этого урока: click here

enter image description here

Даже более странным является тот факт, что происходит только на некоторых из присутствующих элементов.

Вот код CSS3 в его нынешнем виде:

padding:     10px; 
background:     #FFF; 
background: 
    linear-gradient(135deg, transparent 0px, #FFF 0px) top left, 
    linear-gradient(225deg, transparent 0px, #FFF 0px) top right, 
    linear-gradient(315deg, transparent 10px, #FFF 0px) bottom right, 
    linear-gradient(45deg, transparent 0px, #FFF 0px) bottom left; 

background-size: 50% 50%; 
background-repeat: no-repeat; 

JSFiddle здесь! http://jsfiddle.net/8wzk42ep/

+1

Любые демо, на которые мы можем смотреть? Если вы ищете скошенный граничный градиент, вы также можете посмотреть на градиент, который я использовал в [этом ответе] (http://stackoverflow.com/questions/32996454/css-folded-corner-effect-transparent-background/32996982 # 32996982). – Harry

+0

попробуйте с '-webkit' –

+0

@Harry Я добавил ссылку на скрипт JS выше – WebDevDanno

ответ

0

Вы можете использовать следующее решение:

html, body { 
 
    background-color:#000; 
 
} 
 
div.box { 
 
    padding:10px; 
 
    background:#fff; 
 
    background: 
 
    linear-gradient(135deg, transparent 0px, #fff 0px) top left, 
 
    linear-gradient(225deg, transparent 0px, #fff 0px) top right, 
 
    linear-gradient(315deg, transparent 10px, #fff 0px) bottom right, 
 
    linear-gradient(45deg, transparent 0px, #fff 0px) bottom left; 
 
    background-size:51% 51%; /** changed to 51% */ 
 
    background-repeat:no-repeat; 
 
}
<div class="box"> 
 
    <h1> Hello there! </h1> 
 
</div>

Объяснение:
Я думаю, что это ошибка в Google Chrome или способ, как Google Chrome укоротить размеры. Если вы измените размер окна на меньший размер, появится горизонтальная линия. С помощью этого простого решения вы можете обойти обе линии (вертикальные и горизонтальные).

Нужно только заменить background-size: 50% 50%; на background-size: 51% 51%;.

+0

Ах, это сработало! Качественный товар! Не могли бы вы немного объяснить, почему это исправило проблему? – WebDevDanno

+0

Спасибо за помощь. Очень ценю это, что смотреть через линию U-G-L-Y! : D – WebDevDanno

+0

Проблема возникает из-за того, что Chrome усекает измерение. Если элемент имеет ширину значения нечетного пикселя (например, 51px), размер фона составляет 25 пикселей (округляется до ближайшего целочисленного значения), и 1px не распространяется – vals

Смежные вопросы