返回新闻列表

js按照宽高比例设定html字体 css排版的时候用rem单位设置字体

发布日期: 2024-03-10 | 来源: 智软设计工作室

 css排版的时候用rem单位设置字体,以及间距什么的都可以用。

font-size: 0.42rem;更好更方便的适配字体大小。

    padding: 0 0.23rem;

    margin-bottom: 0.46rem;


宽度。用%

    width: 50%;

高度用vh




/*
 # 按照宽高比例设定html字体, width=device-width initial-scale=1版
 # @pargam win 窗口window对象
 # @pargam option{
 designWidth: 设计稿宽度,必须
 designHeight: 设计稿高度,不传的话则比例按照宽度来计算,可选
 designFontSize: 设计稿宽高下用于计算的字体大小,默认20,可选
 callback: 字体计算之后的回调函数,可选
 }
 # ps:请尽量第一时间运行此js计算字体
 */
!function(win, option) {
    var count = 0,
        designWidth = option.designWidth,
        designHeight = option.designHeight || 0,
        designFontSize = option.designFontSize || 100,
        callback = option.callback || null,
        root = document.documentElement,
        body = document.body,
        rootWidth, newSize, t, self;
    //返回root元素字体计算结果
    function _getNewFontSize() {
        var iw=win.innerWidth>750?750:win.innerWidth;
        var scale = designHeight !== 0 ? Math.min(iw / designWidth, win.innerHeight / designHeight) : iw / designWidth;
        return parseInt( scale * 10000 * designFontSize ) / 10000;
    }
    !function () {
        rootWidth = root.getBoundingClientRect().width;
        self = self ? self : arguments.callee;
        //如果此时屏幕宽度不准确,就尝试再次获取分辨率,只尝试20次,否则使用win.innerWidth计算
        if( rootWidth !== win.innerWidth &&  count < 20 ) {
            win.setTimeout(function () {
                count++;
                self();
            }, 0);
        } else {
            newSize = _getNewFontSize();
            //如果css已经兼容当前分辨率就不管了
            if( newSize + 'px' !== getComputedStyle(root)['font-size'] ) {
                root.style.fontSize = newSize + "px";
                return callback && callback(newSize);
            };
        };
    }();
    //横竖屏切换的时候改变fontSize,根据需要选择使用
    win.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", function() {
        clearTimeout(t);
        t = setTimeout(function () {
            self();
        }, 200);
    }, false);
}(window, {
    designWidth:750
});


推荐技术资料

jQuery去除data-slides 属性值逗号结尾问题,

2023-08-22

我们有的时候。调用一个多属性值的时候,会出现,号结尾。导致程序循环切割的时候。多一个空值,比如1,2,3, 这样就应该去除掉最后,html<div class="work “ data-slides="1,2,3,">下面是js方法可以解决 // 获取所有包含 data-slides 属性的元素,去除最后得,号va

阅读更多

Bootstrap导航条 点击li菜单后,自动收回折叠整个菜单

2023-06-05

Bootstrap导航条 点击(单击Navbar)li菜单后,自动收回折叠整个菜单,利用jq做的。点击后再次错误,菜单按钮点击事件,<script>vara=document.querySelector(".navbar-toggler"); 

阅读更多

.htaccess HTTP 80 强制转 HTTPS 443规则分享

2024-06-18

HTTP 80 强制转 HTTPS全站采用https协议访问,所以需要http重定向到https,只需要在.htaccess加入下面规则在相应的网站根目录新建 .htaccessRewriteEngineOnRewriteCond%{SERVER_PORT}80RewriteRule^(.*)$https://%{HTTP_HOST}/$1[R,L]COPY

阅读更多

2012iis+php7 老宝塔环境。php有时候出现500错误,但是重启iis就好了,解决办法探讨

2023-06-03

2012 widnows iis+php7 老宝塔环境,不是python版本,还是exe客户端,php网站有时候出现500错误,很难测试,有时候一个月都不会出现,但是重启iis就好了(或者等待几个小时他会自己好),(这次没打印错误,就直接重启了),解决办法看了很多文章,也都实验了。发现不行,最后我对比了下。宝塔python版本 搭建的环境发现。fa

阅读更多

pbootcms url不允许带其他参数解决办法,带参数出现404页面,取消后缀参数过滤安全功能

2024-03-22

pbootcms 新版本中,加入了一个 url不允许带其他参数,这个也是为了安全,可以大大减少注入风险,一但访客加入了其他?参数 ,就会出现404页面,那我们怎么取消后缀参数过滤安全功能了,有写客户网站可能要推广什么的,推广公司可能需要带这些参数来统计报告,下面我说下怎么解决。打开:/apps/home/controller/IndexControl

阅读更多

pbootcms利用扩展标签二次格式化模型字段 -分割多行字段成为faq问答

2023-04-24

分割多行字段成为faq问答,首先先模型字段新增一个多行字段,填写内容如下,问题.答案.@问题1.答案.@@是必备的。因为要拆分二次,一个组一个@然后在,\apps\home\controller/ExtLabelController.php 目录里面添加自定义标签 (扩展标签)添加以下代码/*必备启动函数*/

阅读更多

pbootcms搜索页面设置不同模板

2023-07-08

<formaction="{pboot:scaction}"method="get">关键字:<inputtype="text"name="keyword"><inp

阅读更多

阿里云 或者腾讯云 filezilla无法链接 filezilla 错误: 读取目录列表失败解决

2022-06-22

filezilla 错误:读取目录列表失败,怎么解决其他最重要是买的阿里云 或者腾讯云 服务器。都又防火墙。但是被动模式他随机端口。所以我们要设置下。然后防火墙那边也要开端口

阅读更多

meta property="og:image" 手机端 浏览器分享网站 显示图片图标 微信可用

2022-12-06

测试微信可用<meta property="og:type"content="image"/> <meta property="og:image"content="https://www.002t.cn/logo.jpg"/>og是一种新的HTTP头部标记,即Open Graph Protocol:作用是让网页成为一个“富媒体对象”。用了Meta Property=og标签,

阅读更多