javascript – Vanilla JS:调整font-awesome以适应容器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Vanilla JS:调整font-awesome以适应容器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1777字,纯文字阅读大概需要3分钟。
内容图文
![javascript – Vanilla JS:调整font-awesome以适应容器](/upload/InfoBanner/zyjiaocheng/696/4e84a6e9459545c7a4b781c614fe008b.jpg)
我一直在使用vanilla JS创建一个音频播放器来操作HTML< audio>元件.
播放器具有动态大小,所有元素都缩放以适合父DIV.
我已经应用了我可以找到的所有方法来缩放字体以适合父容器和组合解决方案,看起来很有用,但是我不能以相同的方式缩放字体 – 令人敬畏的图标.
图标包含在以下方式中:
HTML:
<div>
<button>
<a>
<i class="fa fa-play">
</i>
</a>
</button>
</div>
我的解决方案通过实现window.addEventListener(‘resize’,resizeFont);来实现,resizeFont函数定义如下:
JS:
function resizeFont() {
var elements = document.getElementsByClassName('resize');
console.log(elements);
if (elements.length < 0) {
return;
}
_len = elements.length;
for (_i = 0; _i < _len; _i++) {
var el = elements[_i];
el.style.fontSize = "100%";
for (var size = 100; el.scrollHeight > el.clientHeight; size -= 10) {
el.style.fontSize = size + '%';
}
}
}
我在CSS中设置了div,button或元素的font-size,以便为font-awesome的默认font-size:inherit样式提供一些输入.
resizeFont();在页面加载时调用一次函数,确保显示的字体缩放以适合音频播放器的初始大小.
我试图将.resize类应用于各种元素,结果如下:
div:字体不显示,或字体显示为默认大小,然后在窗口调整大小时消失.
a:与div相同的结果.
i:窗口加载时resizeFont()将图标缩放到正确的大小以适合容器,但是当窗口调整大小事件被触发时,字体仍然消失.
所以,我想.resize类应该应用于i元素,但我不知何故需要以不同的方式定义它的大小或容器的大小.
解决方法:
将类.jcfResize添加到包含应调整大小的字体的任何元素.
将以下javascript代码添加到页面/站点:
function jcfResizeText() {
var elements = document.getElementsByClassName('jcfResize');
if (elements.length < 0) {
return;
}
_len = elements.length;
for (_i = 0; _i < _len; _i++) {
var el = elements[_i];
el.style.fontSize = "100%";
for (var size = 100; el.scrollHeight > el.clientHeight; size -= 10) {
el.style.fontSize = size + '%';
}
}
}
jcfResizeText();
window.addEventListener('resize', jcfResizeText);
内容总结
以上是互联网集市为您收集整理的javascript – Vanilla JS:调整font-awesome以适应容器全部内容,希望文章能够帮你解决javascript – Vanilla JS:调整font-awesome以适应容器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。