- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要一个仅使用 CSS 的响应式 Bandcamp iframe,如所述here (以及许多其他地方)。但是,有 2 个问题:
如果我将我的页面放大到宽度大于 700 像素,iframe 容器开始扩展超过 Bandcamp iframe 的能力。这会在 iframe 保持相同大小的情况下下推下面的文本
一旦达到这个限制,容器就不会居中。
我认为合乎逻辑的解决方案是在查看页面的设备宽度 > 700 像素时以某种方式进行设置,以保持 iframe 无响应,例如
if screen-width > 700px
.responsive {
width: 700px;
...
}
else
.responsive {
width=100%;
...
}
有没有办法做到这一点?或者更优雅的解决方案?
这是 fiddle :https://jsfiddle.net/zg2cL06s/1/
最佳答案
最大宽度
在不改变任何其他内容的情况下限制 iframe 宽度的最快方法是添加 max-width 属性:
.responsive iframe {
max-width: 700px;
}
这是更新的 Fiddle演示最大宽度方法。
实现此目的的另一种方法是使用媒体查询。
如果屏幕宽度大于 700,您将添加类似这样的内容以将宽度限制为 700px。
@media only screen and (min-width: 700px) {
.responsive iframe {
width: 700px;
}
}
这是一个 Fiddle演示媒体查询方法。
这里有一些资源可以帮助您了解更多有关媒体查询的信息,媒体查询确实是响应式 Web 开发的基石。
我错过了您最初要求将 iframe 居中的要求。我已经用我推荐的居中方法更新了两个 Fiddles,即使用 display: flex;
。
.responsive {
display: flex;
flex-direction: column;
align-items: center;
}
这里有一些使用 flex 样式的资源:
虽然您可以使用 iframe 做一些聪明的事情,但您应该意识到,除非您还控制了 iframe 内部的代码,否则您无法通过嵌入式 iframe 获得真正的响应体验。换句话说,如果没有从 iframe 中加载的页面发送明确的消息(除非您构建了 iframe 显示的页面并且还构建了来回发送消息的机制,否则几乎不会出现这种情况),或者没有一些严重粗糙的黑客攻击,父页面没有明显/干净的方式来了解 iframe 内的内容。因此,出于所有意图和目的(据我所知)不可能计算用于布局父页面的 iframe 内容的大小。对于您的 Bandcamp 示例,父页面无法知道 Bandcamp iframe 在任何给定时间需要多高,以便 iframe 内容底部没有浪费空间。这只是 iframe 和浏览器安全策略如何运作的不幸现实。
希望这对您有所帮助。祝你好运!
关于css - 使 Bandcamp iframe 响应 - 居中和溢出问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56522756/
正如标题所说,我正在尝试将 Bandcamp 个人资料嵌入到我的页面中。然而,在移动设备上,文本看起来太小了。 在使用 Bandcamp 网站的嵌入功能的代码中没有更改它的选项(据我所知)。 Sing
给定 Bandcamp 上专辑的链接,我如何生成代码以嵌入相应的 Bandcamp 播放器? Bandcamp 提供的嵌入代码似乎包含不透明的专辑 ID,我无法以编程方式获取。 最佳答案 Bandca
我想要一个仅使用 CSS 的响应式 Bandcamp iframe,如所述here (以及许多其他地方)。但是,有 2 个问题: 如果我将我的页面放大到宽度大于 700 像素,iframe 容器开始扩
我正在尝试做的是将 Bandcamp 音乐播放器嵌入到我的 Wordpress 博客页面上。问题是 BC 当前播放器的最大宽度是 700px,我需要它是 900px。在与 BC 的某人交谈后,他们向我
嘿,我正在做一个项目,需要在幻灯片轮播中使用来自 bandcamp、youtube 和 soundcloud 的嵌入式播放器。 我非常熟悉 youtube embed js api 和 soundcl
我是一名优秀的程序员,十分优秀!