六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

html自適應字號

[摘要]這篇文章主要介紹了關于html自適應字號,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下在開發過程中有遇到需要根據界面dom的寬高來設置自適應字號大小,現將開發思路分享在頁面dom元素的寬和高都有限制的情況下,無法為所有的元素設置同樣的字號大小,而將字號設置過小又不利于界面美觀,所以...
這篇文章主要介紹了關于html自適應字號,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

在開發過程中有遇到需要根據界面dom的寬高來設置自適應字號大小,現將開發思路分享

在頁面dom元素的寬和高都有限制的情況下,無法為所有的元素設置同樣的字號大小,而將字號設置過小又不利于界面美觀,所以我開發的思路是通過JS來動態控制dom中的字號大小,即通過JS獲取dom的寬度和高度,再將字號從12px開始累加,直到字號可以適應dom的寬高為止,最后得到的字號即為需要的字號

這里我是使用angularjs開發的,故將編寫的指令貼出來以供參考

***.directive("doCalculateFontsize",['$timeout',function ($timeout) {
    /*
    *   通用的字體大小自適應,通過在改變字體大小的同時計算dom元素的寬高是否超界實現
    * */
    return function(scope, element, attr) {
        attr.$observe("doCalculateFontsize",function (interpolatedValue) {
            if(interpolatedValue!=undefined&&interpolatedValue!="") {
                var maxwidth = parseInt(attr.domMaxWidth);
                var maxheight = parseInt(attr.domMaxHeight);
                var th = parseInt(attr.domTotalHeight);
                var text = attr.doCalculateFontsize;
                var nowsize = 12;
                var maxsize = 200;
                angular.element(element).css("visibility", "hidden").html(text).css("font-size", nowsize + "px");

                for (; nowsize < maxsize; nowsize++) {
                    var nowwidth = angular.element(element)[0].offsetWidth;
                    var nowheight = angular.element(element)[0].offsetHeight;

                    if (nowwidth >= maxwidth    nowheight >= maxheight) {
                        break;
                    }
                    else {
                        angular.element(element).css("font-size", nowsize + "px").css("marginTop", (th - 0.5 * nowheight) + "px").css("visibility", "visible");
                    }
                }
            }
            else{
                angular.element(element).css("visibility", "visible").html("").css("font-size", "12px");
            }
        })
    };
}])

這里我是在字號累加之前將dom元素隱藏,在已經取得需要的字號以后再將dom元素設置可見,在本地測試時未發現有界面閃爍等異常,如界面需要處理的元素過多或者需要作定時刷新數據時,可能需要考慮頁面的性能問題

需要注意的是,在css中需要對dom元素的樣式做一些設置,如可能需要設置內容不換行、內容溢出、box-sizing等,根據實際情況自行設置

如果需要設置多個dom自適應字號時,也可以使用這個思路處理

相關推薦:

HTML 超級鏈接詳細講解

以上就是html自適應字號的詳細內容,更多請關注php中文網其它相關文章!


網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。




主站蜘蛛池模板: 欧美一区视频 | 日韩特黄特色大片免费视频 | 啪啪动漫| 在线视频观看亚洲 | 日本一区不卡在线观看 | 四虎毛片| 日韩免费a级在线观看 | 青娱乐99| 欧美性视频一区二区三区 | 欧美一级久久久久久久大片 | 羞羞草视频 | 日韩午夜精品 | 欧美在线播放一区二区 | 日本激情视频在线观看 | 亚洲最新中文字幕 | 日本欧美大片 | 午夜视频福利在线 | 深夜成人福利 | 天天色综合天天 | 一级做a爰片久久毛片免费 一级做a爰片久久毛片美女图片 | 在线看日本吃奶孕交 | 一级黄色片免费播放 | 色综合综合色综合色综合 | 欧美天天性 | 淫片在线观看 | 日韩精品一区二区三区 在线观看 | 日本高清不卡在线 | 外国成人网在线观看免费视频 | 亚洲第一福利视频 | 婷婷六月丁香色婷婷网 | 青青热在线观看视频精品 | 日韩欧美在线视频观看 | 日日干夜夜操s8 | 深夜福利网站在线 | 日韩欧美在线观看综合网另类 | 青草精品 | 欧美特黄三级在线观看 | 亚洲成色www久久网站 | 天天在线干 | 色呦呦免费观看 | 亚洲爱婷婷色婷婷五月 |