如何将边框图像添加到动态创建的图像?

Posted

技术标签:

【中文标题】如何将边框图像添加到动态创建的图像?【英文标题】:How can I add a border image to a dynamically created image? 【发布时间】:2020-02-13 09:30:02 【问题描述】:

我正在从 ajax 调用中提取图像并尝试将其添加到已建立的 div 中。 div 已经包含我想用作边框的图像。问题是,当我使用 jQuery 将图像 html 到所述 div 中时,它取代了边框而不是占据同一个位置。我明白为什么。但是,当我创建一个嵌套在上述 div 内的 div 并尝试将其放置在边框图像后面(有效)时,图像的大小不能很好地与边框一起调整。

我尝试添加一个“border-image: url(./image.png)”,但它不想工作。在将图像和边框发布到 html 之前,有什么方法可以将图像和边框与 JQuery 结合起来,还是有更好的方法来使用 CSS?

我尝试添加一个“border-image: url(./image.png)”,但它不想工作。

<div class="col s2" id="facePlate1">
<img src="./imageFrame.png">  
<div id="firstActor"></div>     
</div>

$("#firstActor").html(`<img class= "gifControl" src="$conc"  > 
</div>`)

我希望 firstActor 图像出现在边框图像后面。

【问题讨论】:

你也可以发布你的css吗? 【参考方案1】:

如果我是正确的,你不应该在你的 jQuery 函数中添加另一个结束 div 标记。 firstActor div 已经关闭。如果正确,您的新 HTML 将如下所示:

<div class="col s2" id="facePlate1">
  <img src="http://placekitten.com/150/150">  
  <div id="firstActor">
    <img src="http://placekitten.com/100/100">
  </div>     
</div>

假设你想把一张图片放在上面,让它看起来像一个框架,你可以用下面的 css 做到这一点

#facePlate1 
  position: relative;
  display: inline-block;

#firstActor 
  position: absolute;
  top: -50%;
  left: -50%;
  transform: translate(100%,100%);

在这里编写代码:https://codepen.io/MortenDL/pen/dyyXdgW

【讨论】:

【参考方案2】:

我将通过将边框图像作为图像包装器的背景来处理这个问题,如下所示:

#frame
  background-image:url(https://via.placeholder.com/200);
  height: 200px;
  width: 200px;


#image
  margin: 10px;
<div id="frame">
  <img id="image" src="https://via.placeholder.com/180">
</div>

【讨论】:

以上是关于如何将边框图像添加到动态创建的图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用图像组件将图像动态添加到 Gatsby 中的页面?

将标签和图像动态添加到 Android 中的自定义视图

在 iOS 应用中为动态下载的图像添加样式

如何将图案图像动态添加到 svg?

CodeIgniter 图像水印在使用动态输出时返回空白图像

如何动态创建图像的网格视图