深入到新的和令人兴奋的CSS技巧性强 - 你甚至可以做到不受例如知道它通过学习或实施了炙手可热的新框架,大家都在谈论。更重要的是要充分认识新的CSS类和属性,实验与他们并将其付诸实践,特别是在商业项目时之前了解其局限性。在这篇文章中,我将介绍一些常见的CSS事故和更新的技术陷阱,以帮助建立你的样式表,当你做出明智的决定。
滥用的属性
font-size-adjust
如果您对您所选择的Web字体和回退与完全不同的x高度渲染的问题,这个属性是给你的。然而,这不仅有利于Firefox用户,现在,尽管是CSS3规范的一部分。这可能主要与在不同的浏览器渲染字体开始与variying方式做,因此很难创建此属性的值和预期的结果如何能够确定一个真正的标准。
该font-size-adjust属性可通过将原始字体大小及按定义的任何后备字体的字体大小调整值除以。什么值应以获得最好的结果需要反复试验的大部分并取决于后备字体,初始大小它正在显示在与该浏览器渲染它。一般的例子:
h1{
font-family: 'Alagreya SC', 'georgia', serif;
font-size: 2rem;
font-size-adjust: 0.5;
}
如果Alagreya不加载,并在标题显示在格鲁吉亚或浏览器的默认衬线,将在1rem显示,或2rem / 50%。5。
该font-size-adjust物业不应该混为一谈text-size-adjust,这是专门为文本的移动显示。一些移动浏览器应用文本通胀算法增加一个元素中的文字大小,而无需修改布局,除非CSS存在,以防止这一点。在大多数情况下,仅使用文本大小调整重置了这一点实际上导致对您的网站的移动设备设计的问题。例如:
body{
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
如果-webkit-text-size-adjust设置为none或取消,基于Webkit的台式机和平板电脑浏览器,如Chrome或Safari会阻止缩放而不是简单地忽略属性。这对于台式机用户的一个大问题,因此,如果您必须将此属性设置为none,因为100%不工作,最好是与媒体查询做到这一点。
在CanIUse字体大小调整
在MDN字体大小调整
MSDN上的文字大小调整
font-stretch
该属性往往混淆font-size-adjust操纵字体是如何呈现的或其他方法。事实上,它只是让你选择一个替代字体面或声明的字体,如果碰巧有一个。例如,您可能包括的Roboto OTF您的文档,里面有一个浓缩版英寸 该font-stretch属性允许您设置此而不需要重新声明font-family:
h1{
font-stretch: condensed;
}
以类似的方式,你不希望与混淆font-variant,只允许您启用之类的东西连字,小型大写字母或装饰物是已包含在您的stylsheet开放型字体的一部分。
请注意,这两个属性都在Safari都支持。
在MDN字体变形
在CanIUse字体舒展
font-smoothing
-webkit-font-smoothing,-moz-osx-font-smoothing并且font-smooth都试图消除锯齿的字体来解决一些设备和浏览器的一些字体的锯齿渲染。除了是从设计的角度完全态势,因而不可预知的,所有这些特性都被篡改围绕规范,应该从你的样式表被删除或摆在首位不使用。
虽然这个属性不会导致任何明显的问题,如果目前,只有-webkit-font-smoothing和-moz-osx-font-smoothing仍然有新的WebKit浏览器的部分支持,但被认为是非标准的。
任何时候,你需要达到的CSS来解决设计问题,而不是做设计,找到问题的根源并解决它。在这种情况下,在一个场景渲染不好的字体,你想到了大量游客是在应可能只是一个更好的字体替换。
在CanIUse字体平滑
更多的理由,你不应该由UsabilityPost使用
clip-path
的clip-path在CSS4属性将允许我们设置定义元件的形状的几何值,框值或SVG文件路径。这是放置在背景复杂的形状,包括文字填满,形成抽象的布局或缠绕超过一箱或圆形以外的其他文本非常有用。该声明是非常简单的(你需要Chrome或Safari看到这一点):
但你可以看到,外部SVG文件目前还不支持,并clip-path在所有的工作,你需要在你的WebKit浏览器启用实验性的功能。需要注意的是Firefox不支持形状着呢,它不能在IE浏览器在所有工作。
在CanIUse夹路径
object-fit
这是很有帮助的新属性,您可以处理img,并video通过提供三种主要方式,图像可以装进它在大致相同的方式作为背景图像元素的包装:scale-down,contain或cover。它的合作伙伴酒店object-position工作就像背景位置,让您处理图像或视频怎么坐在包装纸里面没有margin或text-align黑客。
通过这些值,图像和视频可以达到反应是更适应屏幕尺寸的水平,帮助我们从Javascript的解决方案移开,如fitvid和解决与需要更复杂的CSS规则来解决视频宽高比的问题。为WordPress主题开发,对象的契合意味着我们不需要额外安装图像尺寸-我们可以让srcset和CSS做的工作。
使用object-fit是安全的,如果你不关心支持IE,但使用像谷歌调整器的工具,以确保您的布局适当地缩小这种方式回应元素来测试你的实现是非常重要的。