虽然我对响应式设计的想法并不陌生,但我经历了一件非常麻烦的事情......
我决定完全搬到rem
单位,但我仍然遵守62.5%
规则(我已经使用它了em
)。
所以对于初学者来说:
html {
font-size: 62.5%;
}
我假设1rem = 10px(我知道这并不总是正确的,但是嘿,这对我来说是为了简化数学,对于浏览器来说它仍然是相对的吧?)
恐怖始于Opera( linux 和 win 版本的12.12,默认字体大小分别设置为14px
和16px
)。
header nav ul li a span {
padding: 1.8rem 2.7rem 3rem 0;
font-family: 'sawasdeebold', sans-serif;
font-size: 2rem;
line-height: 3rem;
letter-spacing: -0.3rem;
display: block;
}
rem
正如您所看到的,由于使用了单位,我的部分导航可以说是“像素完美” 。在linux下页面有点窄(没问题,字体更小,所以1rem
代表的像素更少)。但是,nav
如果将默认大小更改为其他内容,则所有内容都会严重缩放14px
......在 Windows 下也是如此16px
......整个缩放想法根本行不通。我不需要每个像素都匹配,但它看起来很丑......
类似的问题出现在IE9下,但这次是 logotype 其中:
header h1 a {
margin: 1.8rem 0 0 1.6rem;
width: 46.2rem;
height: 10.1rem;
background: transparent url(../static/img/logotype.jpg) 0 0 no-repeat;
background-size: 46.2rem 20.2rem;
text-indent: -5000px;
display: block;
}
header h1 a:hover {
background-position: 0 -10.1rem;
}
即使我设置了标识的高度和背景的确切大小,在悬停时,背景位置1px
太低......
除了这些问题,我还有一个普遍的问题。
是否可以使用单位创建“像素完美”布局rem
?
我什至还没有触及媒体查询,我想知道这是否值得我努力......
非常感谢你们!