- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了这个 jsFiddle:
https://jsfiddle.net/j994tnu2/4/
if(textH < (parentH - deviation) || textH > (parentH + deviation)) {
text.style.transform = "scale(1, " + frameScale + ')';
//alert("transform");
}
https://jsfiddle.net/j994tnu2/5/
if(textH < (parentH - deviation) || textH > (parentH + deviation)) {
//text.style.transform = "scale(1, " + frameScale + ')';
//alert("transform");
}
版本 4 有 1 行未注释,允许转换:直接包含文本的 div 的 scale()。
版本 5 注释了这 1 行,不允许发生这种情况。
我担心的是我对文本进行编码以调整大小的方式是......
textScale1 = 0.78;
textScale2 = 1;
textScale3 = 1.4;
//textScale4 = fontSize2 / fontSize;
//applies the master frameScale once to a single style of a class
fontSize2 = Math.round(10 * fontSize2 * frameScale) / 10;
//uses the relative textScales to this element to style the rest
fontSize = Math.round(10 * fontSize2 / textScale1) / 10;
lineH = fontSize;
margin = Math.round(10 * fontSize2 / textScale2) / 10;
lineH2 = fontSize2;
margin2 = Math.round(10 * fontSize2 / textScale3) / 10;
通过手动检查每个元素的字体大小和边距,并将它们更改为相对于文本中自身和相对于外部 div 容器大小的比例。这实际上是使文本相对于原始格式保持真实的好的部分。然而,
我遇到的问题是 onload = function 和 addEventListener(resize, function) 之间的区别。它们的编码完全相同,但结果“不同”。
如果您调整窗口大小,您将看到在大约 3 次调整大小后,文本在绝对字体大小级别上更加适合容器并且更少(或根本没有)转换:scale() 拉伸(stretch)或压扁。
但是每次调用 onload = 函数时,文本对于容器来说总是太大或太小,并且总是会被拉伸(stretch)或压扁到 Not Acceptable 程度。
我如何编写代码以使 onload = 函数中的字体大小与起始外部 div 高度一致?
感谢您的关注。
编辑:这很有趣。注释掉 onload=function 并让 resize 函数执行第一次调整大小,您将获得与 onload=function 完全相同的结果。其中,一致性很好。但为什么后续调整大小会增加字体大小的准确性?即使我调整大小,然后又缩小到接近同一位置,文本看起来不会那么压扁,而且更符合它的比例。初始调整大小很糟糕。为什么?它怎么可能随着时间的推移而提高准确性?
最佳答案
所以我一直在努力,发现外部文本 div 与内部文本 div(jsFiddle 中的 frameScale)的比率将决定最后的偏差百分比。这就是我的意思:
无论离 1.0 有多远,frameScale 的偏差将根据一些奇数指数函数确定结果 frameScale 与 1 的距离。因此,如果您从 1 开始(意味着外部文本 div 与内部文本 div 一样大) 那么合成比率也将是 1。如果它是 1.3,那么该比率将暴跌至 0.84。如果它是 1.6,那么它会变成 0.72。如果它是 2.00,那么它会变为 0.5,依此类推。我想不通,所以我决定做一个解决方法。
如果多次调整它的大小使字体大小更真实,那么我决定只使用我已经调用的 resizeListener 函数调整它的大小。我需要做的就是在函数的第一部分调整祖父元素的大小,然后在第二部分调整父元素的大小。一个问题是祖 parent 与 child 的高度比不能与 frameScale( parent 与 child )相同。所以我这样做了:
if(masterScale = frameScale) {
masterScale = masterScale - 0.5;
}
无论出于何种原因,0.5 似乎效果不错。也许这会在许多不同的情况下失败,但现在这是一个很好的解决方法。我所做的只是将容器大小调整两次。这是 jsFiddle:
https://jsfiddle.net/j994tnu2/6/
编辑:但这并没有回答问题。为什么开始 frameScale 与 1 的偏差决定了转换后与 1 的偏差增加?如果我想要它完美,我可以创建一个 if() else if() 塔,一直调整到某个不会自然发生的比率:
1.0-1.04 >>> 1.0
1.05-1.29 >>> 0.94
1.3-1.34 >>> 0.84
1.35-1.6 >>> 0.8
1.61-??? >>> 0.7
1.99-??? >>> 0.49
无论出于何种原因,从开始比率中减去使合成比率为 1.0 所需的量会将合成比率调整为 1;这没有意义。这是一个 jsFiddle 正在做这件事,并且比调整祖父元素的大小要好得多:
关于javascript - EPUB3 Reflowable-Fixed Layout 动态调整文本到 Div 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40247904/
我不确定是否理解好几个 Android /res/layout 文件夹所起的作用。 layout:一般布局 layout-port:必须更改为纵向的小部件布局 layout-land:小部件的布局,必
我在 Qt 4.7 中有一个界面,但我很难按照自己的意愿行事。 所需行为的基本描述:用户在组合框中进行选择,这会导致查询转到另一个函数,该函数返回一个 QHBoxLayout 对象,该对象通常包括多个
我在 res 文件夹中创建了 layout-large、layout-normal 和 layout-xlarge 并且我将所有 xml 文件复制到那些布局文件夹中 首先,我想问一下 layout(d
如图所示。我想在布局上方显示星图。我是这种编码的新手。 我的查询是1)是否可以在我的布局端显示星标(图像)? 2) 如果每次点击我的 Activity 时我都想显示星标并显示第二张图片,这可能吗?意味
关闭。这个问题需要debugging details .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 上个月关闭。 Improve this questio
我正在使用 android studio 中的 Material 设计为 pre lollipop 设备创建一个 android 应用程序,我是 android studio 的新手我正在我的项目中创
我对 Android 布局设计感到困惑。我想实现下图中的布局: 但是下面的代码产生了类似这张图片的东西: 我的代码
如果我有: Some Element.... Other Element
我有一个单元格(称为A),它在更高层次的单元格(称为P)中使用一次。当我将 A 放在 P 中时,它的边框比 A 的实际内容大得多。当我下降到 A 并进行缩放时,它被缩小了,表明边缘存在一些东西。 我可
我有一个“auth-redirect”模块,位于所有页面布局文件(1column、2column 等)的开头。这可以确保在渲染任何页面之前,如果用户未经过正确身份验证,则会重定向到登录页面。 我允许呈
我的app只支持landscape模式(这是业务需求)。 我在 layout-land 文件夹中有一个布局 xml 文件,但我没有费心创建一个 layout 文件夹,因为我在 Android list
我正在尝试为我的 Android 应用程序创建启动屏幕,如链接 http://developer.xamarin.com/guides/android/user_interface/creating_
我目前正在开发一个应用程序,我正在使用 swdp为了创建对多个屏幕的支持。 我添加了 sw400dp文件夹,根据 Android Studio 的 XML 渲染器,它基本上包含所有较小的手机。 这意味
Android 在“layout-normal”和“layout”文件夹中处理布局的方式有什么不同吗?如果我有一个被认为布局很小的设备,如果只有这两个选项,它会查看哪个文件夹? 最佳答案 是的,在您给
我已经看到了在单个页面上创建多个强制布局的解决方案,其中每个布局都包含在其自己的SVG中。但是,我一直无法找到有关如何在单个SVG中包括多个力布局的帮助。每个布局都有自己的数据与之关联。 可以在htt
我听说 Constraint-Layout 中的指南和 RTL 存在一些错误。但是这些方法都没有帮助我。我的BottomNavigation 的两边都有指南,一切都在LTR 中工作,但在RTL 中,其
我有以下渲染函数: render() { return ( Header
我知道如何使用以下文件夹,但例如我不知道 layout-small 和 layout-sw320dp 有什么区别? 此外,建议我哪些文件夹对优化很重要。我不喜欢我的程序被用户视为不规则。我希望得到您的
layout-latest.js ui-layout-west 面板 west: { paneSelector: ".ui-layout-west"
我是 Android 开发的新手,对我来说,了解图形布局和 xml 如何相互关联的一个好方法是尝试 xml 属性并查看图形 UI 中的变化。有没有一种方法可以同时并排查看,而不必从一个切换到另一个?图
我是一名优秀的程序员,十分优秀!