小编4nd*_*ndy的帖子

如何在使用 flexbox、flex-wrap 和 last-of-type 时从一行中的最后一项删除右边距

当我使用 flexbox 时,如果我想要一个边距来为每个元素添加间距,我通常会这样做:

.flexbox-item {
  flex: 1 0 auto;
  margin-right:10px;
}
.flexbox-item:last-of-type {
  margin-right: 0px;
}
Run Code Online (Sandbox Code Playgroud)

如果我不使用 flex-wrap,这会起作用,因为它们的最后一项将始终是该行中的实际最后一项。

但是,当我使用 flex-wrap 时,该行的最后一项会根据窗口宽度而变化(并且会自动添加更多行),这意味着有时我会从一行中的第一项中删除右边距。

有人知道这个问题的解决方案吗?

编辑:我不相信这是重复的

这是关于保持行水平相等,而不是垂直。

无论如何,我的解决方案是使用负边距,通过挖掘它可以在该线程上找到它,但这不是最流行的解决方案。这是我的解决方案:

似乎这个问题的答案是给父 flexbox 容器添加一个负边距。

.flexbox-container {
  margin-right:-10px;
}
.flexbox-item {
  flex: 1 0 auto;
  margin-right:10px;
}
Run Code Online (Sandbox Code Playgroud)

然后当您的 flexbox 项目更改为 100% 时,只需从项目中删除右边距:

@media (max-width: 767px) {
    .flexbox-item {
      margin-right:0px;
    }
    .flexbox-container {
      margin-right: 0px;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果有更好的解决方案,我会全力以赴。

css flexbox

7
推荐指数
1
解决办法
3649
查看次数

加载 DOM 后在附加上执行 <script> 标记

我正在尝试在模式中观看 onClick 视频,而无需访问视频页面本身。

我正在使用 Vue.js,通过一系列 Ajax 调用,我能够完成大部分工作。

Codpen: https: //codepen.io/nolaandy/pen/BrbBzO

如果您点击顶部的“对阵太阳队”,您会看到所有视频帖子的列表。然后单击任何图像,模式组件会弹出并动态获取帖子的标题。

我也想在那里运行视频,所以我尝试运行这个脚本标签:

 < script class="_nbaVideoPlayerScout" data-team="warriors" data-videoId="/video/{{unique videoId from post ajax call}}" data-width="768" data-height="732" src="https://www.nba.com/scout/team/cvp/videoPlayerScout.js"></script>
Run Code Online (Sandbox Code Playgroud)

当模式弹出时,我看到我单击的帖子/图像的正确标题,并且我看到脚本标签与检查器中应有的完全相同,但脚本标签从未运行。

我应该有什么不同的方式来注入这个脚本吗?(这是在 axios 响应调用内部)

let theVideoId = response.data.content[0].videoID


let s = document.createElement('script')
s.setAttribute('class', '_nbaVideoPlayerScout')
s.setAttribute('data-team', 'warriors') 
s.setAttribute('data-videoId', '/video/' + theVideoId) 
s.setAttribute('data-width', '768') 
s.setAttribute('data-height', '732') 
s.setAttribute('src', 'https://www.nba.com/scout/team/cvp/videoPlayerScout.js')
document.getElementById('popupVideo').appendChild(s);
Run Code Online (Sandbox Code Playgroud)

模态组件——点击帖子缩略图之一时触发

const videoModal = Vue.component('VideoModal', {
props: {
    id: {
    type: String,
    required: true
    }
},
data: function () {
  return {
    post: [],
  }
},
mounted() { …
Run Code Online (Sandbox Code Playgroud)

javascript append vue.js

3
推荐指数
1
解决办法
3115
查看次数

标签 统计

append ×1

css ×1

flexbox ×1

javascript ×1

vue.js ×1