CSS 响应式表单样式

调整浏览器窗口的大小以查看效果。当屏幕宽度小于600px时,使两列堆叠在一起,而不是相邻。

下面的示例使用媒体查询(media queries)创建响应窗体。您将在后面的一章中了解更多关于此的信息。

完整代码看如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. * {
  6. box-sizing: border-box;
  7. }
  8. input[type=text], select, textarea {
  9. width: 100%;
  10. padding: 12px;
  11. border: 1px solid #ccc;
  12. border-radius: 4px;
  13. resize: vertical;
  14. }
  15. label {
  16. padding: 12px 12px 12px 0;
  17. display: inline-block;
  18. }
  19. input[type=submit] {
  20. background-color: #4CAF50;
  21. color: white;
  22. padding: 12px 20px;
  23. border: none;
  24. border-radius: 4px;
  25. cursor: pointer;
  26. float: right;
  27. }
  28. input[type=submit]:hover {
  29. background-color: #45a049;
  30. }
  31. .container {
  32. border-radius: 5px;
  33. background-color: #f2f2f2;
  34. padding: 20px;
  35. }
  36. .col-25 {
  37. float: left;
  38. width: 25%;
  39. margin-top: 6px;
  40. }
  41. .col-75 {
  42. float: left;
  43. width: 75%;
  44. margin-top: 6px;
  45. }
  46. .row:after {
  47. content: "";
  48. display: table;
  49. clear: both;
  50. }
  51. @media screen and (max-width: 600px) {
  52. .col-25, .col-75, input[type=submit] {
  53. width: 100%;
  54. margin-top: 0;
  55. }
  56. }
  57. </style>
  58. </head>
  59. <body>
  60. <h2>响应式表单</h2>
  61. <p>调整浏览器窗口的大小以查看效果。当屏幕宽度小于600px时,使两列堆叠在一起,而不是相邻。</p>
  62. <div class="container">
  63. <form action="/example/html/action_page.ashx">
  64. <div class="row">
  65. <div class="col-25">
  66. <label for="fname">姓氏</label>
  67. </div>
  68. <div class="col-75">
  69. <input type="text" id="fname" name="firstname" placeholder="你的姓氏..">
  70. </div>
  71. </div>
  72. <div class="row">
  73. <div class="col-25">
  74. <label for="lname">名字</label>
  75. </div>
  76. <div class="col-75">
  77. <input type="text" id="lname" name="lastname" placeholder="你的名字..">
  78. </div>
  79. </div>
  80. <div class="row">
  81. <div class="col-25">
  82. <label for="country">国家</label>
  83. </div>
  84. <div class="col-75">
  85. <select id="country" name="country">
  86. <option value="australia">澳大利亚</option>
  87. <option value="canada">加拿大</option>
  88. <option value="usa">美国</option>
  89. </select>
  90. </div>
  91. </div>
  92. <div class="row">
  93. <div class="col-25">
  94. <label for="subject">自我介绍</label>
  95. </div>
  96. <div class="col-75">
  97. <textarea id="subject" name="subject" placeholder="自我介绍.." style="height:200px"></textarea>
  98. </div>
  99. </div>
  100. <div class="row">
  101. <input type="submit" value="提交">
  102. </div>
  103. </form>
  104. </div>
  105. </body>
  106. </html>

分类导航