简体   繁体   English

我无法摆脱HTML5视频上方的这一空白(在移动设备上)

[英]I can't get rid of this gap above HTML5 video (On mobile devices)

HTML 的HTML

    <div class="NavAlignLeft"><a href="/">Site Name</a></div>

    <div class="NavAlignRight"> 
<!-- Change this to an include later -->        
<ul class="topnav" id="myTopnav">
<li><a href="#home">Home</a></li>
 <li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
<li class="icon">
<a href="javascript:void(0);" onclick="myFunction()">&#9776;</a>
</li>
</ul>

</div>
    <div style="clear:both;"></div>     

</div>

<!-- Video test -->

<div id="video_overlays">

<div class="abovethefold">
    <h1 class="blog-title"><?php bloginfo( 'name' ); ?></h1>
    <?php $description = get_bloginfo( 'description', 'display' ); ?>
    <?php if($description) { ?><p class="blog-description"><?php echo $description ?></p><?php } ?>

        <p class="button">
<a class="blue-button" href="#cta">Call to Action</a></p>
</div></div>


<div class="homepage-hero-module">
<div class="video-container">
    <div class="filter"></div>
    <video autoplay loop class="fillWidth">
        <source src="http://scott.ewarena.com/blog/wp-content/themes/bootstrapstarter/Busy-People/MP4/Busy-People.mp4" type="video/mp4" />Your browser does not support the video tag. I suggest you upgrade your browser.
        <source src="http://scott.ewarena.com/blog/wp-content/themes/bootstrapstarter/Busy-People/WEBM/Busy-People.webm" type="video/webm" />Your browser does not support the video tag. I suggest you upgrade your browser.
        <img src="http://scott.ewarena.com/blog/wp-content/themes/bootstrapstarter/Busy-People/Snapshot/Busy-People.jpg" title="Your browser does not support the <video> tag">
        </video>
                                <div class="poster hidden">
        <img src="http://scott.ewarena.com//blog/wp-content/themes/bootstrapstarter/Busy-People/Snapshots/Busy-People.jpg" alt="">
        </div>
</div>
</div></div>

CSS: CSS:

        body {
            background-color: #e2e2e2;  
            margin: 0px;
        }

        h1, .h1,
        h2, .h2,
        h4, .h4,
        h5, .h5,
        h6, .h6 {
          margin-top: 0;
          font-family: 'Vollkorn', serif;
          font-style: oblique;  
          font-weight: normal;
          color: #2e2e2e;
        }

        h3, .h3 {
        font-family: 'Vollkorn', serif;    
        font-weight: bold;    
        font-size: 30px;    
        color: #fff;    
        }

        .NavAlignLeft {    
        font-family: 'Vollkorn', serif;    
        /*font-style: oblique;*/    
        font-weight: bold;    
        font-size: 22px;    
        color: #fff;    
        float: left;
        padding-left: 40px;
        }

        .NavAlignLeft:hover {
            font-family: 'Vollkorn', serif;
        text-decoration: none;
        }

        .NavAlignRight {    
        font-family: 'Vollkorn', serif;    
        font-weight: bold;    
        font-size: 22px;    
        color: #fff;    
        float: right;
        padding-right: 40px;
        }

        .NavAlignLeft, .NavAlignRight {
            /*{  width: 50%;  Commenting this out made the nav align completely to the right.*/
        display: inline-block;
        }

        a, .a,
        a:visited, .a:visited,
        a:active, .a:active {
            font-family: 'Vollkorn';
            font-style: none;   color: #e2e2e2;     text-decoration: none;
        }

        a:hover, .a:hover {
            font-family: 'Vollkorn';
            font-style: none;   color: #fff;        text-decoration: none;
        }
        /*
         * Override Bootstrap's default container.
         */

        /*@media (min-width: 1200px) {
          .container {
            width: 100%;    padding: 0; margin: 0;    vertical-align: middle;
          }
        }  .container2 {    width: 100%;    padding: 0; margin: 0;  }

        Nothing changed */


        /*
         * Masthead for nav
         */

        #blog-masthead {
          background-color: #2e2e2e;
          height: 40px;  
          width: 100%;    
          line-height: 40px;
          /*z-index: 2;  
          /*vertical-align: middle;  

          padding-bottom: 0px;    
          padding-left: 10px;    
          padding-right: 10px;   Nothing Changed */
          -webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.41);  
          -moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.41);  
          box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.41);    
          border-bottom: 1px solid #1a1a1a;
        }

        .abovethefold  {  
        background-color: transparent;  
        /*background-image: url("https://static1.squarespace.com/static/518d3dc6e4b00ba5bf4a06b0/t/586e223e197aea98191b014e/1483612772641/photodune-17121963-coffee-shop-owner-standing-at-the-counter-l.jpg");  */
        /*height: 250px;  
        width: 100%;  
        /*padding-top: 100px;*/
        /*vertical-align: middle;
        justify-content:center;
            align-content:center; 
        }
        .overlay {   
        background:#2e2e2e;   
        opacity:40%;   
        height: 250px;   
        width: 100%Nothing changed.*/
        }

        /* Nav links */

        .blog-nav-item {
          /*position: relative;
          display: inline-block;
          padding: 5px;
          color: #2e2e2e; nothing changed*/
        }
        .blog-nav-item:hover,
        .blog-nav-item:focus {
          color: #fff;
          text-decoration: none;
        }

        /* Active state gets a caret at the bottom */
        .blog-nav .active {
          color: #fff;
        }
        .blog-nav .active:after {
          /*position: absolute;
          bottom: 0;
          left: 50%;
          width: 0;
          height: 0;
          margin-left: -5px;
          vertical-align: middle;
          content: " ";
          border-right: 5px solid transparent;
          border-bottom: 5px solid;
          border-left: 5px solid transparent; Nothing Changed*/
        }
        .menu-menu-1-container {   
        /*width: 100%;    
        vertical-align: middle;  
        padding-top: 0px;    
        padding-bottom: 0px;    
        padding-left: 10px;    
        padding-right: 10px;   Nothing changed*/}

        /*
         * Blog name and description
         */

        .blog-header {
          padding-top: 20px;  
          padding-bottom: 20px;
        }

        .blog-title {
          margin-top: 0px;
          margin-bottom: 0;  
        line-height: 80px;
        margin-top: 100px;
          font-size: 60px;      
          text-align:center;  
          font-weight: normal;  
          color: #fff;  
        }

        .blog-description {
          font-size: 30px;  
          font-style: 'Open Sans';  
          font-weight: bold;  
          text-align: center;
          color: #2e2e2e;
        }

        .blog-main {
          font-size: 18px;
          line-height: 1.5; nothing changed
        }

        /* Buttons */

        .green-button,.green-button:link,.green-button:visited,.blue-button,.blue-button:link,.red-button,.red-button:link,.purple-button,.purple-button:link,.teal-button,.teal-button:link,.orange-button,.orange-button:link,.grey-button,.grey-button:link,.grey-button:visited,.lt-grey-button,.lt-grey-button:link,.lt-grey-button:visited,.shop_table .actions .button,.oldernewer a:link,.oldernewer a:visited,.woocommerce-message .button,#place_order,html body div .quiz-submit, input.course-start {   
        display: block; 
        border: 0;  
        border-radius:1em;  
        -webkit-border-radius:border-radius:.8em;   
        text-align: center; 
        font-size: 20px !important; 
        padding: 10px 20px; 
        width: 180px;
        }

        p.button {  
        text-align: center;
        }

        p.button:hover {    
        text-align: center; 
        text-decoration: none;
        }

        p.button a {    
        margin:0 auto;  
        font-family: 'Vollkorn', serif; 
        font-style: none;
        text-decoration: none;
        }

        .blue-button,.blue-button:link,.blue-button:visited {   
        background: #2f75c5;    
        color: #f8f8f8 !important;
        text-decoration: none;
        }

        .blue-button:hover {    
        background: #3584de;    
        cursor: pointer;    
        text-decoration: none;  
        }

        .blue-button:active {   
        background: #2966ab; 
        font-style: none;}

        /* Sidebar modules for boxing content */
        /* Sidebars arent being used
        .sidebar-module {
          padding: 15px;
          margin: 0 -15px 15px;
        }
        .sidebar-module-inset {
          padding: 15px;
          background-color: #f5f5f5;
          border-radius: 4px;
        }
        .sidebar-module-inset p:last-child,
        .sidebar-module-inset ul:last-child,
        .sidebar-module-inset ol:last-child {
          margin-bottom: 0;
        }

        */

        /* Pagination */
        .pager {
          /*margin-bottom: 60px;
          text-align: left;nothing changed*/
        }
        .pager > li > a {
        /*  width: 140px;
          padding: 10px 20px;
          text-align: center;
          border-radius: 0px;    
          list-style: none; nothing changed*/
        }


        /*
         * Blog posts
         */

        .blog-post {
            margin:50px 50px 0;
        }
        .blog-post-title {
          margin-bottom: 5px;
          font-size: 40px;  color: #2e2e2e;
        }

        .subtitle {  
        font-size: 1.2em;    
        font-family: 'Vollkorn';  
        color: #2e2e2e;
        }

        .blog-post-meta {
          margin-bottom: 20px;
          color: #999;
        }

        /*
         * Footer
         */

        .blog-footer {
          padding: 40px 0;
          color: #999;
          text-align: center;
          background-color: #2e2e2e;
          border-top: 1px solid #1a1a1a;
          -webkit-box-shadow: 2px -5px 5px 0px rgba(0,0,0,0.41);
        -moz-box-shadow: 2px -5px 5px 0px rgba(0,0,0,0.41);
        box-shadow: 2px -5px 5px 0px rgba(0,0,0,0.41);
        }

        .blog-footer p:last-child {
          margin-bottom: 0;
        }

        /*** lyrathemes - custom styling ***/

        .page_item {  
        list-style: none;  
        font-size: 22px;  
        text-decoration: none;
        }

        .page_item:hover {
            list-style: none;
            text-decoration: none;
            }

        ul.blog-nav {
        /*list-style: none;*/
        }
        /* Nav links */
        .menu-item a{
          position: relative;
          /*display: inline-block; keep this commented out - moved navigation vertically.*/ 
          padding: 10px;
          color: #e2e2e2;

        }
        .menu-item a:hover,
        .menu-item a:focus {
          color: #fff;
          text-decoration: none;
        }

        /* Active state gets a caret at the bottom */
        .menu-item.current-menu-item a{
          color: #fff;
        }
        .menu-item.current-menu-item a:after {
          position: absolute;
          bottom: 0;
          left: 50%;
          width: 0;
          height: 0;
          margin-left: -5px;
          vertical-align: middle;
          /*content: " ";*/
        /*  border-right: 5px solid transparent;
          border-bottom: 5px solid;
          border-left: 5px solid transparent;*/
            -webkit-box-shadow: 0px -2px 5px 0px rgba(0,0,0,0.41);  
          -moz-box-shadow: 0px -2px 5px 0px rgba(0,0,0,0.41);  
          box-shadow: 0px -2px 5px 0px rgba(0,0,0,0.41);  
        }

        /*Not using side bars
        .sidebar-module ul {
            list-style: none;
            padding-left: 0;
        }*/

        /* Video CSS */
        .homepage-hero-module {
            border-right: none;
            border-left: none;
            position: relative;
            width: auto;
            height: 400px;
        }
        .no-video .video-container video,
        .touch .video-container video {
            display: none;
        }
        .no-video .video-container .poster,
        .touch .video-container .poster {
            display: block !important;
        }
        .video-container {
            position: absolute;
            bottom: 0%;
            left: 0%;
            height: 100%;
            width: 100%;
            overflow: hidden;
            /*background: #000;*/
        }
        .video-container .poster img {
            width: 100%;
            bottom: 0;
            position: absolute;
        }
        .video-container .filter {
            /*z-index: 100;*/
            position: absolute;
            background: rgba(0, 0, 0, 0.4);
            width: 100%;
        }
        .video-container video {
            position: absolute;
            /*z-index: 0;*/
            bottom: 0;
        }
        .video-container video.fillWidth {
            width: 100%;
            }

        #video_overlays {
        position:absolute;
        float:left;
            width:100%;
            height:400px%;
            background-color:transparent;
            z-index:1;
        }

        /* Content Table Styles */

        #green-table {
        background-color: #ebf2e6;  
        width: 50%;
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: 40px;
        padding-right: 40px;
        text-align: center;
        margin: auto;
        margin-top:30px;
        margin-bottom: 30px;
        border: 1px solid #d6e8c5;
        border-radius:.8em; 
        }

        #dark-table {
        background-color: #2e2e2e;  
        width: 100%;  
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: 40px;
        padding-right: 40px;
        text-align: center;
        margin-top:30px;
        margin-bottom: 30px;
        }

        #light-table {
        background-color: #e2e2e2;  
        width: 100%;  
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: 40px;
        padding-right: 40px;
        text-align: center;
        margin-top:30px;
        margin-bottom: 30px;
        }

        #dark-narrow-table {
        background-color: #2e2e2e;  
        /*background-image: url("https://static1.squarespace.com/static/518d3dc6e4b00ba5bf4a06b0/t/586e223e197aea98191b014e/1483612772641/photodune-17121963-coffee-shop-owner-standing-at-the-counter-l.jpg");  */
        width: 50%;  
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: 40px;
        padding-right: 40px;
        text-align: center;
        margin-top:30px;
        margin-bottom: 30px;
        margin: auto;
        border-radius:.8em; 
        }

        /*Heading Styles*/

        #light-table-head-style {

        font-family: 'Droid Serif';
        font-size: 45px;
        color: #2e2e2e;

        }

        #dark-table-head-style {

        font-family: 'Droid Serif';
        font-size: 45px;
        color: #e2e2e2;

        }

        #green-table-head-style {

        font-family: 'Droid Serif';
        font-size: 45px;
        color: #2e2e2e;

        }

        #dark-narrow-table-head-style{

        font-family: 'Droid Serif';
        font-size: 45px;
        color: #e2e2e2;

        }

        /*Content Paragraph Styles*/

        #light-table-paragraph {

        font-family: 'Droid Serif';
        font-size: 22px;
        color: #2e2e2e;
        text-align: left;

        }

        #dark-table-paragraph {

        font-family: 'Droid Serif';
        font-size: 22px;
        color: #e2e2e2;

        }

        #dark-narrow-table-paragraph {

        font-family: 'Droid Serif';
        font-size: 22px;
        color: #e2e2e2; 

        }

        #green-table-paragraph {

        font-family: 'Droid Serif';
        font-size: 22px;
        color: #2e2e2e;
        text-align: left;

        }

        /* Hamburger Test */

         /* Remove margins and padding from the list, and add a black background color */
        ul.topnav {
            list-style-type: none;
            margin: 0;
            padding: 0;
            overflow: hidden;
            background-color: #2e2e2e;
        }

        /* Float the list items side by side */
        ul.topnav li {float: left;
        height: 40px;
        }

        /* Style the links inside the list items */
        ul.topnav li a {
            display: inline-block;
            color: #e2e2e2;
            text-align: center;
            padding: 0px 10px 0px 0px; 
            text-decoration: none;
            transition: 0.3s;
        font-family: 'Vollkorn', serif;    
        font-weight: bold;    
        font-size: 22px;    
        color: #e2e2e2;
        }

        /* Change background color of links on hover */
        ul.topnav li a:hover {background-color: #3b3b3b;}

        /* Hide the list item that contains the link that should open and close the topnav on small screens */
        ul.topnav li.icon {display: none;}

        /* Hamburger mobile test */

         /* When the screen is less than 680 pixels wide, hide all list items, except for the first one ("Home"). Show the list item that contains the link to open and close the topnav (li.icon) */
        @media screen and (max-width:680px) {
          ul.topnav li:not(:first-child) {display: none;}
          ul.topnav li.icon {
            float: right;
            display: inline-block;
          }
        }

        /* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens */
        @media screen and (max-width:680px) {
          ul.topnav.responsive {position: relative;}
          ul.topnav.responsive li.icon {
            position: absolute;
            right: 0;
            top: 0;
          }
          ul.topnav.responsive li {
            float: none;
            display: inline;
          }
          ul.topnav.responsive li a {
            display: block;
            text-align: left;
          }
        }

        /* Fixing Mobile Div Problem */

        @media only screen and (max-device-width: 680px) {

        #green-table {
        width: 95%; 
        }

        #dark-narrow-table {
        width: 95%; 
        }

        .NavAlignRight {    
        padding-right: 2px;
        }

        .NavAlignLeft {    
        padding-left: 2px;

JS: JS:

                    //jQuery is required to run this code
                $( document ).ready(function() {

                    scaleVideoContainer();

                    initBannerVideoSize('.video-container .poster img');
                    initBannerVideoSize('.video-container .filter');
                    initBannerVideoSize('.video-container video');

                    $(window).on('resize', function() {
                        scaleVideoContainer();
                        scaleBannerVideoSize('.video-container .poster img');
                        scaleBannerVideoSize('.video-container .filter');
                        scaleBannerVideoSize('.video-container video');
                    });

                });

                function scaleVideoContainer() {

                    var height = $(window).height() + 5;
                    var unitHeight = parseInt(height) + 'px';
                    $('.homepage-hero-module').css('height',unitHeight);

                }

                function initBannerVideoSize(element){

                    $(element).each(function(){
                        $(this).data('height', $(this).height());
                        $(this).data('width', $(this).width());
                    });

                    scaleBannerVideoSize(element);

                }

                function scaleBannerVideoSize(element){

                    var windowWidth = $(window).width(),
                    windowHeight = $(window).height() + 5,
                    videoWidth,
                    videoHeight;

                    console.log(windowHeight);

                    $(element).each(function(){
                        var videoAspectRatio = $(this).data('height')/$(this).data('width');

                        $(this).width(windowWidth);

                        if(windowWidth < 1000){
                            videoHeight = windowHeight;
                            videoWidth = videoHeight / videoAspectRatio;
                            $(this).css({'margin-top' : 0, 'margin-left' : -(videoWidth - windowWidth) / 2 + 'px'});

                            $(this).width(videoWidth).height(videoHeight);
                        }

                        $('.homepage-hero-module .video-container video').addClass('fadeIn animated');

                    });
                }

So it loooks absolutely fine when it's displayed on my website http://scott.ewarena.com/blog but when viewed on a mobile device there's a gap along the top, underneath the top bar, before the video, that shouldn't be there. 因此,当它显示在我的网站http://scott.ewarena.com/blog上时,它看起来绝对不错,但是在移动设备上观看时,顶部,顶部栏下方,视频之前的间隙不应该是那里。

I can't find out what the issue is at all, I've been trying for two days. 我根本找不到问题所在,我已经尝试了两天。

Sorry my code is so clunky. 抱歉,我的代码太笨拙了。 I'm new at this and aware it needs cleaning up a bit. 我是新来的,知道它需要清理一点。

Any help will be MUCH appreciated! 任何帮助都感激不尽!

Thanks! 谢谢! Scott 史考特

Having looked at your code in Chrome Dev Tools I noticed that you have the following defined in your style-sheet: 在Chrome开发工具中查看了代码之后,我注意到您在样式表中定义了以下内容:

.video-container video {
position: absolute;
z-index: 0;
bottom: 0;
}

If you remove bottom: 0; 如果除去bottom: 0; you wont have this problem! 你不会有这个问题!

Basically, you're forcing the video to be at the bottom most point in it's container, creating a gap when the view-port is smart-phone sized. 基本上,您是在将视频大小设置为智能手机大小的情况下,将视频强制置于其容器的最底端,从而造成间隙。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM