微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 div 上叠加图像

如何解决在 div 上叠加图像

我想设置图像覆盖一个 div。我想得到这个:

enter image description here

我使用 lefttop 作为图像位置,但它不起作用,我没有得到异常结果。这就是我所做的:

library(shiny)
library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(),dashboardSidebar(),dashboardBody(
    ### i use div to integrate image here ###
    div(
      img(src = "https://images-na.ssl-images-amazon.com/images/I/61Jigwd1kKL._AC_SL1500_.jpg",style = "left: 16px; width: 10%; border-radius: 50%; top: -60px;")
      ),div(id = "id",style = "width: 500px; max-width: 100%; margin: 0 auto; padding: 20px;",wellPanel(
          tags$h2("my title",class = "text-center"),div(actionButton("btn1","click here"))
          )
    )
  )
)

server <- function(input,output) { }

shinyApp(ui,server)

但我明白了:

enter image description here

希望得到一些帮助

解决方法

您的 css 似乎不起作用的原因是 div 的 position 设置错误。

有五种位置设置:静态、相对、绝对、固定、粘性。

默认情况下所有元素都是 position:static,并且 top / left / z-index / 等不适用于静态元素。

在我所做的每个网站项目中,我通常都会更改一些内容,因此我在每个 CSS 页面的顶部添加了如下内容:

* {position:relative; box-sizing:border-box; margin:0; padding:0; }

这称为 CSS Reset,许多人设计了更复杂的方法(随着网络标准的发展,CSS 重置也会得到调整)。

在您的问题代码中,需要理解的是 position:absolute 以及 position: absoluteposition: relative 之间的区别。

这是a good description。文章中最重要的一句话是:记住,这些值将相对于下一个具有相对(或绝对)定位的父元素。换句话说,如果您指定 position:absolute; top:0; left:0;某处但忘记页面上的所有其他 div 仍处于默认状态 (position:static),您的绝对 div 可能会跳到页面顶部并top:0; left:0; 离开正文!通常,您要确保父 div(容器)不仍然是 position: static

我不会做演示,因为 Lundstromski 的回答在这方面做得很好。

,

在父节点上使用位置:相对,在子节点上使用位置:绝对。

tkinter.Button(root,command=a)
div {
  width: 400px;
  height: 200px;
  background-color: lightcoral;
  margin: auto;
}

.parent {
  position: relative;
}

.child {
  position: absolute;
  top: -15px;
  left: -15px;
  background-image: url('https://picsum.photos/200');
  width: 100px;
  height: 100px;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。