html - 在基于 Bootstrap 的网站中更改方向后字体大小发生变化

标签 html css bootstrap-4

当我将手机的方向更改为横向,然后再次更改为纵向,然后是“欢迎学生!”的字体大小更改而不是在两行中显示它,浏览器将它显示在一行中,字体较小。我使用 Bootstrap “display-1”表示“欢迎”,使用“display-3”表示“学生!”。我缩短了字体大小返回原始方向后发生变化。

/* and if you want script also then */
function css_ruling() {
  var winw = window.innerWidth
  var winh = window.innerHeight
  var heading = document.getElementById("name")
  var first_look = document.getElementById("first")
  first_look.style.height = ((0.95) * winh) + "px";
  first_look.style.width = winw + "px";
}
setInterval(() => {
  css_ruling()
}, 5);
html {
  -webkit-text-size-adjust: none;
}

#first {
  background-image: linear-gradient(141deg, #9fb8ad 0%, #1fc8db 51%, #2cb5e8 75%);
}

#name {
  text-align: center;
  color: white;
  font-family: 'Quicksand';
}

.banner-img {
  background-image: url("../resources/banner.jpg");
  background-attachment: fixed;
  background-size: 100% 100%;
  width: 100%;
  height: 980px;
}

.avtar {
  width: 10%;
  min-width: 150px;
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <link rel="stylesheet" href="bootstrap/bootstrap.min.css?v=2">
  <link rel="stylesheet" href="css/style.css?v=4">
  <link href="https://fonts.googleapis.com/css?family=Quicksand:300,500" rel="stylesheet">
</head>

<body>
  <section id="first">
    <div id="nav">
      <nav class="navbar navbar-expand-lg navbar-dark ">
        <a class="navbar-brand" href="#">Homework.com</a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarColor01" aria-controls="navbarColor01" aria-expanded="false" aria-label="Toggle navigation">
                          <span class="navbar-toggler-icon"></span>
                        </button>

        <div class="collapse navbar-collapse text-center" id="navbarColor01">
          <ul class="navbar-nav mr-auto">
            <li class="nav-item active">
              <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Features</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Pricing</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">About</a>
            </li>
          </ul>
          <form class="form-inline">
            <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
            <button class="btn btn-outline-info text-white my-2 my-sm-0 ml-auto mr-auto" type="submit">Search</button>
          </form>
        </div>
      </nav>
    </div>
    <div id="name" class="pt-5"><span class="display-1">Welcome </span><span class="display-3">Students!</span></div>
    <div id="form_login">
      <form action="" class="">
        <div class="text-center pt-5">
          <img src="resources/man.svg" style="min-width: 90px" class="avtar" alt="">
        </div>
      </form>
    </div>
  </section>
  <!-- <script src="bootstrap/bootstrap.min.js"></script> -->
  <!-- <script src="bootstrap/jquery-3.3.1.slim.min.js"></script> -->
  <!-- <script src="bootstrap/popper.min.js"></script> -->
  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
  <script src="js/script.js?v=2"></script>
</body>

</html>

最佳答案

尝试使用原生 API,

@media (orientation: landscape) {
  //styles
}

@media (orientation: portrait) {
  //styles
}

使用 setInterval 方法计算设备高度和宽度不太可能给您想要的结果。 https://developer.mozilla.org/en-US/docs/Web/Performance/Critical_rendering_path

关于html - 在基于 Bootstrap 的网站中更改方向后字体大小发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58109107/

相关文章:

javascript - AngularJS:如何在指令中使用 JS 脚本

JavaScript/JSP - 为什么 "CheckboxStateChange"事件监听器不起作用?

javascript - 选中单选按钮时如何为div添加背景色

html - 删除您无权编辑的 CSS 属性

php - 下拉菜单选择不导航到链接

java - 将 base64 字符串图像显示为超链接

javascript - 禁用按钮时触发javascript函数?

javascript - 当我增加字体大小时 div 边框大小也在增加

html - 尽管使用@media 查询,文本仍拒绝调整大小

css - Bootstrap 4 轮播中的内容对齐/禁用左侧指示器