我有一个HTML/CSS/JS网站,我嵌入Facebook帖子,并添加一些文本(与各种信息和操作按钮)到每个帖子的顶部.我在Javascript中动态添加每个帖子上面的文本,这样嵌入的帖子(iframe)就在一个单独的容器中,而不是上面的文本.

正如你在下面的图片中所看到的,文本被定位为absolute,这样它就出现在文章的上方,而不是它的旁边.然而,我似乎不能让文章移动down,也不能让文本移动向上,以便在它们之间创建一些分离.任何帮助或 idea 将不胜感激!

更新:我的意思是包括一个代码en,以最少的代码再现问题:https://codepen.io/Mickey_Vershbow/pen/dyLzLNV?editors=1111

下面的代码也是:

// Array of facebook post ID's
facebookArr = [{
    post_id: "pfbid0cm7x6wS3jCgFK5hdFadprTDMqx1oYr6m1o8CC93AxoE1Z3Fjodpmri7y2Qf1VgURl"
  },
  {
    post_id: "pfbid0azgTbbrM5bTYFEzVAjkVoa4vwc5Fr3Ewt8ej8LVS1hMzPquktzQFFXfUrFedLyTql"
  }
];

// Variables to store post ID, embed code, parent container
let postId = "";
let embedCode = "";
let facebookContainer = document.getElementById("facebook-feed-container");
$(facebookContainer).empty();

// Loop through data to display posts
facebookArr.forEach((post) => {
  let relativeContainer = document.createElement("div");

  postId = post.post_id;

  postLink = `${postId}/?utm_source=ig_embed&utm_campaign=loading`;

  // ---> UPDATE: separate container element
  let iframeContainer = document.createElement("div");


  embedCode = `<iframe src="https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2FIconicCool%2Fposts%2F${postId}&show_text=true&width=500" width="200" height="389" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowfullscreen="true" allow="autoplay; clipboard-write; encrypted-media; picture-in-picture; web-share" id=fb-post__${postId}></iframe>`;

  // Update the DOM
  iframeContainer.innerHTML = embedCode;

  // ADDITIONAL TEXT
  let additionalText = document.createElement("div");

  additionalText.className = "absolute";
  additionalText.innerText = "additional text to append";

  relativeContainer.append(additionalText, iframeContainer);
  facebookContainer.append(relativeContainer);
});
#facebook-feed-container {
  display: flex;
  flex-direction: row;
  row-gap: 1rem;
  column-gap: 3rem;
  padding: 1rem;
}

.absolute {
  position: absolute;
  margin-bottom: 5rem;
  color: red;
}

.risk-container {
  margin-top: 3.5rem;
}
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

<div id="facebook-feed-container">

</div>

推荐答案

实际上,你并没有在iframe中注入文本,所以定义一个组件来嵌入附加文本和facebook帖子会更简单.

以下代码片段的简化版本:

facebookArr = [
  {
    post_id:
      "pfbid0cm7x6wS3jCgFK5hdFadprTDMqx1oYr6m1o8CC93AxoE1Z3Fjodpmri7y2Qf1VgURl"
  },
  {
    post_id:
      "pfbid0azgTbbrM5bTYFEzVAjkVoa4vwc5Fr3Ewt8ej8LVS1hMzPquktzQFFXfUrFedLyTql"
  }
];

let facebookContainer = document.getElementById("facebook-feed-container");

facebookArr.forEach((post) => {
  const postId = post.post_id;
  
  const postContainer = document.createElement("div");
  facebookContainer.append(postContainer);
  postContainer.classList.add('post');

  const postTitle = document.createElement("div");
  postContainer.append(postTitle)
  postTitle.classList.add('post--title');
  postTitle.innerHTML = "additional text to append"
  
  const postFrame = document.createElement("iframe");
  postContainer.append(postFrame)
  postFrame.classList.add('post--frame');
  postFrame.id= `fb-post__${postId}`
  postFrame.src = `https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2FIconicCool%2Fposts%2F${postId}&show_text=true&width=500`
  postFrame.width = "200"
  postFrame.height = "389"
  postFrame.scrolling = "no"
  postFrame.frameborder = "0"
  postFrame.allowfullscreen = "true"
  postFrame.allow = "autoplay; clipboard-write; encrypted-media; picture-in-picture; web-share"  
});
#facebook-feed-container {
  display: flex;
  flex-direction: row;
  row-gap: 1rem;
  column-gap: 3rem;
  padding: 1rem;
}

.post--title {
  padding: 0.5rem;
  text-align: center;
  color: red;
}

.post--frame {
  border: none;
  overflow: hidden;
}
<div id="facebook-feed-container"></div>

Html相关问答推荐

新用户登录时无法从cookie中获取当前用户信息

轨道上的居中范围滑块拇指(Webkit)

在css中,如何在英雄版块的标题后面做一个粘性的导航栏?

如何在HTML中适当地为单选按钮网格添加标签?

我正在try 向列表中的图像添加悬停,以放大图像并将div的不透明度设置为1而不是0

可以';t使我的导航栏在HTML/CSS中正确对齐

如何在没有包装元素的情况下在React(Next.js)中呈现HTML注释

如果您将带有 html 标签的字符串数据(name : test) 放在 `

网格中的图像zoom 不正确

perl hdb 调试器:浏览器以错误的编码显示 UTF-8 源代码

当作为常规图片输入时,Cloudfront分布式图像可显示,但作为背景图像不显示

我如何设置括号的样式,使它们不会挂在旁边的其他字符下面

提交前的验证表单未显示任何验证消息?

font awesome 的 CDN/CSS 如何工作?

有没有办法使用 CSS border-radius 创建 HTML 视频标签的三角形显示?

在不扭曲图像的情况下将图像放入灵活的 Div 框内

当我希望它只横向滚动时,可滚动菜单也会上下移动

HTML 标记未在页面上展开

绝对定位的 div 与另一个静态定位的 div 的边距顶部一起移动

当另一个 div 的高度改变或执行其内容的换行时,将 flex 方向更改为列