Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
香草JavaScript:调整字体大小以适合容器_Javascript_Css_Fonts_Font Awesome_Font Size - Fatal编程技术网

香草JavaScript:调整字体大小以适合容器

香草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()功能在页面加载时调用一次,确保显示的

我一直在使用vanilla JavaScript创建一个音频播放器来操作HTML
元素

播放器的大小是动态的,所有元素都按比例缩放以适应父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);