diff --git a/R/cell_spec.R b/R/cell_spec.R
index 0774fcb..bc7af1e 100644
--- a/R/cell_spec.R
+++ b/R/cell_spec.R
@@ -32,6 +32,7 @@
 #' bootstrap module manually. Read the package vignette to see how.
 #' @param link A vector of strings for url links. Can be used together with
 #' tooltip and popover.
+#' @param extra_css Extra css text to be passed into the cell
 #' @param escape T/F value showing whether special characters should be escaped.
 #' @param background_as_tile T/F value indicating if you want to have round
 #' cornered tile as background in HTML.
@@ -46,6 +47,7 @@
                       color = NULL, background = NULL,
                       align = NULL, font_size = NULL, angle = NULL,
                       tooltip = NULL, popover = NULL, link = NULL,
+                      extra_css = NULL,
                       escape = TRUE,
                       background_as_tile = TRUE,
                       latex_background_in_cell = TRUE) {
@@ -61,7 +63,7 @@
   if (tolower(format) == "html") {
     return(cell_spec_html(x, bold, italic, monospace,
                           color, background, align, font_size, angle,
-                          tooltip, popover, link,
+                          tooltip, popover, link, extra_css,
                           escape, background_as_tile))
   }
   if (tolower(format) == "latex") {
@@ -73,7 +75,7 @@
 
 cell_spec_html <- function(x, bold, italic, monospace,
                            color, background, align, font_size, angle,
-                           tooltip, popover, link,
+                           tooltip, popover, link, extra_css,
                            escape, background_as_tile) {
   if (escape) x <- escape_html(x)
   cell_style <- NULL
@@ -92,6 +94,9 @@
       "background-color: ", html_color(background), ";"
     )
   }
+  if (!is.null(extra_css)) {
+    cell_style <- paste0(cell_style, extra_css)
+  }
   if (!is.null(align)) {
     cell_style <- paste0(cell_style, "text-align: ", align, ";")
   }
diff --git a/R/column_spec.R b/R/column_spec.R
index 55e01a1..a640a4d 100644
--- a/R/column_spec.R
+++ b/R/column_spec.R
@@ -23,6 +23,8 @@
 #' @param border_right A logical variable indicating whether there should be a
 #' border line on the right of the selected column. In HTML, you can also pass
 #' in a character string for the CSS of the border line
+#' @param extra_css Extra css text to be passed into the cells of the row. Note
+#' that it's not for the whole column but to each individual cells
 #'
 #' @examples x <- knitr::kable(head(mtcars), "html")
 #' column_spec(x, 1:2, width = "20em", bold = TRUE, italic = TRUE)
@@ -31,7 +33,8 @@
 column_spec <- function(kable_input, column,
                         width = NULL, bold = FALSE, italic = FALSE,
                         monospace = FALSE, color = NULL, background = NULL,
-                        border_left = FALSE, border_right = FALSE) {
+                        border_left = FALSE, border_right = FALSE,
+                        extra_css = NULL) {
   if (!is.numeric(column)) {
     stop("column must be numeric. ")
   }
@@ -44,7 +47,7 @@
     return(column_spec_html(kable_input, column, width,
                             bold, italic, monospace,
                             color, background,
-                            border_left, border_right))
+                            border_left, border_right, extra_css))
   }
   if (kable_format == "latex") {
     return(column_spec_latex(kable_input, column, width,
@@ -57,7 +60,7 @@
 column_spec_html <- function(kable_input, column, width,
                              bold, italic, monospace,
                              color, background,
-                             border_left, border_right) {
+                             border_left, border_right, extra_css) {
   kable_attrs <- attributes(kable_input)
   kable_xml <- read_kable_as_xml(kable_input)
   kable_tbody <- xml_tpart(kable_xml, "tbody")
@@ -118,6 +121,10 @@
         xml_attr(target_cell, "style") <- paste0(xml_attr(target_cell, "style"),
                                                  "border-right:", border_r_css, ";")
       }
+      if (!is.null(extra_css)) {
+        xml_attr(target_cell, "style") <- paste0(xml_attr(target_cell, "style"),
+                                                 extra_css)
+      }
     }
   }
 
diff --git a/R/row_spec.R b/R/row_spec.R
index 6ab31ec..d58493c 100644
--- a/R/row_spec.R
+++ b/R/row_spec.R
@@ -23,6 +23,8 @@
 #' options including `xx-small`, `x-small`, `small`, `medium`, `large`,
 #' `x-large`, `xx-large`, `smaller`, `larger`, `initial` and `inherit`.
 #' @param angle 0-360, degree that the text will rotate.
+#' @param extra_css Extra css text to be passed into the cells of the row. Note
+#' that it's not for the whole row.
 #'
 #' @examples x <- knitr::kable(head(mtcars), "html")
 #' row_spec(x, 1:2, bold = TRUE, italic = TRUE)
@@ -31,7 +33,7 @@
 row_spec <- function(kable_input, row,
                      bold = FALSE, italic = FALSE, monospace = FALSE,
                      color = NULL, background = NULL, align = NULL,
-                     font_size = NULL, angle = NULL) {
+                     font_size = NULL, angle = NULL, extra_css) {
   if (!is.numeric(row)) {
     stop("row must be numeric. ")
   }
@@ -42,7 +44,8 @@
   }
   if (kable_format == "html") {
     return(row_spec_html(kable_input, row, bold, italic, monospace,
-                         color, background, align, font_size, angle))
+                         color, background, align, font_size, angle,
+                         extra_css))
   }
   if (kable_format == "latex") {
     return(row_spec_latex(kable_input, row, bold, italic, monospace,
@@ -51,7 +54,8 @@
 }
 
 row_spec_html <- function(kable_input, row, bold, italic, monospace,
-                          color, background, align, font_size, angle) {
+                          color, background, align, font_size, angle,
+                          extra_css) {
   kable_attrs <- attributes(kable_input)
   kable_xml <- read_kable_as_xml(kable_input)
 
@@ -67,7 +71,7 @@
     for (theader_i in 1:length(xml_children(original_header_row))) {
       target_header_cell <- xml_child(original_header_row, theader_i)
       xml_cell_style(target_header_cell, bold, italic, monospace, color, background,
-                     align, font_size, angle)
+                     align, font_size, angle, extra_css)
     }
     row <- row[row != 0]
   }
@@ -86,7 +90,7 @@
       for (i in 1:length(xml_children(target_row))) {
         target_cell <- xml_child(target_row, i)
         xml_cell_style(target_cell, bold, italic, monospace, color, background,
-                       align, font_size, angle)
+                       align, font_size, angle, extra_css)
       }
     }
   }
@@ -97,7 +101,7 @@
 }
 
 xml_cell_style <- function(x, bold, italic, monospace, color, background,
-                           align, font_size, angle) {
+                           align, font_size, angle, extra_css) {
   if (bold) {
     xml_attr(x, "style") <- paste0(xml_attr(x, "style"),
                                    "font-weight: bold;")
@@ -136,6 +140,9 @@
                                    "deg); transform: rotate(", angle,
                                    "deg);")
   }
+  if (!is.null(extra_css)) {
+    xml_attr(x, "style") <- paste0(xml_attr(x, "style"), extra_css)
+  }
   return(x)
 }
 
diff --git a/inst/NEWS.md b/inst/NEWS.md
index 5f6052f..48bb7b9 100644
--- a/inst/NEWS.md
+++ b/inst/NEWS.md
@@ -1,5 +1,8 @@
 kableExtra 0.7.0
-* Add HTML color code support to kableExtra
+* Added HTML color code support to kableExtra
+* Fixed bug #105: bold/italic/monospace cannot accept T/F as vector
+* Added extra_css to cell_spec, row_spec & column_spec
+
 
 kableExtra 0.6.1
 --------------------------------------------------------------------------------
diff --git a/man/cell_spec.Rd b/man/cell_spec.Rd
index 40966ca..d50b580 100644
--- a/man/cell_spec.Rd
+++ b/man/cell_spec.Rd
@@ -8,7 +8,7 @@
 cell_spec(x, format, bold = FALSE, italic = FALSE, monospace = FALSE,
   color = NULL, background = NULL, align = NULL, font_size = NULL,
   angle = NULL, tooltip = NULL, popover = NULL, link = NULL,
-  escape = TRUE, background_as_tile = TRUE,
+  extra_css = NULL, escape = TRUE, background_as_tile = TRUE,
   latex_background_in_cell = TRUE)
 
 text_spec(x, format, bold = FALSE, italic = FALSE, monospace = FALSE,
@@ -61,6 +61,8 @@
 \item{link}{A vector of strings for url links. Can be used together with
 tooltip and popover.}
 
+\item{extra_css}{Extra css text to be passed into the cell}
+
 \item{escape}{T/F value showing whether special characters should be escaped.}
 
 \item{background_as_tile}{T/F value indicating if you want to have round
diff --git a/man/column_spec.Rd b/man/column_spec.Rd
index bbbd3a4..c3f0e35 100644
--- a/man/column_spec.Rd
+++ b/man/column_spec.Rd
@@ -6,7 +6,7 @@
 \usage{
 column_spec(kable_input, column, width = NULL, bold = FALSE,
   italic = FALSE, monospace = FALSE, color = NULL, background = NULL,
-  border_left = FALSE, border_right = FALSE)
+  border_left = FALSE, border_right = FALSE, extra_css = NULL)
 }
 \arguments{
 \item{kable_input}{Output of \code{knitr::kable()} with \code{format} specified}
@@ -38,6 +38,9 @@
 \item{border_right}{A logical variable indicating whether there should be a
 border line on the right of the selected column. In HTML, you can also pass
 in a character string for the CSS of the border line}
+
+\item{extra_css}{Extra css text to be passed into the cells of the row. Note
+that it's not for the whole column but to each individual cells}
 }
 \description{
 This function allows users to select a column and then specify
diff --git a/man/row_spec.Rd b/man/row_spec.Rd
index 6b037ea..0338b13 100644
--- a/man/row_spec.Rd
+++ b/man/row_spec.Rd
@@ -6,7 +6,7 @@
 \usage{
 row_spec(kable_input, row, bold = FALSE, italic = FALSE,
   monospace = FALSE, color = NULL, background = NULL, align = NULL,
-  font_size = NULL, angle = NULL)
+  font_size = NULL, angle = NULL, extra_css)
 }
 \arguments{
 \item{kable_input}{Output of \code{knitr::kable()} with \code{format} specified}
@@ -38,6 +38,9 @@
 \code{x-large}, \code{xx-large}, \code{smaller}, \code{larger}, \code{initial} and \code{inherit}.}
 
 \item{angle}{0-360, degree that the text will rotate.}
+
+\item{extra_css}{Extra css text to be passed into the cells of the row. Note
+that it's not for the whole row.}
 }
 \description{
 This function allows users to select a row and then specify
diff --git a/tests/visual_tests/cell_spec_html.Rmd b/tests/visual_tests/cell_spec_html.Rmd
index e56a260..233c13a 100644
--- a/tests/visual_tests/cell_spec_html.Rmd
+++ b/tests/visual_tests/cell_spec_html.Rmd
@@ -43,3 +43,18 @@
   row_spec(0, angle = 270, align = "right") %>%
   kable_styling(full_width = F) 
 ```
+
+```{r}
+mtcars[1:10, 1:2] %>%
+  mutate(
+    car = row.names(.),
+    # You don't need format = "html" if you have ever defined options(knitr.table.format)
+    mpg = cell_spec(mpg, "html", bold = ifelse(mpg > 20, TRUE, FALSE)),
+    cyl = cell_spec(cyl, "html", color = "white", align = "c", angle = 45, 
+                    background = factor(cyl, c(4, 6, 8), 
+                                        c("#666666", "#999999", "#BBBBBB")))
+  ) %>%
+  select(car, mpg, cyl) %>%
+  knitr::kable("html", escape = F) %>%
+  kable_styling("striped", full_width = F)
+```
