我今天在一个新网站上使用 em's/rem's 玩了一会,有几件事我想在这里讨论/询问。
多年来,我完全是一个基于像素的人,在需要时会投入一些百分比。
我一直在阅读 em 和 rem 是网络应有的“方式”。足够公平,这就是我今天试一试的原因。
所以,第一件事。使用 em's/rem's 的尺寸是否只是为了改变事物相对于主要字体大小的尺寸?
如果是这样,那么您会在什么情况下更改主要字体大小?我一直将我的设置为 16px 并使用它。
我找到了一个 Sass mixin,它允许我以像素为单位指定任何属性的尺寸,并使用 rem 和基于像素的后备输出它。不过,我先根据自己的喜好对其进行了调整。
因此,我开始使用 rem mixin 为我的所有维度(边距、填充和一些高度)构建站点。是的,当我更改主要字体大小时,所有内容都会缩放,但同样的问题与此处的第 2 个问题相同。
我使用 Compass Susy 来设置我的网格并使用 em 来指定它的设置,(我通常会选择像素)。我将 Susy 中的网格样式设置为魔术网格,当浏览器比网格宽但内部完全灵活时,它使网格保持静态。
当然,我所读到的关于使用 em 的好处的所有内容都可以使用媒体查询来完成吗?你们做什么,最重要的是主流网站使用什么?
对,接下来的两个问题是关于图像的。我今天遇到了两种情况,在等式中的某处使用带有图像的 em/rem 会导致问题。
5a。我将 h2 设置为内联块并在周围添加了填充,然后在右侧添加了相当于 45px 填充的 rem。我将 line-height 设置为 1.3 的无单位值。然后,我将图像设置为 h2 的背景,使其出现在右侧以出现在 padding-right 中。在 16px 的标准基本字体大小下,一切都很好。但是,我增加或减少了字体大小,并裁剪了图像的顶部和底部。所以又问了2个问题。我明白为什么图像会被裁剪,但这是如何处理 em/rem 和困扰我的图像之间的关系。
5b。我有一个高度设置为 200px 高度的 rem 高度的 div。然后我在其中添加了一个高度为 200 像素的图像。使用 susy mixin span-columns 将图像的宽度设置为特定的列宽,并将高度设置为自动。当字体大小改变时,我要么最终得到一个太高或太短的图像。在这种情况下,最好的办法是什么?
我正在查看一些可用的指南针 mixin,例如这个:
@mixin pretty-bullets($bullet-icon, $width: image-width($bullet-icon), $height: image-height($bullet-icon), $line-height: 18px, $padding: 14px) {
margin-left: 0;
li {
padding-left: $padding;
background: image-url($bullet-icon) no-repeat ($padding - $width) / 2 ($line-height - $height) / 2;
list-style-type: none;
}
}
我不能在里面添加我所有的 em/rem 东西吗?
我认为最重要的问题是:
为什么首先需要 em/rem?在图像方面,您如何与他们合作?有什么想法吗?