javascript - Div 和图像不缩放,响应能力

标签 javascript html css responsive-design responsive

div:preview-movie 没有占用剩余的宽度。

大屏幕上的 itunes div 过度缩放。

在小屏幕上,logo div 怎么变小,而 details-movie div 怎么会在下面。

谢谢

HTML 代码:

<!DOCTYPE html>
<html>
<head>
    <title>Page-movie-x</title>
    <link rel="stylesheet" href="page-film.css">
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <META HTTP-EQUIV="refresh" CONTENT="15">
</head>
<body>
    <div class="dropdown-menu">
        <p>
            menu dropdown
        </p>
    </div>
    <div class="container">

        <div class="logo">
            <div class="movie-name">
                A Name 
            </div>
            <img class="Itunes-link" src="http://dxm2idf2u6bml.cloudfront.net/rest/serve/THUMBNAILS/55b856e3-c26f-416f-ac65-c588230582ee.jpg" >

            <div class="date-out">
                Date de sortie : / / 
            </div>

            <div class="rating">
                <span>☆</span><span>☆</span><span>☆</span><span>☆</span><span>☆</span>
            </div>
        </div>
        <div class="details-movie">
            <div class="description-movie">

            </div>
            <div class="preview-movie">
                <iframe  class="youtube-vid" src="https://www.youtube.com/embed/eEZ0u9xI2yo"  ></iframe>

            </div>
        </div>
    </div>

</body>
</html>

CSS 代码:

.container{
  display:flex;

}
.dropdown-menu{
    width: 100%;
    height: 5vh;
    background-color: blue;
}

.logo{
    max-width: 300px;
    height: 100vh;

    background-color: red;
}

.details-movie{
    height: 100vh;
    width: 100vh;
    background-color: grey;


}
.movie-name{background-color: yellow;}
.Itunes-link{
    height: 30%;
    max-width: 300px;
    max-height: 300px;
    background-color: green;
}

body{
    width: 100%;
    height: 100%;
}
.rating > span:hover:before {
   content: "\2605";
   position: absolute;
}

.description-movie{height:32%;
    background-color: white;
}
.preview-movie{
    display: flex;
    width: 100vh;
}
.preview-movie .youtube-vid{
justify-content: center;
    width: 100%;
    height: 100%;
    height: auto;
}

最佳答案

感谢您提供解决问题实际需要的所有代码!

以下几点可能对您有所帮助:

1) 您在 .details-movie.preview-movie 中都使用了 width: 100vh;。 vh 基于高度,而不是宽度。您希望内部 div (.preview-movie) 为 width: 100%,然后仅操作父级的宽度。您可能希望在父级上使用 width: 100vw,但同时提供 .details-movie.logo 会更明智 基于百分比的宽度。这样两者都会响应地扩展。请记住确保两个 div 的总和为 100%!

2) 我不是 100% 确定“大屏幕上的 itunes div 过度缩放”是什么意思,但我认为您是在谈论图像被拉伸(stretch)。它已经一个最大宽度,所以它永远不会超出这些界限 (300px)。只需将 height: 30% 替换为 width: 100%。这将确保图片不会被隐藏,并使其保持其比例。

3) 对于您的第三点,我也不太确定您的意思。我相信您想减小 Logo 的大小并将 .details-movie div 在较小的屏幕上放在“下面”。这可以通过媒体查询来完成:

@media (max-width: 900px) { // Whatever size you'd like to affect
   .logo {
        width: 66px; // Whatever size changes you'd like 
    }
    .container {
        display: block;
    }
}

我制作了一个 fiddle ,您可以在 https://jsfiddle.net/Lnr2tt37/ 上看到这些更改.还有很多工作要做,但希望这些变化反射(reflect)了你在这个问题中提出的观点。剩下的就看你自己了 ;)

希望这对您有所帮助!

评论后编辑:

1) 要解决nav在移动设备上不占满宽度的问题,您可以简单地添加:

@media (max-width: 600px) {
    body > div > nav {
        flex: 100%;
    }
}

600 像素对我来说似乎合适,但您可能需要调整该断点。

2) 为确保 navmain 占据整个垂直高度,您可以使用如下内容:

@media (min-width: 601px) { // One pixel more than the max-width breakpoint
    body > div > nav {
        min-height: 100vh;
    }

请注意,您只希望在 navmain 彼此相邻时发生这种情况,否则 nav 会变得很大!

3) 要确保 YouTube 视频 (iframe) 占据整个宽度,您只需将其宽度设置为 100%。并不是说您可能也想给它一个高度,以便更好地显示。遗憾的是,iframe 的工作方式使其难以响应,因此您总是在某些宽度处会出现一些黑条。这个高度对我来说似乎很合适,但您可能需要调整它:

iframe {
   width: 100%;
   height: 344px;
}

我已经更新了 fiddle 以反射(reflect)这一点,可以在 https://jsfiddle.net/Lnr2tt37/2/ 找到更改。 .

希望这一切对您有所帮助:)

关于javascript - Div 和图像不缩放,响应能力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39541311/

相关文章:

javascript - 无法获得 else if 条件来处理 JS 中的图像

javascript - 如何在浏览器中使用 .emit() 和 .on() 方法?

javascript - 使用 iFrame 时的 IE11 安全证书问题

CSS3 Linkedin 之类的 Preloader 动画模拟使用@keyframes 不工作

javascript - 温泉用户界面 : access ons-dialog's DOM elements from parent page

html - CSS/HTML 导航栏中的下划线链接

javascript - 用对象数据源填充选择

html - 如何将菜单置于顶部栏的中央?

html - 创建响应式电子邮件时设置 outlook 的表格宽度

JavaScript + div 标签