看焰火罗~ Vaadin 内嵌 iFrame 不跑版自动缩放 - day25

https://ithelp.ithome.com.tw/upload/images/20211010/20138680rpMHmAEd6C.png

看焰火罗~ 有时我们看网页内嵌YouTube影片时,真的会气到头顶冒烟,画面被切掉不说,还无法自动缩放。今天适逢国庆佳节,我们就来放焰火吧~

iFrame

@CssImport("frontend://styles.css") import css styles.css

https://ithelp.ithome.com.tw/upload/images/20211010/20138680XnPbbGxY65.png

此画面内有两支YouTube影片,以iframe内嵌。

@Route("youtube", layout = MainLayout::class)
@AllowAll
@CssImport("frontend://styles.css")
class YouTubePlayerView : KComposite() {
    private val root = ui {
        verticalLayout {
            setSizeFull()
            div {
                className = "iframeBox"
                iframe("https://www.youtube.com/embed/BrWrmtl2oGU") {
                    className = "iframe"
                }
            }
            div {
                className = "iframeBox"
                iframe("https://www.youtube.com/embed/thiyXIuwnfo") {
                    className = "iframe"
                }
            }
        }
    }
}

CSS

外层div 设定全宽,高则按 16:9 比例调整。内层iframe 则完整覆盖外层

.iframeBox{
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  position: relative;
}

.iframe{
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
}

<<:  Day 25: 边界:画线、剖析、预留 (待改进中... )

>>:  【Day25】维持权限 — 隐藏後门(二)

【情蒐阶段】确认自己的目标、熟悉职缺市场

今天早上泡了杯 wushwush,打开我的 Leetcode, 啊又是一个觉得智力不足的 momen...

Day 7 - Kotlin的条件判断

Day 7 - Kotlin的条件判断 前面一天我们讲到Kotlin里面的var跟val,今天我们要...

建立第一个RESTful api server(实作篇)-2(Day14)

在上一步我们建立了一个基础的echo的server 紧接着我们就要建立第一个crud的api了 关於...

【Day 19】使用 Terraform 部署 AWS Outposts 资源

tags: 铁人赛 AWS Outposts EC2 Terraform 前情提要 昨天已经完成 E...