Eu tenho o seguinte código:
@color : #d14836;
.stripes span {
-webkit-background-size: 30px 30px;
-moz-background-size: 30px 30px;
background-size: 30px 30px;
background-image: -webkit-gradient(linear, left top, right bottom,
color-stop(.25, rgba(209, 72, 54, 1)), color-stop(.25, transparent),
color-stop(.5, transparent), color-stop(.5, rgba(209, 72, 54, 1)),
color-stop(.75, rgba(209, 72, 54, 1)), color-stop(.75, transparent),
to(transparent));
Eu preciso converter @color
para rgba(209, 72, 54, 1)
.
Portanto, preciso substituir rgba(209, 72, 54, 1)
no meu código uma função Less que gere um rgba()
valor da minha @color
variável.
Como posso fazer isso com menos?
Respostas:
Na verdade, a linguagem Less vem com uma função incorporada chamada
fade
. Você passa um objeto colorido e a% absoluta de opacidade (valor mais alto significa menos transparente):fonte
50%
, é corretamente transparência e opacidade. :)Se você não precisar de uma chave alfa, pode simplesmente usar a representação hexadecimal da cor. Uma cor rgba com um alfa de '1' é igual ao valor hexadecimal.
Aqui estão alguns exemplos para demonstrar que:
Teste este código online: http://lesstester.com/
fonte
error evaluating function 'red': Cannot read property '0' of undefined
@colorGold: color('#C6AF87'); .box { background-color: rgba(red(@colorGold),green(@colorGold),blue(@colorGold),0.3); }
erro é - Não foi possível compilar o arquivo CSS (screen.less): cor esperada para red (): falha em `background-color: rgba ( vermelho (@colorGold), verde (@colorGold), azul (@colorGold), 0,3);@colorGold: #C6AF87;
My Less mixin:
Tente.
EDITADO: Como visto no plano de fundo rgba com a alternativa de filtro do IE: o IE9 renderiza os dois! , Adicionei algumas linhas ao mixin.
fonte
Parece que com a recente atualização Less 3.81 , você pode usar apenas dois argumentos na função rgba ().
Funciona para mim, mas não consigo encontrá-lo na documentação oficial .
fonte