CSS 响应式表单样式
调整浏览器窗口的大小以查看效果。当屏幕宽度小于600px时,使两列堆叠在一起,而不是相邻。
下面的示例使用媒体查询(media queries)创建响应窗体。您将在后面的一章中了解更多关于此的信息。
完整代码看如下:
<!DOCTYPE html>
<html>
<head>
<style>
* {
box-sizing: border-box;
}
input[type=text], select, textarea {
width: 100%;
padding: 12px;
border: 1px solid #ccc;
border-radius: 4px;
resize: vertical;
}
label {
padding: 12px 12px 12px 0;
display: inline-block;
}
input[type=submit] {
background-color: #4CAF50;
color: white;
padding: 12px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
float: right;
}
input[type=submit]:hover {
background-color: #45a049;
}
.container {
border-radius: 5px;
background-color: #f2f2f2;
padding: 20px;
}
.col-25 {
float: left;
width: 25%;
margin-top: 6px;
}
.col-75 {
float: left;
width: 75%;
margin-top: 6px;
}
.row:after {
content: "";
display: table;
clear: both;
}
@media screen and (max-width: 600px) {
.col-25, .col-75, input[type=submit] {
width: 100%;
margin-top: 0;
}
}
</style>
</head>
<body>
<h2>响应式表单</h2>
<p>调整浏览器窗口的大小以查看效果。当屏幕宽度小于600px时,使两列堆叠在一起,而不是相邻。</p>
<div class="container">
<form action="/example/html/action_page.ashx">
<div class="row">
<div class="col-25">
<label for="fname">姓氏</label>
</div>
<div class="col-75">
<input type="text" id="fname" name="firstname" placeholder="你的姓氏..">
</div>
</div>
<div class="row">
<div class="col-25">
<label for="lname">名字</label>
</div>
<div class="col-75">
<input type="text" id="lname" name="lastname" placeholder="你的名字..">
</div>
</div>
<div class="row">
<div class="col-25">
<label for="country">国家</label>
</div>
<div class="col-75">
<select id="country" name="country">
<option value="australia">澳大利亚</option>
<option value="canada">加拿大</option>
<option value="usa">美国</option>
</select>
</div>
</div>
<div class="row">
<div class="col-25">
<label for="subject">自我介绍</label>
</div>
<div class="col-75">
<textarea id="subject" name="subject" placeholder="自我介绍.." style="height:200px"></textarea>
</div>
</div>
<div class="row">
<input type="submit" value="提交">
</div>
</form>
</div>
</body>
</html>