Ví dụ
Đặt màu văn bản cho các phần tử khác nhau
tài liệu. getElementById("myH2"). phong cách. màu = "#ff0000";
tài liệu. getElementById("myP"). phong cách. color = "đỏ tươi";
tài liệu. getElementById("myP2"). phong cách. màu = "màu xanh";
tài liệu. getElementById("myDiv"). phong cách. màu = "xanh nhạt";
Định nghĩa và cách sử dụng
Thuộc tính color đặt hoặc trả về màu của văn bản
Hỗ trợ trình duyệt
Màu thuộc tính Có Có Có Có Cócú pháp
Trả về thuộc tính màu
Đặt thuộc tính màu
sự vật. phong cách. màu = "màu. ban đầu. thừa kế"
Giá trị tài sản
ValueDescriptioncolorChỉ định màu của văn bản. Xem Giá trị màu CSS để biết danh sách đầy đủ các giá trị màu có thể ban đầuĐặt thuộc tính này thành giá trị mặc định của nó. Đọc về khởi tạo Kế thừa thuộc tính này từ phần tử cha của nó. Đọc về thừa kếchi tiết kỹ thuật
Giá trị mặc định. không được chỉ định Giá trị trả về. Một Chuỗi, đại diện cho màu văn bản của một phần tửCSS Phiên bảnCSS1Thêm ví dụ
Ví dụ
Trả lại màu văn bản của một
yếu tố
cảnh báo (tài liệu. getElementById("myP"). phong cách. màu sắc);
Tự mình thử »Trang liên quan
hướng dẫn CSS. Văn bản CSS
tham chiếu CSS. thuộc tính màu
Cú pháp Markdown không có phương thức tích hợp để thay đổi màu văn bản. Chúng ta có thể sử dụng cú pháp HTML và LaTeX để thay đổi định dạng của từ
Đối với HTML, chúng ta có thể bọc văn bản trong thẻ và đặt màu bằng CSS, e. g. , text
Đối với PDF, chúng ta có thể sử dụng lệnh LaTeX \textcolor{}{}. Điều này yêu cầu gói LaTeX xcolor, được bao gồm trong mẫu LaTeX mặc định của Pandoc
Như một ví dụ về thay đổi màu sắc trong văn bản PDF
--- output: pdf_document --- Roses are \textcolor{red}{red}, violets are \textcolor{blue}{blue}.Trong ví dụ trên, bộ dấu ngoặc nhọn đầu tiên chứa màu văn bản mong muốn và bộ dấu ngoặc nhọn thứ hai chứa văn bản mà màu này sẽ được áp dụng
Nếu bạn muốn thiết kế tài liệu R Markdown cho nhiều định dạng đầu ra, bạn không nên nhúng mã HTML hoặc LaTeX thô vào tài liệu của mình, vì chúng sẽ bị bỏ qua trong các định dạng đầu ra khác (e. g. , mã LaTeX sẽ bị bỏ qua trong đầu ra HTML và các thẻ HTML sẽ bị mất trong đầu ra LaTeX). Tiếp theo, chúng tôi cung cấp hai phương pháp khả thi để giải quyết vấn đề này
Chúng ta có thể viết một hàm R tùy chỉnh để chèn đúng cú pháp tùy thuộc vào định dạng đầu ra bằng cách sử dụng các hàm is_latex_output() và is_html_output() trong knitr như sau
colorize <- function(x, color) { if (knitr::is_latex_output()) { sprintf("\\textcolor{%s}{%s}", color, x) } else if (knitr::is_html_output()) { sprintf("%s", color, x) } else x }
Sau đó, chúng ta có thể sử dụng mã trong biểu thức R nội tuyến `r colorize("some words in red", "red")`, sẽ tạo ra một số từ có màu đỏ (bạn sẽ không nhìn thấy màu đỏ nếu bạn đang đọc cuốn sách in đen trắng này)
Phương pháp này có thể hơi nâng cao đối với người dùng R vì nó liên quan đến một ngôn ngữ lập trình khác, Lua, nhưng nó cực kỳ hiệu quả—bạn có thể sửa đổi các phần tử Markdown theo chương trình thông qua các bộ lọc Lua của Pandoc (xem Phần ). Dưới đây là một ví dụ đầy đủ
--- title: "Color text with a Lua filter" output: html_document: pandoc_args: ["--lua-filter=color-text.lua"] pdf_document: pandoc_args: ["--lua-filter=color-text.lua"] keep_tex: true --- First, we define a Lua filter and write it to the file `color-text.lua`. ```{cat, engine.opts = list(file = "color-text.lua")} Span = function(el) color = el.attributes['color'] -- if no color attribute, return unchange if color == nil then return el end -- transform to if FORMAT:match 'html' then -- remove color attributes el.attributes['color'] = nil -- use style attribute instead el.attributes['style'] = 'color: ' . color . ';' -- return full span element return el elseif FORMAT:match 'latex' then -- remove color attributes el.attributes['color'] = nil -- encapsulate in latex code table.insert( el.content, 1, pandoc.RawInline('latex', '\\textcolor{'..color..'}{') ) table.insert( el.content, pandoc.RawInline('latex', '}') ) -- returns only span content return el.content else -- for other format return unchanged return el end end ``` Now we can test the filter with some text in brackets with the `color` attribute, e.g., > Roses are [red and **bold**]{color="red"} and > violets are [blue]{color="blue"}.
Trong ví dụ này, chúng tôi đã ngầm sử dụng một tiện ích mở rộng Pandoc Markdown tên là bracketed_spans, cho phép chúng tôi viết văn bản với các thuộc tính, e. g. , colorize <- function(x, color) { if (knitr::is_latex_output()) { sprintf("\\textcolor{%s}{%s}", color, x) } else if (knitr::is_html_output()) { sprintf("%s", color, x) } else x }0. Bộ lọc Lua được xác định trong đoạn mã colorize <- function(x, color) { if (knitr::is_latex_output()) { sprintf("\\textcolor{%s}{%s}", color, x) } else if (knitr::is_html_output()) { sprintf("%s", color, x) } else x }1 đặt văn bản ở dạng nếu định dạng đầu ra là HTML và ở dạng colorize <- function(x, color) { if (knitr::is_latex_output()) { sprintf("\\textcolor{%s}{%s}", color, x) } else if (knitr::is_html_output()) { sprintf("%s", color, x) } else x }3 nếu định dạng đầu ra là LaTeX. Bộ lọc Lua được ghi vào một tệp colorize <- function(x, color) { if (knitr::is_latex_output()) { sprintf("\\textcolor{%s}{%s}", color, x) } else if (knitr::is_html_output()) { sprintf("%s", color, x) } else x }4 và được kích hoạt thông qua tùy chọn dòng lệnh colorize <- function(x, color) { if (knitr::is_latex_output()) { sprintf("\\textcolor{%s}{%s}", color, x) } else if (knitr::is_html_output()) { sprintf("%s", color, x) } else x }5 được chuyển đến Pandoc thông qua tùy chọn colorize <- function(x, color) { if (knitr::is_latex_output()) { sprintf("\\textcolor{%s}{%s}", color, x) } else if (knitr::is_html_output()) { sprintf("%s", color, x) } else x }6 của các định dạng đầu ra
So với phương pháp trước, ưu điểm của việc sử dụng bộ lọc Lua là bạn vẫn có thể sử dụng cú pháp Markdown bên trong dấu ngoặc, trong khi sử dụng hàm R colorize <- function(x, color) { if (knitr::is_latex_output()) { sprintf("\\textcolor{%s}{%s}", color, x) } else if (knitr::is_html_output()) { sprintf("%s", color, x) } else x }7 trong phần trước không cho phép cú pháp Markdown (e. g. , colorize <- function(x, color) { if (knitr::is_latex_output()) { sprintf("\\textcolor{%s}{%s}", color, x) } else if (knitr::is_html_output()) { sprintf("%s", color, x) } else x }8 sẽ không được in đậm)