2013-12-12 18 views
7

Tôi có một số giá trị HEX màu trong Stylus tương tự như sauChuyển đổi HEX để RGBA trong Stylus

$my-background ?= #123456 
$my-foreground ?= #ABCDEF 

và muốn sử dụng chúng trong các giá trị RGBA cho opacity, do đó

.my-class 
    background rgba($my-background, .5) 
    foreground rgba($my-foreground, .5) 

hoặc một cú pháp thay thế được biên dịch thành CSS dưới dạng

.my-class { 
    background rgba(18, 52, 86, .5); 
    foreground rgba(171, 205, 239, .5); 
} 

Có cách nhanh chóng và dễ dàng để sử dụng giá trị màu HEX trong rgba khi sử dụng Stylu s hoặc một plugin cho Stylus (chẳng hạn như nib)?

Trả lời

13

Trên thực tế, rgba trong Stylus hoạt động giống như thế, bạn đã thử những gì bạn đã viết? Trong Stylus

$my-background ?= #123456 
$my-foreground ?= #ABCDEF 

.my-class 
    background rgba($my-background, .5) 
    foreground rgba($my-foreground, .5) 

Sẽ thực sự biên dịch để

.my-class { 
    background: rgba(18,52,86,0.5); 
    foreground: rgba(171,205,239,0.5); 
} 

này có nghĩa là bạn chỉ có thể đi và làm những việc như rgba(black, 0.5), rgba(#FFF, 0.5) và sử dụng các biến bên trong của nó, giống như trong trường hợp của bạn.

+2

* mặt cọ * cảm ơn bạn – Metalshark

+0

@Metalshark Tôi đã đặt câu hỏi của bạn +1 vì tôi cũng không thử nó trước khi tìm kiếm trên internet. –

1

Cuối cùng tôi đã thực hiện chức năng của mình để làm điều này:

hextorgba(color, alpha = 1) 
    'rgba(' + red(color) + ', ' + green(color) + ', ' + blue(color) + ', ' + alpha + ')' 
Các vấn đề liên quan