使用mithril.js的引导按钮之间的水平空间

时间:2015-07-23 01:49:58

标签: twitter-bootstrap mithril.js

使用纯引导时,按钮之间有一个小的水平空间。

<div class="container-fluid">
    <div class="row">
        <div class="col-xs-12">
            <button class="btn btn-primary">Save</button>
            <button class="btn btn-default">Cancel</button>
        </div>
    </div>
</div>

如果使用mithril.js创建元素,则此空间将消失:

var my = {};
my.view = function() {
  return m('.container-fluid', 
    m('.row',
      m('.col-xs-12', [
    m('button.btn.btn-default', 'Save'),
    m('button.btn.btn-default', 'Cancel')
      ])
    )
  );
};
m.mount(document.body, my);

是什么导致bootstrap在按钮之间添加小空间?如何在mithril.js中重现它?

2 个答案:

答案 0 :(得分:3)

HTML中的行尾或空格似乎导致按钮之间的水平空间很小。有关类似问题,请参阅this。要解决mithril.js中的问题,我只是在按钮之间添加了空格:

var my = {};
my.view = function() {
  return m('.container-fluid', 
    m('.row',
      m('.col-xs-12', [
    m('button.btn.btn-default', 'Save'),
    ' ',
    m('button.btn.btn-default', 'Cancel')
      ])
    )
  );
};
m.mount(document.body, my);

答案 1 :(得分:2)

具有讽刺意味的是,我在编写HTML模板时经常遇到的一大难题是试图消除空白。使用秘银,没有空白。我写了这个小函数来帮助我编写模板,我期望有差距:

function gaps(){
    return Array.prototype.reduce.call( arguments, 
        function intersperse( output, item, index ){
            return Array.prototype.concat.call( output, ' ', item )
        } 
    )
}

所以你的代码会变成:

var my = {};
my.view = function() {
  return m('.container-fluid', 
    m('.row',
      m('.col-xs-12', gaps(
        m('button.btn.btn-default', 'Save'),
        m('button.btn.btn-default', 'Cancel')
      ))
    )
  );
};
m.mount(document.body, my);