字体大小怎么随着外部div大小智能伸缩?
问题描述
在div内有几个字,因为字外部的div的大小是变化的,所以现在需要让div内的字体大小,随着div的长宽进行压缩,或者拉伸
问题解答
回答1:举个例子:HTML里设置font-size,比如取这个font-size为变量 htmlSizediv里的font-size:0.875rem (htmlSize*0.875)
然后div大小变化时,获取div的实时宽度 比如这个宽度变量叫nowSize用这个实时宽度计算出html里的font-size大小: htmlSize = nowSize*0.2那么HTML的font-size现在就会随div的宽度变化,而div里的rem单位计算出的font-size也会随之变化
这里有个移动端用的自适应JS可以参考下:
//这里是随窗口大小变化 (function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function () { var clientWidth = docEl.clientWidth; if (!clientWidth) return; docEl.style.fontSize = 20 * (clientWidth / 320) + 'px'; }; if (!doc.addEventListener) return; win.addEventListener(resizeEvt, recalc, false); doc.addEventListener('DOMContentLoaded', recalc, false);})(document, window);
回答2:这是属于响应式的范畴,你可以使用百分比,而且完全可以百度的到的;恰好我有一份笔记,粘贴一下:
css中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
px:绝对单位,页面按精确像素展示
em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算;em不是一个固定的值。可以设置body{font-size:62.5%}
rem:相对单位,可理解为”root em”, 相对根节点html的字体大小来计算,CSS3新加属性,chrome/firefox/IE9+支持。
vw:viewpoint width,视窗宽度,1vw等于视窗宽度的1%。
vh:viewpoint height,视窗高度,1vh等于视窗高度的1%。(vmin:vw和vh中较小的那个。vmax:vw和vh中较大的那个。)
【注意】vw, vh, vmin, vmax:IE9+局部支持,chrome/firefox/safari/opera支持,ios safari 8+支持,android browser4.4+支持,chrome for android39支持
in:寸
%:百分比
cm:厘米
mm:毫米
ex:取当前作用效果的字体的x的高度,在无法确定x高度的情况下以0.5em计算(IE11及以下均不支持,firefox/chrome/safari/opera/ios safari/android browser4.4+等均需类内属性前缀)
ch:以节点所使用字体中的“0”字符为基准,找不到时为0.5em(ie10+,chrome31+,safair7.1+,opera26+,ios safari 7.1+,android browser4.4+支持)
相关文章:
1. debian - docker依赖的aufs-tools源码哪里可以找到啊?2. docker容器呢SSH为什么连不通呢?3. dockerfile - [docker build image失败- npm install]4. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?5. node.js - vue-cli构建报错。。。生成不了模板,求解~!!6. docker绑定了nginx端口 外部访问不到7. docker-compose 为何找不到配置文件?8. boot2docker无法启动9. macos - mac下docker如何设置代理10. 如何判断数组写入数据库有重复的值