0

假设我们有一个标签font-size:65%;

我们如何用ptor改变它px

谢谢!

4

3 回答 3

3

看起来这篇文章在这里是一个很好的资源。

这里的代码似乎接近你需要的,特别是:

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));
    }
于 2012-09-12T18:22:22.363 回答
2

你不能,就像你不能将米转换为秒一样。

font-size: 65%如果您知道某个单位元素中父元素的字体大小,那么您可以通过将父字体大小的数值乘以数字 0.65 来计算在同一单位中对应的计算值。但这只是意味着在特定情况下计算值,而不是将相对值 65% 转换为绝对值。

于 2012-09-12T21:12:08.333 回答
1

我怀疑这是 .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 宽的 col div,则为 48%:

384 / 800 = 48%
于 2012-09-12T17:55:16.453 回答