scss 使用SASS以正确的方式将类型与基线对齐

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scss 使用SASS以正确的方式将类型与基线对齐相关的知识,希望对你有一定的参考价值。

$base-font-size: 	16px;
$base-line-height: 	1.5;

// this value may vary for each font
// unitless value relative to 1em
$cap-height: 		0.68;


@mixin baseline($font-size, $scale: 2) {

	// rhythm unit
	$rhythm: $base-line-height * $font-size / $scale;

	// number of rhythm units that can fit the font-size
	$lines: ceil(($font-size + 0.001px) / $rhythm);

	// calculate the new line-height
	$line-height: $rhythm * $lines / $font-size;

	// use the results
	font-size: $font-size;
	line-height: $line-height;

	$baseline-distance: ($line-height - $cap-height) / 2;



	// METHOD 1
	/////////////////

	// this method can relatively move down elements you may not want to
	// position: relative;
	// top: $baseline-distance + em;



	// METHOD 2
	/////////////////

	// if you use this mixin only on elements that have one direction margins
	// http://csswizardry.com/2012/06/single-direction-margin-declarations/
	// you can use this method with no worries. 
	// this method assumes the direction is down and the margin is $base-line-height
	padding-top: $baseline-distance + em;
	margin-bottom: $base-line-height - $baseline-distance + em;
}

以上是关于scss 使用SASS以正确的方式将类型与基线对齐的主要内容,如果未能解决你的问题,请参考以下文章

如果存在同名的其他类型文件,Sass-loader 无法正确解析导入

如何将 Glyphs 沿基线与 Freetype 对齐?

计算 UITextField 基线位置

scss 基于行高的基线网格SASS mixin,支持rem和px。显示在页面内容上方。按W切换

scss 基于行高的基线网格SASS mixin,支持rem和px。显示在页面内容上方。按W切换

将文本基线与 CSS 中的按钮对齐