当浏览器宽度达到或小于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>
答案 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。本文的其余部分也很有趣。
您可以进一步扩展此功能,并通过媒体查询来优化字体大小。
玩得开心! :)