html – Twitter Bootstrap 3带标签的内联表单

前端之家收集整理的这篇文章主要介绍了html – Twitter Bootstrap 3带标签的内联表单前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在任何地方搜索之后,我无法确切地看到我如何设计具有以下设计的内联表单:(尽可能使用引导3类而不是CSS自定义)

用户有宽屏幕时:

  1. Form-Legend
  2.  
  3. LabelFieldA: InputFieldA LabelFieldB: InputFieldB LabelFieldC: InputFieldC <Submit Button>

用户屏幕较小时:

  1. Form-Legend
  2.  
  3. LabelFieldA: InputFieldA LabelFieldB: InputFieldB
  4.  
  5. LabelFieldC: InputFieldC <Submit Button>

这个想法是,设计最初将所有字段放在一行中,如果它不适合,则控件将跳转到下一行,但将标签字段保持在一起。

另外,如果有一种方式,每个Label Input之间的间距大于Label和它的Field之间的间距。

最后,如果在标签字段跳到下一行之间有一个更多的垂直边距的方法

解决方法

选项#1:固定列

您可以使用混合col-xs-12,col-sm-6和col-lg-3的结构获得1,2或4列。在您的表单组中,请记住使用col-xs-4和col-xs-8修复标签/输入大小:

  1. <div class="container">
  2. <form class="form form-inline" role="form">
  3.  
  4. <legend>Form legend</legend>
  5.  
  6. <div class="form-group col-xs-12 col-sm-6 col-lg-3">
  7. <label for="InputFieldA" class="col-xs-4">Field A</label>
  8. <div class="col-xs-8">
  9. <input type="text" class="form-control" id="InputFieldA" placeholder="InputFieldA">
  10. </div>
  11. </div>
  12.  
  13. <div class="form-group col-xs-12 col-sm-6 col-lg-3">
  14. <label for="InputFieldB" class="col-xs-4">Field B</label>
  15. <div class="col-xs-8">
  16. <input type="text" class="form-control" id="InputFieldB" placeholder="InputFieldB">
  17. </div>
  18. </div>
  19.  
  20. <div class="form-group col-xs-12 col-sm-6 col-lg-3">
  21. <label for="InputFieldC" class="col-xs-4">Field C</label>
  22. <div class="col-xs-8">
  23. <input type="text" class="form-control" id="InputFieldC" placeholder="InputFieldC">
  24. </div>
  25. </div>
  26.  
  27. <div class="form-group col-xs-12 col-sm-6 col-lg-3">
  28. <button type="submit" class="btn btn-default col-xs-8 col-xs-offset-4">Submit Button</button>
  29. </div>
  30.  
  31. </form>
  32. </div>

你还需要几个CSS:

  1. // get a larger input,and align it with submit button
  2. .form-inline .form-group > div.col-xs-8 {
  3. padding-left: 0;
  4. padding-right: 0;
  5. }
  6. // vertical align label
  7. .form-inline label {
  8. line-height: 34px;
  9. }
  10. // force inline control to fit container width
  11. // http://getbootstrap.com/css/#forms-inline
  12. .form-inline .form-control {
  13. width: 100%;
  14. }
  15. // Reset margin-bottom for our multiline form
  16. @media (min-width: 768px) {
  17. .form-inline .form-group {
  18. margin-bottom: 15px;
  19. }
  20. }

您可以添加任意数量的输入。

Bootply

选项#2:流体柱

为了不必关心每行的字段数,可以使用以下结构:

  1. <div class="container">
  2. <form class="form form-inline form-multiline" role="form">
  3.  
  4. <legend>Form legend</legend>
  5.  
  6. <div class="form-group">
  7. <label for="InputFieldA">Field A</label>
  8. <input type="text" class="form-control" id="InputFieldA" placeholder="InputFieldA">
  9. </div>
  10.  
  11. <div class="form-group">
  12. <label for="InputFieldB">Very Long Label For Field B</label>
  13. <input type="text" class="form-control" id="InputFieldB" placeholder="InputFieldB">
  14. </div>
  15.  
  16. <div class="form-group">
  17. <label for="InputFieldC">F. C</label>
  18. <input type="text" class="form-control" id="InputFieldC" placeholder="InputFieldC">
  19. </div>
  20.  
  21. <div class="form-group">
  22. <label for="InputFieldD">Very Long Label For Field D</label>
  23. <input type="text" class="form-control" id="InputFieldD" placeholder="InputFieldD">
  24. </div>
  25.  
  26. <div class="form-group">
  27. <label for="InputFieldE">Very Long Label For Field E</label>
  28. <input type="text" class="form-control" id="InputFieldE" placeholder="InputFieldE">
  29. </div>
  30.  
  31. <div class="form-group">
  32. <label for="InputFieldF">Field F</label>
  33. <input type="text" class="form-control" id="InputFieldF" placeholder="InputFieldF">
  34. </div>
  35.  
  36. <div class="form-group">
  37. <button type="submit" class="btn btn-default">Submit Button</button>
  38. </div>
  39.  
  40. </form>
  41. </div>

还有一些CSS线来修复边距:

  1. .form-multiline .form-group {
  2. margin-bottom: 15px;
  3. margin-right: 30px;
  4. }
  5. .form-multiline label,.form-multiline .form-control {
  6. margin-right: 15px;
  7. }

Bootply

猜你在找的HTML相关文章