【问题标题】:html height 100% ignored by webviewhtml 高度 100% 被 webview 忽略
【发布时间】:2015-12-20 04:07:09
【问题描述】:

webview 不理解什么 html 高度 100% 意味着它只是显示一个空白页面。但是,在移动浏览器中它工作得非常好。谁能帮我?我已经提出了很多建议,但都没有奏效。正如您在代码中看到的,我特意将 html 背景颜色设置为红色,以便我可以查看 html 文档是否确实在我的 webview 上。我根本看不到任何红色,它只是纯白色。

只有当我硬设置高度并且我不想那样做时它才有效。我的代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, height=device-height, user-scalable=no, initial-scale=1, maximum-scale=1">
<title>WhyQ</title>
<link href="http://fonts.googleapis.com/css?family=Titillium+Web:400,400italic,700" rel="stylesheet" type="text/css">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>    
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<style>
html{
   margin:0;
   padding:0;
   height:100%;
   min-height:100%;
   background-color:red;
   position:relative;
}
body {
   font-family: 'Titillium Web', sans-serif;
   width: 100%;
   min-height: 100%;
   height: 100%;
   margin: 0 auto;
   padding: 0;
   background-color:red; /*#E9E9E9;*/
   position:relative;
}
</style>
</head>
<body style="position:relative">
<div style="overflow-y:hidden" class="container-fluid login-container">
    <div class="row" style="height:15%;">
        <div class="col-xs-12 txt-center full-height"></div>
    </div>

    <div class="row" style="height:13%;">
        <div class="col-xs-12 txt-center login-sub-container-whyqLogo full-height"></div>
    </div>

    <div class="row" style="height:5%;">
        <div class="col-xs-12 txt-center"></div>
    </div>

    <div class="row" style="height:30%;">
        <div class="col-xs-12 txt-center login-sub-container-whyqMascot full-height"></div>
    </div>

    <div class="row" style="height:20%;">
        <div class="col-xs-12 txt-center full-height"></div>
    </div>

    <div class="row" style="height:16%;">
        <div class="col-xs-12 txt-center full-height">
            <button type="button" class="btn btn-login btn-md" data-toggle="modal" data-target="#loginModal">LOG IN</button>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <a href="./new-order.php" class="btn btn-login btn-md" role="button" style="color:white">TRY IT</a>
        </div>
    </div>
    <!-- Modal -->
    <div class="modal" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="loginModalLabel" aria-hidden="true">
      <div class="modal-dialog modal-dialog-loginForm">
        <div class="modal-content modal-content-loginForm">
            <div class="modal-body modal-body-loginForm">
                <div class="container-fluid">
                    <div class="row-fluid" style="display:none" id="loginName">
                        <input class="login-input" id="txt_name" name="txt_name" type="text" required placeholder=" NAME"><br/><br/>
                    </div>
                    <div class="row-fluid">
                        <input class="login-input" id="txt_username" name="txt_username" type="text" required placeholder=" EMAIL"><br/><br/>
                    </div>
                    <div class="row-fluid">
                        <input class="login-input" id="txt_password" name="txt_password" type="password" required placeholder=" PASSWORD"><br/><br/>
                    </div>
                    <div class="row-fluid" style="display:none" id="loginPwd2">
                        <input class="login-input" id="txt_password2" name="txt_password2" type="password" required placeholder=" CONFIRM PASSWORD"><br/><br/>
                    </div>
                    <div class="row-fluid" style="display:none" id="loginPhone">
                        <input class="login-input" id="txt_phone" name="txt_phone" type="text" required placeholder=" PHONE NUMBER"><br/><br/>
                    </div>
                    <div class="row-fluid">
                        <a href="#"><img class="icon border-radius-3" src="images/g-icon.png" alt="Google" /></a>&nbsp;&nbsp;
                        <a href="#"><img class="icon border-radius-3" src="images/f-icon.png" alt="Facebook" /></a>
                        <button type="button" id="btnRegister" onclick="showRegisterField()" class="btn btn-login-modal btn-sm border-radius-3">SIGN UP</button>&nbsp;&nbsp;
                        <button type="button" onclick="login()" style="margin-right:10px" class="btn btn-login-modal btn-sm border-radius-3">LOGIN</button>
                        <!--<button type="button" class="btn btn-login-modal btn-sm border-radius-3"></button>//-->
                    </div>
                </div>
            </div>
        </div>
      </div>
    </div>

</div>

【问题讨论】:

    标签: android css webview height


    【解决方案1】:

    确保您的 webview 布局配置正确:

    android:layout_height="ma​​tch_parent"

    如果您使用 wrap_content,webview 本身将缩小到零,因此只显示空白页面。

    【讨论】:

      【解决方案2】:

      在 IE 和 chrome 中显示为红色,我建议使用 height:100vh; 代替 height: 100%;,因为这会将 div 设置为视口高度的 100%。 div 标签不会自动获取视口的高度,您必须告诉它这样做。还删除了以下代码作为位置:相对;是用于 Tgas 而不是 .还从行标签中删除了高度样式。您可以在 css 中设置,但高度应为每一行自行设置。

      html{
         margin:0;
         padding:0;
          
      }
      body {
         font-family: 'Titillium Web', sans-serif;
         width: 100%;
         background-color:red; /*#E9E9E9;*/
         
      }
      .cont-height {
      height: 100vh;
      }
      <div  class="container-fluid login-container cont-height">
          <div class="row" >
              <div class="col-xs-12 txt-center full-height"></div>
          </div>
      
          <div class="row" >
              <div class="col-xs-12 txt-center login-sub-container-whyqLogo full-height"></div>
          </div>
      
          <div class="row" >
              <div class="col-xs-12 txt-center"></div>
          </div>
      
          <div class="row" >
              <div class="col-xs-12 txt-center login-sub-container-whyqMascot full-height"></div>
          </div>
      
          <div class="row">
              <div class="col-xs-12 txt-center full-height"></div>
          </div>
      
          <div class="row" >
              <div class="col-xs-12 txt-center full-height">
                  <button type="button" class="btn btn-login btn-md" data-toggle="modal" data-target="#loginModal">LOG IN</button>
                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                  <a href="./new-order.php" class="btn btn-login btn-md" role="button" style="color:white">TRY IT</a>
              </div>
          </div>
          <!-- Modal -->
          <div class="modal" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="loginModalLabel" aria-hidden="true">
            <div class="modal-dialog modal-dialog-loginForm">
              <div class="modal-content modal-content-loginForm">
                  <div class="modal-body modal-body-loginForm">
                      <div class="container-fluid">
                          <div class="row-fluid" style="display:none" id="loginName">
                              <input class="login-input" id="txt_name" name="txt_name" type="text" required placeholder=" NAME"><br/><br/>
                          </div>
                          <div class="row-fluid">
                              <input class="login-input" id="txt_username" name="txt_username" type="text" required placeholder=" EMAIL"><br/><br/>
                          </div>
                          <div class="row-fluid">
                              <input class="login-input" id="txt_password" name="txt_password" type="password" required placeholder=" PASSWORD"><br/><br/>
                          </div>
                          <div class="row-fluid" style="display:none" id="loginPwd2">
                              <input class="login-input" id="txt_password2" name="txt_password2" type="password" required placeholder=" CONFIRM PASSWORD"><br/><br/>
                          </div>
                          <div class="row-fluid" style="display:none" id="loginPhone">
                              <input class="login-input" id="txt_phone" name="txt_phone" type="text" required placeholder=" PHONE NUMBER"><br/><br/>
                          </div>
                          <div class="row-fluid">
                              <a href="#"><img class="icon border-radius-3" src="images/g-icon.png" alt="Google" /></a>&nbsp;&nbsp;
                              <a href="#"><img class="icon border-radius-3" src="images/f-icon.png" alt="Facebook" /></a>
                              <button type="button" id="btnRegister" onclick="showRegisterField()" class="btn btn-login-modal btn-sm border-radius-3">SIGN UP</button>&nbsp;&nbsp;
                              <button type="button" onclick="login()" style="margin-right:10px" class="btn btn-login-modal btn-sm border-radius-3">LOGIN</button>
                              <!--<button type="button" class="btn btn-login-modal btn-sm border-radius-3"></button>//-->
                          </div>
                      </div>
                  </div>
              </div>
            </div>
          </div>
      
      </div>

      【讨论】:

      • 您好,感谢您的回复,但正如我所指出的,问题不在浏览器上,而在 webview 上。我对浏览器没有任何问题。但我会尝试使用 vh。
      【解决方案3】:

      我在这里遇到了同样的问题:

      Android WebView: how to let the css use the entire height w/ position absolute?

      我回答了我自己的问题,问题是使用 alignParent 而不是 match_parent。

      我希望这就是你的问题。

      无论如何,尝试为您的 WebView 设置一些边框,以查看它实际停止的位置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-24
        • 2017-02-24
        • 2013-03-31
        • 1970-01-01
        • 2012-11-06
        • 1970-01-01
        • 2015-03-21
        • 1970-01-01
        相关资源
        最近更新 更多