html - 如何删除 textInput 和错误消息之间的边距
问题描述
我尝试创建带有字段验证的应用程序,但边距有问题。
问题是我不能使textInput
(电子邮件)和uiOutput
(错误消息)之间的边距更小。我已经尝试过更改错误消息的边距和填充,但它没有帮助。
我需要在这个简化版本中得到什么:
- 它们之间有两个具有正常距离(15 px)的字段。当没有错误信息时,我需要保持相同的距离。
- 当我单击注册按钮时,它会验证,如果用户名为空,则会显示错误:
如果我在浏览器中检查代码,它会显示 margin-bottom 15 px:
代码是:
library(shiny)
library(shinyalert)
ui <- fluidPage(
titlePanel("Error test"),
tags$head(tags$style(HTML("
/* errors */
.shiny-output-error-validation {
color: #ff0000;
font-size: 13px;
margin-bottom: 7px;
margin-top: 0px;
padding-top: 0px;
font-weight: bold
}
"))),
mainPanel(
textInput("user_name", "Username (Email):", ),
uiOutput("error_email"),
textInput("bla", "Test:"),
actionButton("register_button", "Register")
)
)
server <- function(input, output) {
observeEvent(input$register_button, {
if (input$user_name != "") {
shinyalert("Your registration was successfull")
} else {
output$error_email <- renderUI({
validate(
need(
input$user_name != "",
paste("Email Address: Please Input a valid E-mail address")
)
)
})
}
})
}
shinyApp(ui = ui, server = server)
解决方案
在错误消息的元素上应用负边距顶部可能是解决此问题的正确方法。请检查下面的代码。
如果错误消息元素中的类是'errormessage',则以下是css代码。
.errormessage {
margin-top: -15px;
}
推荐阅读
- javafx - 来自场景构建器 JavaFX 的 setOnMousePressed 和 setOnMouseDragged 与 @FXML 事件处理程序
- gzip - Tomcat 8.5.29 HTTP/2 不支持 GZIP 压缩
- c++ - C ++无法将对齐的字符串存储在字符串变量中并打印它
- html - 在图像底部显示图像标题
- c++ - 计算平均值:蒙版图像与 ROI 的不同结果
- docker - 在 CircleCi 中的不同作业之间共享步骤的结果
- javascript - Javascript切换多个按钮
- python - 为什么 for 循环中的这种无效语法?
- java - 如何从 xml 文件中的 TextView 获取文本到自定义对话框中的 TexView?
- java - 排序火力基地