香草JavaScript:调整字体大小以适合容器
我一直在使用vanilla JavaScript创建一个音频播放器来操作HTML香草JavaScript:调整字体大小以适合容器,javascript,css,fonts,font-awesome,font-size,Javascript,Css,Fonts,Font Awesome,Font Size,我一直在使用vanilla JavaScript创建一个音频播放器来操作HTML元素 播放器的大小是动态的,所有元素都按比例缩放以适应父DIV 我已经应用了所有我能找到的缩放字体的方法,以适应父容器和组合解决方案的方式,看起来很实用,但是我不能以同样的方式缩放字体图标 图标以以下方式包含: HTML: 我在CSS中设置div、按钮或a元素的字体大小,以便为font awesome的默认font size:inherit样式提供一些输入 resizeFont()功能在页面加载时调用一次,确保显示的
元素
播放器的大小是动态的,所有元素都按比例缩放以适应父DIV
我已经应用了所有我能找到的缩放字体的方法,以适应父容器和组合解决方案的方式,看起来很实用,但是我不能以同样的方式缩放字体图标
图标以以下方式包含:
HTML:
我在CSS中设置div
、按钮
或a
元素的字体大小,以便为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);
函数jcfResizeText(){
var elements=document.getElementsByClassName('jcfResize');
如果(元素长度<0){
返回;
}
_len=元素长度;
对于(_i=0;_i<_len;_i++){
var el=元素[_i];
el.style.fontSize=“100%”;
对于(变量大小=100;el.scrollHeight>el.clientHeight;大小-=10){
el.style.fontSize=大小+'%';
}
}
}
jcfResizeText();
addEventListener('resize',jcfResizeText);
将类.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);
函数jcfResizeText(){
var elements=document.getElementsByClassName('jcfResize');
如果(元素长度<0){
返回;
}
_len=元素长度;
对于(_i=0;_i<_len;_i++){
var el=元素[_i];
el.style.fontSize=“100%”;
对于(变量大小=100;el.scrollHeight>el.clientHeight;大小-=10){
el.style.fontSize=大小+'%';
}
}
}
jcfResizeText();
addEventListener('resize',jcfResizeText);
如果有人希望调整字体缩放方法:我已将所有普通字体设置为在正文中显示时大得令人不舒服,以便它们在页面加载时总是缩小(部分是为了测试,部分是为了保证覆盖默认大小)。由于我的audioplayer中的元素是动态生成的,除非启用javascript,否则不会生成html,因此它们无法打断页面的其余部分。如果有人希望调整字体缩放方法:我已将所有普通字体设置为在正文中显示时大得令人不舒服,因此,它们总是在页面负载上按比例缩小(部分是为了测试,部分是为了保证覆盖默认大小)。由于我的audioplayer中的元素是动态生成的,因此除非启用javascript,否则不会生成html,因此它们不能破坏页面的其余部分。
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);