为理解用户代理怎样决定字体变形的粗细,得先从关键字100到900谈起,然后我们再来看它是如何继承的。
font-weight允许值 normal | bold | bolder | lighter | l00 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900
这些数字关键字用于定义与字体的相关特征的映射关系,即字体的粗细被分成九个等级。例如,OpenType就使用了九个值的数字级。字体有了这 级别之后,这些数字就直接映射到各个级,如100映射到最轻的字体变形,而900对应最重的字体变形。
事实上,在这些数字中并不存在本质的字体粗细的约定。CSS指出,每个数字对应的字体粗细不得小于它前面的数字所对应的字体粗细。
这样,100,200,300和400或许都对应同样粗细的字体变形,而500和600可能对应到一个更粗的字体变形,700,800和900则对应下另一种更粗的字体变形。
这数字被定义为同某些普通的,而700对应于bold。
字体变形名等价。400等价丁normal
其他数字不对应任何
font-weight属性的关键字,但它们可以对应于普通的字体变形名。如果某种字体变形标记为“Normal”、“Regular”、“Roman”或“Book”,那么它便被分配给400,而且任何标记为“Medium”的字体变形就对应于500。
然而,如果标记为“Medium”的字体变形是唯一可用的字体,那么它就不能同500相对应。
如果在某个给定的字体系列里少于九个字体粗细级,则用户代理需要做更多的工作。在这种情况下,它必须用一种预先定义的方式来填充其间的空隙:
如果值500未分配,它就被赋予同400一样的字体粗细。
如果300未分配,它就同比400稍轻的字体变形对应。如果没有更轻的字体可用,300就同400一样对应于某个级。这通常是在“Normal”和“Medium”情况下。同样的方法用于100和200。
如果600未分配,它便同比400稍重的字体变形对应。如果没有这样的字体可用,600就同500一样对应于某种字体变形。这种方法也用于700,800和900。
为了便于理解,让我们来看三个
字体粗细分配的例子,首先假设字体系列Karrank%是OpenType字体,而且已经定义了9个相应的粗细级。
在这里,这些数字分别对应于各个级,而关键字normal和bold各自分配给400和700。在第二个例子里,我们考虑字体系列Zurich,它在本内容的开始提到过。假设其字体变形也被分配了下面的粗细值。
字体形式:Zurich Light 分配的关键字:空 分配的数字:100,200,300
字体形式:Zurich Regular 分配的关键字:normal 分配的数字:400
字体形式:Zurich Medium 分配的关键字:空 分配的数字:500
字体形式:Zurich Bold 分配的关键字:bold 分配的数字:600,700
字体形式:Zurich Black 分配的关键字:空 分配的数字:800
字体形式:Zurich UltraBlack 分配的关键字:空 分配的数字:900
头三个数字分配给最轻的字体。普通字体对应关键字400和normal。
Medium字体分配给数字500。没有字体变形分配给600,因此将600和700一起对应于同一字体变形Bold字体。最后800和900分别分配给Black和UltraBlack字体变形。
也只有当最上面的两个粗细级已经分配后,才会出现这样的情况。
否则用户代理可能会忽略它们,并且将800和900分配给Bold字体,或者将它们分配给两个Black字体变形之一。最后,让我们来看看Times宇体,它只有两种字体变形,TimesRegulal和TimesBold,如下所示。
字体形式:TimesRegular 分配的关键字:normal 分配的数字:100,200,300,400,500
字体形式:TimesBold 分配的关键字:bold 分配的数字:600,700,800,900
关键宇normal和bold的分配相当直接。对于这些数字,100到300分配给Regular字体,但500怎么办呢?它被分配给Regular字体了,因为没有Medium字体;这样它就同400一样了。
余下的,700总是分配给bold字体,而800和900,由于缺乏更粗的字体,也分配给Bold字体。最后,600被分配给下一个
更粗的字体,当然,也只有bold字体了。
字体粗细可被继承,如果将段落设置为bold,则所有的子元素都会继承粗体,如下:
p.one { font-weight:bold; }
以上是css中的font-weight属性实例用法详解的详细内容。更多信息请关注PHP中文网其他相关文章!

我知道,我知道:有大量的内容管理系统选项可用,而我进行了几个测试,但实际上没有一个是一个,y'知道吗?怪异的定价模型,艰难的自定义,有些甚至最终成为整个&

链接CSS文件到HTML可以通过在HTML的部分使用元素实现。1)使用标签链接本地CSS文件。2)多个CSS文件可通过添加多个标签实现。3)外部CSS文件使用绝对URL链接,如。4)确保正确使用文件路径和CSS文件加载顺序,优化性能可使用CSS预处理器合并文件。

选择Flexbox还是Grid取决于布局需求:1)Flexbox适用于一维布局,如导航栏;2)Grid适合二维布局,如杂志式布局。两者在项目中可结合使用,提升布局效果。

包含CSS文件的最佳方法是使用标签在HTML的部分引入外部CSS文件。1.使用标签引入外部CSS文件,如。2.对于小型调整,可以使用内联CSS,但应谨慎使用。3.大型项目可使用CSS预处理器如Sass或Less,通过@import导入其他CSS文件。4.为了性能,应合并CSS文件并使用CDN,同时使用工具如CSSNano进行压缩。

是的,youshouldlearnbothflexboxandgrid.1)flexboxisidealforone-demensional,flexiblelayoutslikenavigationmenus.2)gridexcelstcelsintwo-dimensional,confffferDesignssignssuchasmagagazineLayouts.3)blosebothenHancesSunHanceSlineHancesLayOutflexibilitibilitibilitibilitibilityAnderibilitibilityAndresponScormentilial anderingStruction

重构自己的代码看起来是什么样的?约翰·瑞亚(John Rhea)挑选了他写的一个旧的CSS动画,并介绍了优化它的思维过程。

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

@keyframesispopularduetoitsversatoryand and powerincreatingsmoothcssanimations.keytricksinclude:1)definingsmoothtransitionsbetnestates,2)使用AnimatingmatematingmultationmatingMultationPropertiessimultane,3)使用使用4)使用BombingeNtibalibility,4)使用BombingingWithjavofofofofofoffo


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

WebStorm Mac版
好用的JavaScript开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Atom编辑器mac版下载
最流行的的开源编辑器