【问题标题】:Content is not sized correctly for the viewport视口的内容大小不正确
【发布时间】:2021-05-09 04:13:52
【问题描述】:

我正在将我的网站部署到生产环境并运行 Lighthouse 审计。运行审计时审计抛出错误。它告诉我“373px 的视口大小与 360px 的窗口大小不匹配”。我已经验证了我的 HTML 和 CSS,但没有发现具体的错误。我不确定它是否在我的侧导航栏的 .style.width 中。

Javascript:

function openNav() {
    document.getElementById("mySidenav").style.width = "150px";
  }
  
  function closeNav() {
    document.getElementById("mySidenav").style.width = "0";
  }

  function openNav2() {
    document.getElementById("mySidenav2").style.width = "150px";
  }
  
  function closeNav2() {
    document.getElementById("mySidenav2").style.width = "0";
  }

  function openNav3() {
    document.getElementById("mySidenav3").style.width = "150px";
  }
  
  function closeNav3() {
    document.getElementById("mySidenav3").style.width = "0";
  }

CSS

* {
    box-sizing: border-box;
  }
  
.row {
    display: flex;
  }
  
  /* Create three equal columns that sits next to each other */
.column {
    flex: 33.33%;
    padding: 5px;
  }
 
.imgHoover:hover {
    box-shadow: 1px 3px 5px rgba(0,0,0,0.1);
  }

.imgHoover {  
      padding: 10px 16px;
      margin: 10px 0;
      /*box-shadow: 2px 2px grey;*/
      border-bottom: 1px solid #fafafa;
      /*border: 5px solid #fab95b;*/

  }

#form1 {
    padding: 10px;
    border: 1px solid #666;
    background: #fff;
    display: none;
    justify-content: center;
  }

#form2 {
    padding: 10px;
    border: 1px solid #666;
    background: #fff;
    justify-content: center;
  }

  /* card center */

.card {
    margin: 0 auto; /* Added */
    float: none; /* Added */
    margin-bottom: 10px; /* Added */
    /*box-shadow: 5px 5px grey*/
}

.card:hover {
  box-shadow: 4px 8px 12px rgba(0,0,0,0.1);
}

  /* side-nav */

body {
    font-family: "Lato", sans-serif;
  }
  
.sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: #ffffff;
    overflow-x: hidden;
    transition: 0.5s;
    padding-top: 60px;
  }
  
.sidenav a {
    padding: 8px 8px 8px 32px;
    text-decoration: none;
    font-size: 25px;
    color: #818181;
    display: block;
    transition: 0.3s;
  }
  
.sidenav a:hover {
    color: #f1f1f1;
  }
  
.sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
    color: #818181;
  }
  
@media screen and (max-height: 450px) {
    .sidenav {padding-top: 15px;}
    .sidenav a {font-size: 18px;}
  }

html{overflow-x: hidden;}

HTML 代码:

<!DOCTYPE html>

<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous">
        <link rel="stylesheet" href="style.css">
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Audiowide">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
        <link rel="manifest" href="manifest.json">

        <!-- ios support -->
        <link rel="apple-touch-icon" href="images/logo/icon-96x96.png">
        <meta name="apple-mobile-web-app-status-bar" content="#292927">
        <meta name="theme-color" content="#292927">
        <title>Home-Online Supplements</title>
    </head>
    <body>
        <nav class="navbar navbar-light" style="background-color: #b8dff0;">
            <div class="container-fluid">
                <a class="navbar-brand" href="#">
                    <img src="images/logo/logo.png" alt="" width="30" height="24" class="d-inline-block align-top">
                    NextGen-Fitness</a>
                <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
                </button>
                <div class="collapse navbar-collapse" id="navbarSupportedContent">
                <ul class="navbar-nav me-auto mb-2 mb-lg-0">
                    
                    <li class="nav-item">
                    <a class="nav-link" href="#" id="formButton">Login</a>
                    </li>
                    <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                        Categories
                    </a>
                    <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
                        <li><a class="dropdown-item" href="#">Protein</a></li>
                        <li><a class="dropdown-item" href="#">Vitamins</a></li>
                        <li><a class="dropdown-item" href="#">Preworkout</a></li>
                        
                        
                    </ul>
                    </li>
                    <li class="nav-item">
                    <a class="nav-link" href="contact.html" tabindex="-1" >Contact Us</a>
                    </li>
                </ul>
                <a class="nav-link text-left" href="#" id="userRegistered" style="color:black;" ></a>
               <!-- <form class="d-flex">
                    <input class="form-control me-2" type="search" placeholder="Search" aria-label="Search">
                    <button class="btn btn-outline-dark" type="submit">Search</button>
                </form> -->
                </div>
            </div>
            
        </nav>

        <div class="center-block">    
                <form id="form1">
                    <input type="text" name="firstName" placeholder="First Name" id="fname">
                    <br><br>
                    <input type="text" name="lastName" placeholder="Last Name" id="lname">
                    <br><br>
                    <input type="text" name="email" placeholder="Email" id="email">
                    <br><br>
                    <button type="button" class="btn btn-dark" id="btnUser" onclick="funcUser()">Login</button>
                </form>
            </div>


        <!--Side Navbar #1 -->

        <div id="mySidenav" class="sidenav">
            <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
            <div class="col-xl-7 col-lg-6 col-md-12 text-lg-rights text-center">
                <img src="images/fatburner-logo2.png" alt class="img-fluid" style="width:100%">           
            </div>
            <div class="wrapper">
                <div class="img-area">
                    <div class="row">
                        <div class="column">
                            <img src="images/fatburner-1.png" alt="fatBurner" style="width:100%" class="imgHoover">
                        </div>
                    </div>
                </div>
            </div>
            <div class="wrapper">
                <div class="img-area">
                    <div class="row">
                        
                        <div class="column">
                            <img src="images/fatburner-2.png" alt="fatBurner" style="width:100%" class="imgHoover">
                        </div>
                    </div>
                </div>
            </div>


            <div class="wrapper">
                <div class="img-area">
                    <div class="row">
                        <div class="column">
                            <img src="images/fatburner-3.png" alt="fatBurner" style="width:100%" class="imgHoover">
                        </div>
                        
                    </div>
                </div>
            </div>

            <div class="wrapper">
                <div class="img-area">
                    <div class="row">
                       
                        <div class="column">
                            <img src="images/fatburner-4.png" alt="fatBurner" style="width:100%" class="imgHoover">
                        </div>
                    </div>
                </div>
            </div>

            <a href="#" class="nav-link">About</a>
            
        </div>

        <!--Side Navbar #2 -->

        <div id="mySidenav2" class="sidenav">
            <a href="javascript:void(0)" class="closebtn" onclick="closeNav2()">&times;</a>
            <div class="col-xl-7 col-lg-6 col-md-12 text-lg-rights text-center">
                <img src="images/preworkout-logo.png" alt class="img-fluid" style="width:100%">           
            </div>
            <div class="wrapper">
                <div class="img-area">
                    <div class="row">
                        <div class="column">
                            <img src="images/preworkout-1.png" alt="fatBurner" style="width:100%" class="imgHoover">
                        </div>
                    </div>
                </div>
            </div>
            <div class="wrapper">
                <div class="img-area">
                    <div class="row">
                        
                        <div class="column">
                            <img src="images/preworkout-2.png" alt="fatBurner" style="width:100%" class="imgHoover">
                        </div>
                    </div>
                </div>
            </div>


            <div class="wrapper">
                <div class="img-area">
                    <div class="row">
                        <div class="column">
                            <img src="images/preworkout-3.png" alt="fatBurner" style="width:100%" class="imgHoover">
                        </div>
                        
                    </div>
                </div>
            </div>

            <div class="wrapper">
                <div class="img-area">
                    <div class="row">
                       
                        <div class="column">
                            <img src="images/preworkout-4.png" alt="fatBurner" style="width:100%" class="imgHoover">
                        </div>
                    </div>
                </div>
            </div>

            <a href="#" class="nav-link">About</a>
            
        </div>

        <!--Side Navbar #3 -->

        <div id="mySidenav3" class="sidenav">
            <a href="javascript:void(0)" class="closebtn" onclick="closeNav3()">&times;</a>
            <div class="col-xl-7 col-lg-6 col-md-12 text-lg-rights text-center">
                <img src="images/protein-logo.png" alt class="img-fluid" style="width:100%">           
            </div>
            <div class="wrapper">
                <div class="img-area">
                    <div class="row">
                        <div class="column">
                            <img src="images/protein-1.png" alt="fatBurner" style="width:100%" class="imgHoover">
                        </div>
                    </div>
                </div>
            </div>
            <div class="wrapper">
                <div class="img-area">
                    <div class="row">
                        
                        <div class="column">
                            <img src="images/protein-2.png" alt="fatBurner" style="width:100%" class="imgHoover">
                        </div>
                    </div>
                </div>
            </div>


            <div class="wrapper">
                <div class="img-area">
                    <div class="row">
                        <div class="column">
                            <img src="images/protein-3.png" alt="fatBurner" style="width:100%" class="imgHoover">
                        </div>
                        
                    </div>
                </div>
            </div>

            <div class="wrapper">
                <div class="img-area">
                    <div class="row">
                       
                        <div class="column">
                            <img src="images/protein-4.png" alt="fatBurner" style="width:100%" class="imgHoover">
                        </div>
                    </div>
                </div>
            </div>

            <a href="#" class="nav-link">About</a>
            
        </div>

        <!--<span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; open</span>-->

        <div class="bg-light">
                <div class="container">
                    <div class="row align-items-center no-gutter">
                        <div class="col-xl-5 col-lg-6 col-md-12">
                            <div class="py-5 py-lg-0">
                                   
                                    
                                    <a class="btn btn-ligth" style="background-color: #fab95b;" href="products.html">Browse all Products</a> 
                                    <!--<a class="btn btn-light" style="background-color: #fab95b;">Are you a Store Owner?</a>-->

                                
                            </div>
                        </div>
                        <div class="col-xl-7 col-lg-6 col-md-12 text-lg-rights text-center">
                            <img src="images/gym-page.jpg" alt class="img-fluid">
                        </div>
                    </div>

                </div>
        </div>

            <div class="wrapper">
                <div class="img-area">
                    <div class="row">
                        <div class="column">
                            <img src="images/fatburner-logo2.png" alt="fatBurner" style="width:100%" class="imgHoover">
                            <a class="nav-link" href="#!" onclick="openNav()">Fatburner</a>
                        </div>
                        <div class="column">
                            <img src="images/preworkout-logo.png" alt="preWorkout" style="width:100%" class="imgHoover">
                            <a class="nav-link" href="#!" onclick="openNav2()">Preworkout</a>
                        </div>
                        <div class="column">
                            <img src="images/protein-logo2.png" alt="protein" style="width:100%" class="imgHoover">
                            <a class="nav-link" href="#!" onclick="openNav3()">Protein</a>
                        </div>
                    </div>
                    


                    

                </div>
            </div>

            <div class="col-xl-7 col-lg-6 col-md-12 text-lg-rights text-center">
                            <img src="images/supplement-frontpage.jpg" alt class="img-fluid" style="width:100%">
                           
            </div>
            <br>
                <div class="container">
                    <p class="text-black-50 mb-4 lead">
                                        
                                        " Hand-picked ingredients and expertly crafted products, 
                                            designed for the modern athletes and trainers."
                    </p>

                </div>
            <br>
            <div class="col-xl-7 col-lg-6 col-md-12 text-lg-rights text-center">
                        <img src="images/protein-frontpage.png" alt class="img-fluid" style="width:100%">
            </div>

            <br>

            <div class="container">
                    <p class="text-black-50 mb-4 lead">
                                        
                                    Benefits Of Protein Supplementation<br>
                                    1.Fast digesting and more easily absorbed than other protein sources<br>
                                    2.Increased muscle mass, especially when taken post-workout<br>
                                    3.Improved appetite control, and greater feelings of fullness when dieting<br>
                                        
                    </p>
           </div>
         <div class="footer">

            <div class="container">

                <div class="row align-items-center no-gutters border-top py-2">
                    <div class="col-md-6 col-12">
                        <span> 2021 NextGen. All Rights Reserved</span>
                    </div>
                    <div class="col-12 col-md-6">
                        <nav class="nav justify-content-center justify-content-md-end">
                            <a class="nav-link active pl-0" href="#!">Privacy</a>
                            <a class="nav-link" href="#!">Terms</a>
                            <a class="nav-link" href="#!">Feedback</a>
                        
                        </nav>
                    </div>
                
                </div>
           </div>
        </div>
        
        <script src="js/app.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin="anonymous"></script>
        <script src="js/scripts.js" ></script>
    </body>
</html>

【问题讨论】:

  • 检查您的浏览器缩放比例是否为 100%,并确保 DevTools 未停靠在单独的窗口中。这些是首先要尝试的两件事,因为原则上 HTML 和 CSS 看起来不错(即使我将它复制到小提琴中,我也无法判断它们是否会影响某些布局方式)。
  • 谢谢,您知道移动页面的尺寸应该是多少吗?不应该超过 360px 吗?
  • 移动页面可以任意大,这完全取决于您的网站内容。有些人在平板电脑上一直使用他们的“移动布局”来横向(例如 1024 像素),其他人有 2 个断点用于小手机屏幕(
  • 是的,我做了那些没用的,我会将所有图像缩小。
  • @PythonCoder1981 这里有更新吗?我看到的是如果我在桌面菜单上使用水平弹性框,我总是会收到这个错误。如果我使用 old skool CSS box 模型,没有 Lighthouse 会失败。如果我使用 display:none; 隐藏 flexbox 桌面菜单将起作用,但只有在返回时使用 display:inherit;

标签: javascript html css lighthouse


【解决方案1】:

您可以尝试将开发工具停靠在底部或其他窗口中,如this answer。可悲的是,这在 2021 年仍然是一个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-11
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-15
    • 2018-04-28
    相关资源
    最近更新 更多