91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

html如何實現自適應字號

發布時間:2021-09-13 14:47:25 來源:億速云 閱讀:123 作者:小新 欄目:web開發

小編給大家分享一下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如何實現自適應字號”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湖北省| 鞍山市| 会宁县| 新绛县| 湾仔区| 黎城县| 河北省| 庆阳市| 顺昌县| 龙南县| 玛纳斯县| 从化市| 西林县| 无锡市| 长沙市| 杭锦后旗| 汕尾市| 沙湾县| 阿荣旗| 宿松县| 凤凰县| 祁连县| 贞丰县| 岚皋县| 雷山县| 通海县| 平果县| 汉寿县| 惠安县| 包头市| 白城市| 望江县| 洛扎县| 桐城市| 西昌市| 三门县| 正定县| 南充市| 晋城| 连城县| 平谷区|