如何使用CSS创建响应式表单?
要使用CSS创建响应式表单,我们将使用HTML 表单元素,例如带有type属性和标签的HTML 输入标签。我们将使用CSS属性设计创建的表单,并使用媒体查询使其具有响应性。我们将逐步了解使用css创建响应式表单的过程。
在这篇文章中,我们拥有表单元素,我们的任务是使用CSS创建一个响应式表单。
创建响应式表单的步骤
我们将遵循以下步骤来创建一个响应式表单。
使用HTML创建表单结构
- 我们使用input标签创建了六个输入字段来收集用户信息,并为相应的输入字段添加了labels。
- 然后,我们将它们包装在两个div中,每个div包含三个标签和输入字段,构成两列。我们将所有这些元素包装在一个名为container的div中。
- 最后,我们使用input标签和type属性创建了一个提交按钮。
<h2> Creating Responsive Form with CSS </h2> <div class="container"> <div class="formContainer"> <div class="container"> <div> <label for="fname">Full Name</label> <input type="text" id="fname" name="firstname" placeholder="Enter Name" /> <label for="email"> Email</label> <input type="text" id="email" name="email" placeholder="[email protected]" /> <label for="uname">Username</label> <input type="text" id="uname" name="username" placeholder="Enter User Name" /> </div> <div> <label for="pass">Password</label> <input type="text" id="pass" name="pwd" placeholder="Enter Password" /> <label for="cnfpass">Confirm Password</label> <input type="text" id="cnfpass" name="cnfpwd" placeholder="Confirm Password" /> <label for="pass">D.O.B</label> <input type="text" id="dob" name="dob" placeholder="dd-mm-yyyy" /> </div> </div> <input type="submit" value="Submit" /> </div> </div>
使用CSS进行响应式设计
- 我们使用container通过display属性将其设置为flexbox,使用justify-content使表单元素均匀分布。CSS gap属性在分隔输入字段的div元素之间添加间隙。
- 然后,我们使用margin属性设置标签的顶部和底部边距,并使用display属性将标签用作块元素。
- 我们使用formContainer类来设计包含所有输入字段和标签的容器,方法是设置其背景颜色和文本颜色,使用border-radius属性创建圆角容器,并设置padding。
- 然后,我们使用属性选择器“input[type="text"]”来设计所有输入字段。我们将输入字段的宽度设置为100%,占据可用空间,设置底部边距、边框和用于曲线边缘的边框半径以及输入字段的填充。
- 类似地,我们使用属性选择器来设计提交按钮,方法是设置其背景颜色、字体大小和光标为指针,填充、宽度和用于曲线边缘按钮的边框半径。悬停时,它会使用hover伪类更改其背景和文本颜色。
- 最后,我们使用@media查询实现响应式。我们将屏幕的最大宽度设置为600像素,即对于屏幕宽度小于600像素的情况,表单布局将更改。它将使用flex-direction属性将输入字段逐列显示,而不是并排显示。
body { font-family: Verdana, sans-serif; font-size: 15px; padding: 8px; } * { box-sizing: border-box; } .container { display: flex; flex-wrap: wrap; padding: 20px; justify-content: space-around; } .container div { gap: 10px; } label { margin: 15px 0px 15px 0px; display: block; } .formContainer { background-color: #031926; color: white; padding: 5px 20px 15px 20px; border-radius: 3px; } input[type="text"] { display: inline-block; width: 100%; margin-bottom: 20px; padding: 12px; border: 1px solid #ccc; border-radius: 3px; } input[type="submit"] { width: 100%; border-radius: 3px; background-color: #031926; color: white; padding: 12px 20px; border: none; cursor: pointer; font-size: 18px; } input[type="submit"]:hover { background-color: white; color: #031926; } @media (max-width: 600px) { .container { flex-direction: column; } }
完整示例代码
以下是实现上述两个步骤以使用CSS创建响应式表单的完整示例代码。
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> body { font-family: Verdana, sans-serif; font-size: 15px; padding: 8px; } * { box-sizing: border-box; } .container { display: flex; flex-wrap: wrap; padding: 20px; justify-content: space-around; } .container div { gap: 10px; } label { margin: 15px 0px 15px 0px; display: block; } .formContainer { background-color: #031926; color: white; padding: 5px 20px 15px 20px; border-radius: 3px; } input[type="text"] { display: inline-block; width: 100%; margin-bottom: 20px; padding: 12px; border: 1px solid #ccc; border-radius: 3px; } input[type="submit"] { width: 100%; border-radius: 3px; background-color: #031926; color: white; padding: 12px 20px; border: none; cursor: pointer; font-size: 18px; } input[type="submit"]:hover { background-color: white; color: #031926; } @media (max-width: 600px) { .container { flex-direction: column; } } </style> </head> <body> <h1> Creating Responsive Form with CSS </h1> <div class="container"> <div class="formContainer"> <div class="container"> <div> <label for="fname">Full Name</label> <input type="text" id="fname" name="firstname" placeholder="Enter Name" /> <label for="email"> Email</label> <input type="text" id="email" name="email" placeholder="[email protected]" /> <label for="uname">Username</label> <input type="text" id="uname" name="username" placeholder="Enter User Name" /> </div> <div> <label for="pass">Password</label> <input type="text" id="pass" name="pwd" placeholder="Enter Password" /> <label for="cnfpass">Confirm Password</label> <input type="text" id="cnfpass" name="cnfpwd" placeholder="Confirm Password" /> <label for="pass">D.O.B</label> <input type="text" id="dob" name="dob" placeholder="dd-mm-yyyy" /> </div> </div> <input type="submit" value="Submit" /> </div> </div> </body> </html>
结论
在本文中,我们学习了如何使用CSS创建响应式表单。首先,我们使用表单元素创建了表单的基本HTML结构,然后使用CSS进行设计并使表单具有响应性。
广告