为什么bootstrap对按钮使用无单位行高,而对于边距和填充使用基于像素的行高

时间:2014-12-05 08:03:32

标签: html css twitter-bootstrap

Bootstrap的variables.less文件包含以下关于行高的变量:

//** Unit-less `line-height` for use in components like buttons.
@line-height-base:        1.428571429; // 20/14
//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
@line-height-computed:    floor((@font-size-base * @line-height-base)); // ~20px

正如评论所示,无单位行高确实用于按钮:

.btn {
  display: inline-block;
  margin-bottom: 0; // For input.btn
  ...
  .button-size(...; @line-height-base; ...);  
}

基于像素的行高在哪里用于边距,例如:

.alert {
  padding: @alert-padding;
  margin-bottom: @line-height-computed;
  ...
}

我想知道为什么会这样?

1 个答案:

答案 0 :(得分:3)

无单位边距和填充不是合法的css,而无单位的行高与字体大小有关。

http://www.w3schools.com/css/css_margin.asp

http://www.w3schools.com/css/css_padding.asp

http://www.w3schools.com/cssref/pr_dim_line-height.asp