假设我们有一个标签font-size:65%;
我们如何用pt
或px
来更改它?
谢谢!
这里的这篇文章看起来是一个很好的资源。
这里的代码似乎接近您所需要的,特别是:
switch (unitSize.Unit.Type)
{
case UnitType.Pixel:
result = (int)Math.Round(unitSize.Unit.Value);
break;
case UnitType.Point:
result = (int)Math.Round(unitSize.Unit.Value*1.33);
break;
case UnitType.Em:
result = (int)Math.Round(unitSize.Unit.Value * 16);
break;
case UnitType.Percentage:
result = (int)Math.Round(unitSize.Unit.Value * 16 / 100);
break;
default:
// other types are not supported. just return the medium
result = 16;
break;
}
再看一眼,这样的东西似乎更准确,但我还没有真正测试过。
public int PercentToPoint(int percent)
{
return (int)Math.Round(Convert.ToDouble(percent * 12 / 100));
}
public int PercentToPixel(int percent)
{
return (int)Math.Round(Convert.ToDouble(percent * 16 / 100));
}
您不能将米转换为秒。
如果您知道元素中父元素的字体大小是以某个单位表示的,那么您可以通过将父元素字体大小的数值乘以数字0.65来计算同一单位中font-size: 65%
对应的计算值。但这只是意味着在特定情况下计算值,而不是通常将65%的相对值转换为绝对值。
我怀疑.net中是否有一个预构建函数可以在不编写自己的转换器的情况下轻松帮助您完成这项工作,但这个jquery转换器可能会帮助您:
http://www.headcrash.us/blog/2011/10/jquery-plugin-to-convert-css-pixels-to-em-pt-percent-and-other-units/
为了帮助你,如果你知道宽度,你可以使用下面的公式来计算px。
假设你有一个800px宽的容器div,如果你在容器中有一个384px宽的coldiv,那将是48%:
384 / 800 = 48%