调整优雅的文本大小调整解决方案的性能,实现流畅/响应式设计
Tweaking performance of elegant solution to text resize for fluid/responsive designs?
我发现以下JS解决方案非常优雅,可以根据视口大小调整文本大小:
https://stackoverflow.com/a/10295733/1318135
onresize=onload=function(){document.body.style.fontSize=window.innerWidth+"px"}
然而,有两个问题:
它依赖于正在调整大小的视口。我也想在页面第一次加载时触发它,但我是JS的新手。
我的页面完全使用em值进行编码;这使用px。我如何使用它来调整仅限默认em大小,然后它将自动滴到页面上的其他元素?
http://jsfiddle.net/hFNc7/
谢谢!
-
查看其他答案(或放入http://jsfiddle.net/cjzEK/1/在页面底部)
-
em本身并不是一个尺寸。这是一个不同的百分比。em为您工作的唯一方法是,浏览器中设置了1个基本字体大小(或者可能还有一个重置样式表)。浏览器中字体的基本大小通常是16px。因此,这个解决方案所做的是通过将基本大小添加到正文中来更改基本大小(将其添加到html中可能会更好)。
例如,没有进行任何重置的CCD_ 1将是16px。1.5em将是24px。
您需要在body
的load
事件中运行该代码。最简单的方法是通过其onload
属性直接设置:
<body onload="var f = function () { document.body.style.fontSize = 0.2 * window.innerWidth + 'px'; }; window.onresize = f; f();">
它的作用:
- 创建一个能够动态设置字体大小的函数
- 将函数设置为
resize
事件侦听器 - 立即执行该功能
附言:有更优雅的方式来写这篇文章,但由于你是新的,最好从一个更容易的符号开始。
相关文章:
- 如何使用动画实现纸张推车
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 调整窗口大小时,可拖动的对象会出现在容器外部
- ExtJS——在展开/折叠时调整面板高度
- 客户端服务器REST API captcha实现
- 如何实现此布局
- Meteor忘记了密码的实现
- 使用Native Sockets在Android中实现WebSockets
- 在样板文件中实现Ajax
- Chrome应用程序调整窗口大小保持纵横比
- 调整优雅的文本大小调整解决方案的性能,实现流畅/响应式设计
- fabric js - 根据画布中添加的矩形调整完整画布的大小以实现裁剪
- 如何实现这种自动调整到您的视口的滚动效果
- 实现 Porthole 的正确方法是什么.js根据内容高度调整 iframe 的大小
- 调整随机图像放置代码以实现灵活的布局
- Mopub移动web/javascript实现调整文本大小/覆盖CSS
- AngularJs Jcarousel实现仅在调整页面大小后才能工作
- 使用jQuery实现可调整大小的元素网格——有没有库支持这个功能?
- Angular,如何在调整大小和加载时实现以下代码
- 为移动设备(jam3)调整内联视频大小以实现对象适配:封面