1 điểm bởi GN⁺ 2024-12-21 | 1 bình luận | Chia sẻ qua WhatsApp
  • Thiết lập màu chữ trên trang web

    • Thông thường, dùng thuộc tính color của CSS để thiết lập màu chữ trên trang web.
    • Tuy nhiên, cũng có cách định nghĩa màu chỉ bằng HTML.
  • Thuộc tính màu trong HTML

    • Ở các phiên bản HTML trước đây, có thể dùng thuộc tính color để đặt màu chữ.
    • Ví dụ, dùng như sau: <font color="#d72b2b">HTMHell rules!</font>.
    • Khi chạy đoạn mã này trên trình duyệt, văn bản sẽ hiển thị màu đỏ.
  • Xử lý giá trị màu không hợp lệ

    • HTML nhìn chung không có trạng thái lỗi, và trình duyệt sẽ cố xử lý các giá trị sai nhiều nhất có thể.
    • Ví dụ, ngay cả một giá trị màu không hợp lệ như <font color="chucknorris"> cũng sẽ được trình duyệt xử lý thành màu đỏ.
  • Quy tắc phân tích giá trị màu

    • Dọn dẹp ban đầu: loại bỏ ký tự # ở đầu giá trị.
    • Thay thế ký tự không hợp lệ: các ký tự không nằm trong 0-9 hoặc A-F/a-f sẽ được thay bằng 0.
    • Chuẩn hóa độ dài: nếu chuỗi có độ dài bằng 0 hoặc không phải bội số của 3 thì thêm 0 vào.
    • Chia thành RGB: chia chuỗi thành ba phần để dùng lần lượt làm giá trị đỏ, xanh lá và xanh dương.
    • Xử lý độ dài: nếu mỗi thành phần dài quá 8 ký tự thì loại bỏ từ bên trái.
    • Tạo màu cuối cùng: kết hợp các giá trị đỏ, xanh lá và xanh dương cuối cùng để tạo ra màu.
  • Cách trình duyệt hiện đại xử lý màu sắc

    • Khi xử lý giá trị màu không hợp lệ, CSS không bác bỏ giá trị mà sẽ điều chỉnh lại.
    • Ví dụ, rgb(300, -50, 1000) sẽ được chuyển thành rgb(255, 0, 255).
  • Sự linh hoạt của web

    • Web được xây dựng dựa trên tính linh hoạt, nhờ đó các website từ năm 1996 vẫn có thể được render trên trình duyệt hiện đại.
    • Một web hoàn hảo có thể sẽ nhàm chán, và web cần có khả năng xử lý nhiều kiểu đầu vào khác nhau.
  • Tài liệu tham khảo

    • Cung cấp thêm thông tin về tiêu chuẩn HTML và cách phân tích màu sắc.

1 bình luận

 
GN⁺ 2024-12-21
Ý kiến Hacker News
  • Có vẻ bài viết này đã tái sử dụng nội dung từ một câu hỏi trên Stack Overflow cách đây 13 năm

    • Những thứ thú vị được tạo ra trên Internet rồi sẽ bị đem đi phục vụ marketing
    • Thật tiếc khi những người dùng Reddit lâu năm và các thành viên đóng góp trên diễn đàn không nhận được giá trị từ những gì công sức của họ đã tạo ra
    • Ít nhất thì nó cũng được tham chiếu ở phần cuối bài viết
  • Thích kết quả 'chocolate' bị rút gọn thành '#c0c0a0'

  • Bài viết hay, nhưng tác giả đã nhầm: chucknorris không được render thành màu đỏ, mà màu đỏ được render thành chucknorris

  • Tôi thích tính dễ dãi của web

    • Sự nghiêm ngặt như TypeScript rất tốt cho doanh nghiệp và công việc
    • Tính dễ dãi của HTML, CSS và JavaScript đã thúc đẩy mức độ chấp nhận rộng rãi
    • Khi nhìn Rust đối mặt với nhiều vấn đề, có lẽ đây không phải vấn đề của ngôn ngữ mà là quy mô của hệ sinh thái
    • Nếu muốn sự nghiêm ngặt và hoàn hảo, ứng dụng native sẽ phù hợp hơn
    • Web render rất nhanh
  • Chuck Norris không phải là màu

    • Trình duyệt sợ phải chỉ ra điều đó
  • Có thể thay chữ "o" bằng "0"

    • Ví dụ: 'coffee' được chuyển thành '#c0ffee'
    • 'baobab' thành '#ba0bab', 'decode' thành '#dec0de'
  • Có ý kiến cho rằng trình duyệt nên bớt dễ dãi và buộc phải hoàn hảo hơn

    • Một web hoàn hảo sẽ rất nhàm chán
    • Điều quan trọng là làm cho web khiến bất cứ thứ gì cũng hoạt động được
    • Điều quan trọng là ngăn sự không nhất quán đối với các tiêu chuẩn
  • Đúng là thái độ dễ dãi đã tạo điều kiện cho tội phạm máy tính

    • Bảo mật là cái giá quan trọng phải trả
    • Những người yêu thích công nghệ cũ có thể chạy trình duyệt web cũ trong VM sandbox
  • Có thể đây là một phép chuyển đổi sang màu đỏ ngoài ý muốn