2013-06-12 3 views
1

Почему, когда я применяю прозрачную рамку к div с линейным градиентом, граница не прозрачна сверху и снизу.Граница не прозрачная с линейным градиентом

div { 
    width: 300px; 
    height: 300px; 
    background: linear-gradient(pink, red); 
    border: 20px solid transparent; 

}

скриншот http://i43.tinypic.com/2r3gjmx.png

+1

Я не понимал, что вы пытаетесь сказать. –

ответ

-1

вам нужно использовать некоторые вещи, как этот

div{ 
    width: 300px; 
    height: 300px; 
    background: linear-gradient(pink, red); 
    border: 20px solid rgba(0,0,0,0.3); 
    -moz-background-clip: padding; 
    -webkit-background-clip: padding; 
    background-clip: padding-box; 
} 
+0

Да. оно работает. Но почему прозрачная граница отображается некорректно? Это ошибка? – dimann90

+0

для прозрачной границы вы должны использовать код RGB, такой как rgba (0,0,0,0,3) –

+0

0,3 - количество прозрачности –

1

@ dimann90 имеет правильное решение в комментариях. Используйте элемент background-repeat: no-repeat.

Вот почему это работает:

Фоновое изображение повторяет бесконечно в направлениях х и у по умолчанию. Линейный градиент - это фоновое изображение, а размер этого изображения контролируется размером окна содержимого (это фактически more complicated, но это достаточно хорошо для наших целей). Фон элемента распространяется через прокладку и границу (но не на маржу). Таким образом, граница приведет к тому, что общий размер поля элемента будет больше, чем сформированное фоновое изображение, и оно будет повторяться. Если граница прозрачна, то повторяющееся изображение будет отображаться.

+0

Решает эту проблему, но по какой-то причине сглаживание теряется в Chrome на OSX при установке 'no-repeat'. Кроме того, причина, по которой я лично использую прозрачную рамку, заключается в том, что элемент имеет те же размеры, что и элемент _with_ border (у меня есть две кнопки рядом друг с другом - одна с градиентом bg, одна с прозрачной bg и границей) , При настройке 'no-repeat', который больше не работает (прозрачная кнопка с границей теперь имеет ширину' border-width' больше, чем другая) – powerbuoy

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

  • Нет связанных вопросов^_^