Heim  >  Artikel  >  Web-Frontend  >  Adaptive HTML-Schriftgröße

Adaptive HTML-Schriftgröße

不言
不言Original
2018-05-03 14:24:451959Durchsuche

In diesem Artikel wird hauptsächlich die adaptive HTML-Schriftgröße vorgestellt, die jetzt einen gewissen Referenzwert hat. Freunde in Not können sich darauf beziehen.

Im Entwicklungsprozess bin ich auf die Notwendigkeit gestoßen, sie anzupassen die Schnittstelle dom Die Breite und Höhe der Seite werden zum Festlegen der adaptiven Schriftgröße verwendet. Jetzt werden wir die Entwicklungsideen teilen

Wenn die Breite und Höhe des Seiten-DOM-Elements begrenzt ist, ist es nicht möglich, sie festzulegen Alle Elemente haben die gleiche Schriftgröße und die Schriftgröße ist Wenn die Einstellung zu klein ist, ist dies nicht förderlich für die Schönheit der Benutzeroberfläche. Daher besteht meine Entwicklungsidee darin, die Schriftgröße im Dom dynamisch über JS zu steuern Ermitteln Sie die Breite und Höhe des Doms über JS und akkumulieren Sie dann die Schriftgröße von 12 Pixel, bis sich die Schriftgröße an den Dom anpassen kann. Bis zur Breite und Höhe ist die endgültige Schriftgröße die erforderliche Schriftgröße

Hier habe ich es mit AngularJS entwickelt, daher werde ich die schriftlichen Anweisungen als Referenz veröffentlichen

***.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");
            }
        })
    };
}])

Hier addiere ich die Schriftgrößen. Verstecke das DOM-Element vorher und mache das DOM-Element dann sichtbar, nachdem ich die erforderlichen Informationen erhalten habe Schriftgröße. Beim lokalen Testen wurden keine Auffälligkeiten wie z. B. ein Flimmern der Benutzeroberfläche festgestellt. Wenn die Benutzeroberfläche zu viele Elemente verarbeiten oder Daten regelmäßig aktualisieren muss, kann dies an den Leistungsproblemen der Seite liegen Es ist zu beachten, dass einige Einstellungen für den Stil des DOM-Elements in CSS vorgenommen werden müssen. Beispielsweise müssen Sie den Inhalt möglicherweise auf „Nicht umbrechen“, „Inhaltsüberlauf“, „Boxgröße“ usw. einstellen und ihn entsprechend festlegen zur tatsächlichen Situation.

Wenn Sie mehrere adaptive DOM-Schriftgrößen festlegen müssen, können Sie diese Idee auch verwenden, um damit umzugehen

Verwandte Empfehlungen:

Detaillierte Erklärung von HTML-Hyperlinks

Das obige ist der detaillierte Inhalt vonAdaptive HTML-Schriftgröße. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:HTML-TextformatierungNächster Artikel:HTML-Textformatierung