Shiny 設(shè)置 CSS樣式

原始文章鏈接

http://shiny.rstudio.com/articles/css.html

寫在前面

shiny 是基于Bootstrap 3.3.1,所以想使用其他css或者Bootstrap4 的樣式,就需要自己添加了。

三種方法

一、在head中鏈接css文件

  1. 將css文件放到同級(jí)www文件夾下面,通過 theme = "bootstrap.css" 來引入css。如下圖。但是如果你想用shinythemes 帶的樣式就要寫成這樣,theme = shinythemes::shinytheme("cosmo"),這樣我們只能選其一。


    image
shinyUI(fluidPage(theme = "bootstrap.css",
  headerPanel("New Application"), 
  sidebarPanel(
    sliderInput("obs", "Number of observations:", 
                min = 1, max = 1000, value = 500)
  ),
  mainPanel(plotOutput("distPlot"))
))
  1. 當(dāng)然還可以通過tags對(duì)象在head中鏈接CSS文件,沒有上面提到的沖突。需要注意的一點(diǎn)是,www文件夾下面文件引入時(shí),路徑直接為“filename”,而不是“www/filename”,引入圖片等都是這樣。
shinyUI(fluidPage(
  tags$head(
    tags$link(rel = "stylesheet", type = "text/css", href = "bootstrap.css")
  ),
  headerPanel("New Application"),
  sidebarPanel(
    sliderInput("obs", "Number of observations:", 
                min = 1, max = 1000, value = 500)
  ),
  mainPanel(plotOutput("distPlot"))
))

對(duì)應(yīng)的HTML就如下

<!DOCTYPE html>
<html>
  <head>
    <link type="text/css" rel="stylesheet" href="bootstrap.css"/>
  </head>
  <body>
  </body>
</html>

二、直接在head中寫入css樣式

  1. 使用style標(biāo)簽
shinyUI(fluidPage(
  tags$head(
    tags$style(HTML("
      @import url('//fonts.googleapis.com/css?family=Lobster|Cabin:400,700');
      h1 {
        font-family: 'Lobster', cursive;
        font-weight: 500;
        line-height: 1.1;
        color: #48ca3b;
    "))
  ),
  1. 使用函數(shù) includeCSS,這種方法要求讀入的css文件不必放在www文件夾下。這個(gè)方法和方法一中通過tags$link方法的區(qū)別是,此方法直接將css文件中所有的文本copy過來寫入到head中,而不是一個(gè)鏈接。


    image
shinyUI(fluidPage(
  includeCSS("styles.css"), 
  headerPanel("New Application"),
  sidebarPanel(
    sliderInput("obs", "Number of observations:", 
                min = 1, max = 1000, value = 500)
  ),
  mainPanel(plotOutput("distPlot"))
))

三、直接寫在不同的元素中而不是全局的head中

例如想修改某一個(gè)h標(biāo)簽的樣式。

headerPanel(
    h1("New Application", 
      style = "font-family: 'Lobster', cursive;
        font-weight: 500; line-height: 1.1; 
        color: #4d3a7d;")),

最后

注意css樣式?jīng)_突時(shí)的優(yōu)先級(jí)就行了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,825評(píng)論 1 45
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,163評(píng)論 1 92
  • 轉(zhuǎn)載自:http://web.jobbole.com/82197/ 前端的性能對(duì)于一個(gè)Web應(yīng)用來說非常重要,如果...
    天字一等閱讀 723評(píng)論 0 2
  • 簡述 通過前面練習(xí),應(yīng)該抓取簡單靜態(tài)頁面so easy,本節(jié)主要實(shí)現(xiàn)抓取動(dòng)態(tài)加載(JavaScript)內(nèi)容頁面。...
    過橋閱讀 755評(píng)論 0 1
  • 鍋鍋送給我的文字: 曾經(jīng)沒有覺得有一個(gè)物理性質(zhì)的小家有那么重要,一直以為家是存在心里的一種念想,一種感覺,一種牽掛...
    深夜里的貓閱讀 227評(píng)論 0 0

友情鏈接更多精彩內(nèi)容