我在学习CSS,并在StackOverflow上阅读关于相对vs绝对字体大小的问题。我遇到了两个线程。相对字体大小棘手的子元素?
1.在一个线程(CSS font size: relative vs. absolute values. Which to use?),其中一个答案其实尚未回答的问题:[QUOTE]
问题,许多在这里说,铂仅用于打印。但是,如果没有记住DIV具有什么Em或%值的简单能力,快速创建文本大小不是很好。例如,当你有:
<body>
<div id="box1">
test text sample1
<div id="box2">
test text sample2
<div id="box3">
test text sample3
<div id="box4">
test text sample4
</div>
</div>
</div>
</div>
我知道这是一个很怪的结构,但让我们说,一个布局需要像对图形的目的和CSS画面层次感的结构。所以我想让box1 font = 100%,box2 = 1.2em。 box3 = .8em和box4 = 1.6em
现在,问题是从盒子1的Em也转移到它的所有孩子,纠正我,如果我错了,所以这意味着box2不完全是1.2em,并且当我们到达4号字体大小的时候,真的很难说它是什么。而当我们使用Pt或Px时,它保持我们希望它保持的方式。
但是,Px大小不够灵活,当我坐在远离屏幕的位置时,我喜欢在浏览器的菜单中使字体变大。让我们面对它,它很方便。所以Px大小已经结束。那么为什么不使用铂?浏览器差异有多大?
2.另一个线程拥有的数字,计算同样的问题(Compounded relative font-sizes: a clean way to adopt the font-size of the child, not the parent element) - - 更多说明性质,没有正确的答案:
举例来说,如果我有:
td { font-size: 1.3em }
h2 { font-size: 2em }
h3 { font-size: 1.6em }
p { font-size: 1.2 }
和我有我的表格单元格中的标题/段落,我知道我可以通过以下方法避免复制字体大小:
td h2, td h3, td p { font-size: 1em }
这将导致我的表格单元格中字体大小为1.3em(即td)的标题/段落。
但我在寻找的是一个很好的,干净的方式,每个子元素都有它的原始字体大小,而不是父级。
我真的想避免做以下的(当然我想避免使用PX):
td h2 { font-size: 1.54em } // 1.3 x 1.54 ~ 2
td h3 { font-size: 1.23em } // 1.3 x 1.23 ~ 1.6
td p { font-size: 0.92em } // 1.3 x 0.92 ~ 1.2
对于任何熟悉LESS,我使用,我想我应该能够用它来为我做计算,例如。使用访问:
td h2 { font-size: h2['font-size']/td['font-size'] }
这至少会使用原始值做计算,但感觉就像是笨拙以上,此外,似乎少了不再支持存取反正。
这在概念上看起来很简单,我觉得答案盯着我的脸,但我一直对我的头撞了一会儿,无法在任何地方找到答案。
请帮忙!在这一点上,如果有人告诉我,它不能完成,并且可以继续使用像素值,我会非常高兴地相信它们!
可以显而易见,我的问题是什么现在... 是否有使用相对字体大小(或任何相对规模 - 像宽度,高度,等等 - 对于这个问题)一个更好的办法,而不子元素受父元素影响?
在CSS中使用太多的相对字体大小意味着页面加载速度较慢(至少与使用绝对值相比),因为它们需要更多的处理才能完成? – 2012-01-12 15:03:43
从技术上来说,它的加载速度可能会比较慢,但计算机的计算速度会过快,除非数千次这么做,否则它不会起作用。你最大的问题是a)可维护性(记录实际尺寸)和b)总体设计(当尺寸或颜色只有一些变化时,大多数设计是最有效的)。编写代码以使用HTML最佳实践可能会对使用ems和像素的负载速度产生较大影响。 – Shauna 2012-01-12 16:29:37