css 选择输入动画为闪亮

hivapdat  于 2023-04-08  发布在  其他
关注(0)|答案(1)|浏览(111)

你好我很新的样式光泽与css和有一种方法来改变选择输入光泽

fluidRow(
        tags$head(
          tags$style(
            "
                        .brand-picker button.btn.dropdown-toggle.btn-default {
                          background-color: #eaeaea;
                          color: black;
                          font-weight: bold;
                          transition: transform 0.2s ease-in-out;
                        }
                        
                        .brand-picker button.btn.dropdown-toggle.btn-default.collapsed {
                         transform: rotate(180deg);
                        }
                        "
          )
        ),
          column(4, tags$div(
            shinyWidgets::pickerInput(
              inputId = "brand", "Brand", 
              choices = unique(df1$Brand), 
              selected = "Kanzler",
              options = list(`actions-box` = TRUE),
              multiple = T), 
            class = "brand-picker"
            )),)

我尝试了这段代码,但什么也没发生,我只是想箭头动画和其余的只是设置为默认像正常的选择输入
我的预期结果是箭头动画是从下向上移动时,我们点击选择输入

gblwokeq

gblwokeq1#

你的问题中没有足够的代码来真正回答你的具体问题。我的猜测是,你需要包括JavaScript而不仅仅是CSS来让动画正常工作。也有可能CSS针对的是错误的选择器。
可能有一个R包已经实现了你想要的下拉菜单类型,但是我会以不同的方式回答这个问题,通过展示你可以直接在一个shiny应用程序中包含原始HTML,CSS和JavaScript,所以你可以制作一个直接使用你的示例代码的shiny应用程序。
示例链接:codepen.io/zoomodesign/pen/yNbVVZ

以下是如何通过 * 直接使用他们的原始代码*来重新制作您在评论中链接到的示例。我不建议在生产环境中这样做,但它可以帮助您了解并找出您想要为他们的项目提供的代码片段。

第0步:如果您使用的是rstudio,请创建一个shiny应用程序作为项目

你可以通过创建一个新项目,然后选择shiny app作为项目类型来实现这一点。这实际上不是必需的,但可能会使事情变得更容易。

第一步:在应用程序目录中创建www/文件夹

您可以使用此dir.create("www")执行此操作

第二步:创建三个空白文件

如果您使用的是RStudio,您可以直接创建HTML、CSS和Javascript文件,方法是单击新建文件,然后选择正确的文件类型。在本示例中,使用以下名称保存文件:

  1. css_from_your_example.css将此文件保存在应用程序的www/文件夹中。确保文件扩展名为.css
  2. js_from_your_example.js将此文件保存在应用程序的www/文件夹中。确保文件扩展名为.css
    1.. html_from_your_example.html将此文件保存在应用程序的主目录中。如果您为应用程序创建了项目,则此目录也应该是工作目录

第三步:复制和粘贴HTML、CSS和Javascript

将HTML复制到.html文件中,将CSS复制到.css文件中,将JavaScript复制到.js文件中。

第四步:包括HTML、CSS和JavaScript到你的闪亮的UI

有很多方法可以做到这一点,这里有一些参考:

下面是shiny的R代码:

library(shiny)

ui <- fluidPage(   

# include css in the head section

tags$head(
  tags$link(rel = "stylesheet", type = "text/css", href = "css_from_your_example.css")
), 

# Include the HTML wherever you want it to appear in your shiny

includeHTML("html_from_your_example.html"),

# I include scripts at the end

tags$script(src = "js_from_your_example.js")

)

server <- function(...){}

shinyApp(ui, server)

下面是shiny的样子

第五步根据需要修改

这是一个如何在一个闪亮的应用程序中使用HTML,CSS和Javascript的例子。直接复制并不是一个很好的长期策略,因为这是陈词滥调,但也因为你最终需要修改一些东西来满足你的规范。这里有一些关于如何从你的例子中找到你想要的项目的JS和CSS片段的想法:
你可以使用浏览器中的开发者工具找到css选择器,右键点击“inspect”或“developer tools”,然后左键点击“inspect”或“developer tools”。
在开发者工具中,你可以直接修改css并在运行时运行javascript。Shiny有时会有意想不到的类名和额外的容器,所以开发者工具对于找到正确的选择器非常有用。你使用开发者工具所做的任何CSS更改都可以直接复制并粘贴回你正在为你的shiny应用使用的css文件。
找到所需的选择器后,可以使用Document.querySelector('CSS SELECTOR GOES HERE')或其他类似的方法在javascript中定位它们。
以下是有关开发人员工具的详细信息:https://torquemag.io/2020/06/browser-developer-tools-tutorial/

相关问题