【问题标题】:Fittext does not apply after changing the font-family更改字体系列后 Fittext 不适用
【发布时间】:2015-08-28 20:26:01
【问题描述】:

我正在使用插件fittextjs 自动调整我的字体大小以使其适合当前的 div 宽度。例如,我在<span> 中使用它:

<ion-view class="menu-content" view-title="Polaroid">
    <ion-content>
        <div class="polaroid">
            <div class="polaroid-img">
                <img ng-src="{{polaroid.cropped}}" />
            </div>
            <div class="polaroid-title">
                <span data-fittext style="font-family: {{polaroid.style}}">{{polaroid.title}}</span>
            </div>
        </div>
    </ion-content>
</ion-view>

这里的关键字是data-fittext。当我打开 html 页面时,字体大小的调整会毫无问题地应用。此外,当我调整字体大小的变化时效果很好。

现在我导航到另一个页面,我可以在其中更改字体样式。字体样式的更改效果很好。当我向后导航时,会应用字体样式..

但是

fittext 不适用。文本大小变得非常小(我猜是 10 像素)。我必须调整页面大小,以便 fittext 再次应用字体大小。

为什么 fittext 更改字体系列后不应用字体大小?

【问题讨论】:

    标签: javascript html css fonts fittextjs


    【解决方案1】:

    我不完全按照您所说的字体如何更改,但是 JS 没有事件来检测字体的更改。 FitText 只监听 resize 和orientationchange 事件,这是一个非常简单的函数。

    我会在字体更改后再次调用 fittext。

    更新:再次查看您的代码,您的字体系列指令可能会在 Polaroid.style 更改时覆盖样式属性。这将删除 fittext 样式。也许使用一个类来指示字体系列而不是内联样式

    【讨论】:

    • 我做不到。它是一个字体选择器。我必须这样设置样式。
    • 然后将您的 style="font-family: {{polaroid.style}}" 属性移动到父 div。这样它们就不会冲突了。
    • 我不知道为什么......但这解决了问题。
    • 因为 fittext 和您的 style attr 指令都试图写入相同的 style attr,所以它们相互覆盖
    猜你喜欢
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-07
    • 2019-04-26
    • 2020-06-26
    • 2020-12-15
    • 2018-06-09
    相关资源
    最近更新 更多