Let me inform you that yes, for each column, you can calculate breaks, assign colors, and apply a style:
library(DT)
library(viridis)
df = iris[1:4]
brks1 <- quantile(df$Sepal.Length, probs = seq(.05, .95, .05), na.rm = TRUE)
clrs1 <- viridis::viridis(n=length(brks1)+1, alpha=.5, direction = -1)
brks2 <- quantile(df$Petal.Length, probs = seq(.05, .95, .05), na.rm = TRUE)
clrs2 <- viridis::inferno(n=length(brks2)+1, alpha=.5, direction = -1)
datatable(df) %>%
formatStyle("Sepal.Length", backgroundColor = styleInterval(brks1, clrs1)) %>%
formatStyle("Petal.Length", backgroundColor = styleInterval(brks2, clrs2))