媒体查询不适用于HTML表单

时间:2018-08-29 08:37:21

标签: html css

当浏览器宽度达到或小于1460px时,我希望表单标签和输入字段的字体大小从18px缩小到10px。

我读到,当浏览器宽度减小时,无法使字体自动“缩小”,因此我需要使用媒体查询。

因此,我在样式标签的顶部放置了一个媒体查询,询问标签的字体大小,并在屏幕尺寸为1460px时输入以10px显示,但是似乎不起作用。但是,我的其余代码工作正常,因此必须与我编写媒体查询的方式有关。

如果有人可以提供一些帮助,将不胜感激..我的代码粘贴在下面。

@media only screen and (max-width: 1460px) {
  label input {
    font-size: 10px;
  }
}

* {
  box-sizing: border-box;
}

input[type=text],
select {
  width: 95%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 3px;
  resize: vertical;
  transition: 0.3s;
  outline: none;
  font-family: Typ1451-Medium;
  font-size: 18px;
  margin: 7px;
}

input[type=text]:focus {
  border: 1.25px solid #ea0088;
}

label {
  padding: 21px 12px 12px 12px;
  margin-left: 5px;
  display: inline-block;
  font-family: Typ1451-Medium;
  font-size: 18px;
  color: #999;
}

.container {
  border-radius: 5px;
  background-color: #f2f2f2;
  padding: 20px;
  margin: 2.5% 20% 0 20%;
}

.col-25 {
  float: left;
  width: 25%;
  margin-top: 6px;
}

.col-75 {
  float: left;
  width: 75%;
  margin-top: 6px;
}

.left,
.right {
  width: 50%;
}

form {
  display: flex;
}
<div class="container">

  <form action="signin.php" method="post">


    <div class="left">
      <div class="row">
        <div class="col-25">
          <label for="fname">First Name</label>
        </div>
        <div class="col-75">
          <input type="text" id="fname" name="firstname" placeholder="* Please complete">
        </div>
      </div>
    </div>


    <div class="right">
      <div class="row">
        <div class="col-25">
          <label for="lname">Last Name</label>
        </div>
        <div class="col-75">
          <input type="text" id="lname" name="lastname" placeholder="* Please complete">
        </div>
      </div>
    </div>


  </form>

</div>

2 个答案:

答案 0 :(得分:0)

您的选择器-label input-与HTML中的任何元素都不匹配。

input元素中没有一个是label元素的后代。

也许您是说label, input选择label个元素 input个元素。如果是这样,则仍然无法使用,因为您稍后使用更具体的选择器(以及最具体的选择器wins the cascade)和input定义了label字体大小相似的方式(它没有更具体的选择器,但是当选择器相等时, last 一个将赢得级联)。

答案 1 :(得分:0)

实际上,您可以根据视口大小向上或向下缩放字体。有一种使用calc()vw单位的方法: 基本上,您可以进行类似font-size: 3vw的操作,然后设置最大和最小字体大小。 这是《粉碎杂志》上的link to the calculation。本文的其余部分也很有趣。

您可以进一步扩展此功能,并通过媒体查询来优化字体大小。

玩得开心! :)