- tôi đặt một rgba() bg màu trong Chrome (Win7, 19.0.1084.56)
- tôi nhận được background-color với window.getComputedStyle(), & nó khác
- tôi đặt lấy giá trị trên một yếu tố mới
- tôi lấy nó một lần nữa, của nó khác nhau một lần nữa
đây là một fiddle: http://jsfiddle.net/zupa/KsuMp/Chrome getComputedStyle() trả về màu RGBA sai?
01.Trong trường hợp của tôi, 4 khối đầu tiên có các nội dung sau đây trong Chrome:
- bg-color: rgba (255, 0, 0, 0,503906)
- bg-color: rgba (255, 0 , 0, 0,5)
- bg-color: rgba (255, 0, 0, 0,496094)
- bg-color: rgba (255, 0, 0, 0,496094)
Trong Firefox, tôi nhận được hằng số rgba (255, 0, 0, 0.506)
Vì vậy, điều này có vẻ là một lỗi. Bạn có thể chứng minh cho tôi sai hoặc đề xuất cách giải quyết khác không? Tôi cần màu sắc cho một trình soạn thảo wysiwyg và điều này là giết chết các bài kiểm tra đơn vị của tôi.
Thú vị. Tôi đoán đó là lỗi làm tròn. Nếu bạn sử dụng '0,5' làm giá trị - http://jsfiddle.net/Synmu/1/ - bạn nhận được kết quả nhất quán (nhưng không phải là' 0,5'). – fuxia
@toscho - kết quả nhất quán mà nó trả về chính xác là 1/256 cách 0.5, vì vậy khi tôi thấy nó chuyển đổi 0.5 thành x7F thay vì x80. Điều này có ý nghĩa vì chúng không thể ánh xạ từ 1.0 đến x100 vì giá trị cao nhất có thể là xFF. Vì vậy, đó có thể là một tinh chỉnh để phù hợp với quy mô có sẵn? – zupa
Đây là trường hợp còn tệ hơn: http://jsfiddle.net/zupa/KsuMp/27/ -> giảm 10% xuống 0% OMG. Nhưng nó sẽ không giảm từ 11%: http://jsfiddle.net/zupa/KsuMp/29/ – zupa