Add scroll_box
diff --git a/R/scroll_box.R b/R/scroll_box.R
new file mode 100644
index 0000000..166545d
--- /dev/null
+++ b/R/scroll_box.R
@@ -0,0 +1,29 @@
+#' Put a HTML table into a scrollable box
+#'
+#' @description This function will put a HTML kable object in a fixed-height,
+#' fixed-width or both box and make it scrollable.
+#'
+#' @param kable_input A HTML kable object
+#' @param height A character string indicating the height of the box, e.g. "50px"
+#' @param width A character string indicating the width of the box, e.g. "100px"
+#'
+#' @export
+scroll_box <- function(kable_input, height = NULL, width = NULL) {
+  kable_attrs <- attributes(kable_input)
+  out <- as.character(kable_input)
+  box_styles <- c()
+  if (!is.null(height)) {
+    box_styles <- c(box_styles,
+                    paste0("overflow-y: scroll; height:", height, "; "))
+  }
+  if (!is.null(width)) {
+    box_styles <- c(box_styles,
+                    paste0("overflow-x: scroll; width:", width, "; "))
+  }
+  out <- paste0('<div style="', paste(box_styles, collapse = ""), '">',
+                out, '</div>')
+  out <- structure(out, format = "html",
+                   class = "knitr_kable")
+  attributes(out) <- kable_attrs
+  return(out)
+}