【问题标题】:When NOT to use form-group in Twitter Bootstrap 3?何时不在 Twitter Bootstrap 3 中使用表单组?
【发布时间】:2015-01-14 20:12:25
【问题描述】:

我正在开发一个 PHP templating engine,它将具有围绕 Bootstrap 3 设计的自定义模块。

我正在开发一个FormBuilder 模块,该模块将包含FormField 元素。这些FormField 元素将自动呈现表单中的每个字段并设置其样式。

问题是,我是否应该让这些FormField 元素自动将自己包裹在<div class='form-group'> 标签中?有人为什么不应该将form-group 用于表单组件?

如果有帮助,我计划创建一个单独的 FormButton 类,因为按钮的行为/样式与其他表单元素不同。

编辑:再想一想之后,我可以使用抽象类来做这样的事情:

class FormBuilder {
    protected $components = [];    // Array of FormComponents
    ...
}

abstract class FormComponent {
    ...
}

class FormGroup extends FormComponent {
    protected $field;    // A FormField object
    ...
}

class FormField extends FormComponent {
    ...
}

class FormButton extends FormComponent {
    ...
}

【问题讨论】:

    标签: php forms twitter-bootstrap templates template-engine


    【解决方案1】:

    这取决于您是否打算拥有一个处理一组单选框或复选框的 FormField。这实际上是唯一一个具有多个输入标签而没有组的控件。对于这两种情况,您最好将其作为可选内容包含在内,因为从不输出表单组 div 或始终输出它们会在外观和感觉方面给您带来麻烦。

    【讨论】:

    • 我确实注意到在 Bootstrap 的网站上,他们似乎总是使用没有form-group 的单选/复选框组。但看看其他项目,尤其是formvalidation,似乎他们在form-group 中包装了多组复选框,没有任何问题。
    • 这取决于您希望它最终的外观。这就是为什么我建议在将控制对象包装在其中时使 div 成为可选的。这样你就可以在你想要的情况下得到你想要的。有意义的灵活性。
    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    • 2012-05-08
    • 1970-01-01
    • 2013-08-18
    • 1970-01-01
    相关资源
    最近更新 更多