reamweaver的CSS面板分类
type(类型)
background(背景)
block(区块)
box(方框) 或盒子意思
border(边框)
list(列表)
positioning(定位)
extensions(扩展)
共八个部分
1. type(类型)
type面板主要是对文字的字体,大小,颜色,效果等基本样式进行设置。
注意:属性名带*号的是指样式效果不能在编辑文档时显示,要用浏览器打开才能看到效果。
(1)font-family:设置字体系列。什么叫字体系列呢?是指对文字设定几个字体,当遇到第一个字体不能显示的文字时会自动用系列中的第二个
字体或后面的字体显示。
注意:一般英文字体我们用"Verdana, Arial, Helvetica, sans-serif"这个系列比较好看。如果不用这些字体系列,你就需要自己编辑字体系列,
也可以直接手动在下拉框里写字体名,字体之间用逗号隔开。中文网页默认字体是宋体, 一般就空着不要选取任何字体。
默认值: not specified(取决于浏览器,系统默认的字体, 如: 微软雅黑)
注意:
1.如果有汉字, 那么我们要加引号
2.如果有多个英文字母组成的单词, 我们也要加引号; "microsoft yahei" 中间用空格隔开
3.font-family:"黑体","宋体","华文隶书"; 首先找黑体, 没有黑体找宋体...
为了避免在CSS中使用 font 或 font-family 设置中文字体时乱码, 可以使用 Unicode 编码来表示字体。
/* 示例:使用Unicode字体编码设置字体为"微软雅黑" */
font-family: "\5FAE\8F6F\96C5\9ED1";
(2)font-size:定义文字的大小。你可以通过选取数字和度量单位来选择具体的字体大小,或者你也可以选择一个相对的字体大小。
最好使用pixels作为单位,这样不会在浏览器中文本变形。一般字体用比较标准的12px或14px, 默认值为16px。
注意:CSS中长度的单位分绝对长度单位和相对长度单位:
绝对长度单位有:
pt:磅(point)
mm、cn、in、pc:(毫米、厘米、英寸、活字)根据显示的实际尺寸来确定长度。
此类单位不随显示器的分辨率改变而改变。
相对长度单位有:
px:(像素)根据显示器的分辨率来确定长度。
em:当前文本的尺寸。例如:{font-size:2em}是指文字大小为原来的2倍。
比如自身font-size: 30px; 那么此时1em=30px;
ex:当前字母"x"的高度,一般为字体尺寸的一半。
%:是以当前文本的百分比定义尺寸。例如:{ font-size:300%}是指文字大小为原来的3倍。
small、large:表示比当前小一个级别或大一个级别的尺寸。
默认值:medium(标准大小)
(3)font-style:定义字体样式为normal、italic、oblique。默认设置为normal。
注意: italic 斜体 oblique 歪斜体 italic和oblique实际效果是一样的。
默认值:normal
(4)line-height:设置文本所在行的行高。默认为normal。可以是行内元素、行内块元素, 通常与height设置的高度值相同, 可以做到垂直居中的作用。
你也可以自己键入一个精确的数值并选取一个计量单位。
比较直观的写法用百分比, 例如140%是指行高等于文字大小的1.4倍。
最常用的方法: line-height:1.5em; /*行间距,相对数值,1.5倍行距,*/ 可有效的避免文字发生重叠
默认值: normal
(5)text-decoration:在文本中添加underline(下划线)、overline(上划线)、line-through(中划线)、blink(闪烁效果)。
这些效果可以同时存在,将效果前的复选框选定即可。
注意:链接的默认设置是underline,我们可以通过选none去除下划线。blink(闪烁效果)只在mozilla浏览器里可以看到, IE、opera不支持
默认值: none
(6)font-weight:给字体指定粗体字的磅值。
normal 默认值。定义标准的字符。
bold 定义粗体字符。
bolder 定义更粗的字符。
lighter 定义更细的字符。
100
200
300
400
500
600
700
800
900
inherit 规定应该从父元素继承字体的粗细。
定义由粗到细的字符。400 等同于 normal, 而 700 等同于 bold。
默认值: normal
(7)font-variant:允许你选取字体的变种, 选small-caps(小型大写字母)时, 此样式区域内所有字母大写。
normal表示正常的字体, 为默认值;
默认值: normal
(8)text-transform:将选区中每个单词的第一个字母转为大写, 或者令单词全部大写或全部小写。
参数:capitalize(单词首字母大写)、uppercase(转换成大写)、lowercase(转换成小写)、none(不转换)。
默认值:none
(9)color:定义文字颜色。包括对表单输入的文字颜色。
CSS中颜色的值有三种表示方法:
#RRGGBB格式,是由红绿蓝三种颜色的值组合,每种颜色的值为"00 – FF"的两位十六进制正整数。
例如:#FF0000表示红色,#FFFF00表示黄色。
rgb(R,G,B)格式, RGB为三色的值, 取0~255, 例如:rgb(255,0,0)表示红色, rgb(255,255,0)表示黄色。
用颜色名称。CSS可以使用已经定义好的颜色名称。例如:red表示红色, yellow表示黄色。
颜色值的缩写:
p{color:#000000} 可以缩写为:p{color:#000}
p{color:#336699} 可以缩写为:p{color:#369}
默认值: not specified
color: transparent; 透明色
rgba() 解释: rgba(红0-255, 绿0-255, 蓝0-255, 透明度0-1)
注意: 如果文字的颜色通过单独的类选择去设置没有改变颜色, 则应该通过组合选择器(.header .top .topR .blue)去设置, 改变它的优先级。
2. background(背景)
background面板主要是对元素的背景进行设置,包括背景颜色、背景图象、背景图象的控制。
一般是对body(页面)、table(表格)、div(区域)的设置。
(1)background-color:设置元素的背景色。包括对input表单输入框的背景颜色;
默认值: transparent(背景颜色为透明)
rgba() 解释: rgba(红0-255, 绿0-255, 蓝0-255, 透明度0-1) 一般用于背景色
(2)background-image:设置元素的背景图像。
默认值:none
CSS3支持多重背景图,只要加上一个url指定图片路径,并用逗号(,)将两组url分隔就可以了
background-image:url(a.jpg),url(b.jpg);
base64使用
background-image: url("data:image/png;base64,iVBORw0KGgo=...");
(3)background-repeat:确定背景图像是否以及如何重复。
repeat 默认值。背景图像将在垂直方向和水平方向重复。
repeat-x 背景图像将在水平方向重复。
repeat-y 背景图像将在垂直方向重复。
no-repeat 背景图像将仅显示一次。
inherit 规定应该从父元素继承background-repeat属性的设置。
注意:如果定义的元素的body,可以控制页面背景是否重复。
默认值: repeat
(4)background-attachment:固定背景图像或者跟随内容滚动。
参数fixed表示固定背景(不随屏幕滚动而滚动,决定背景图像是否要固定在原来的位置), scroll表示跟随内容滚动的背景。
注意:如果定义的元素的body, 可以使页面背景固定。
默认值: scroll
(5)background-position(X):指定背景图像的水平位置。
可以指定为left(左边), center(居中),right(右边);
也可以指定数值,如20px是指背景距离左边20象素。
background-position(Y):指定背景图像的垂直位置。
可以指定为top(顶部), center(居中), bottom(底部);也可以指定数值。
background-position属性值:
left top
center top
right top
left center
center center
right center
left bottom
center bottom
right bottom
如果您仅规定了一个关键词,那么第二个值将是"center"。
注意:采用英文单词的水平位置和垂直位置的属性值可以调换
x% y% 第一个值是水平位置,第二个值是垂直位置。左上角是 0% 0%。右下角是 100% 100%。如果您仅规定了一个值,另一个值将是 50%。
xpos ypos 第一个值是水平位置,第二个值是垂直位置。左上角是 0 0。单位是像素 (0px 0px) 或任何其他的 CSS 单位。
如果您仅规定了一个值,另一个值将是50%。
您可以混合使用 % 和 position 值。
默认值:0% 0%
文是站在一个网页设计师的角度,所写的关于最佳字体排版实践的手册,包括字体排版设计、Web 字体、Web 样式指导等四个方面,而且每一章后都有扩展阅读帮你深入了解细节,全程高能干货,建议阅读。
目录
简介
字体排版绝不仅仅是使用字体那么简单,它包括了关于文字”看上去会是怎么样?”的所有事情——例如文字的大小,行高,颜色甚至文字间留白这样的细枝末节的小事。一个好的文字排版会为你所写的内容定下情感基调,并且可以帮助读者更好的理解其内容和语境。
为了让你使用起来更像是在看一本参考书而不是说明书,本文将会非常精简清晰,如果你想进一步的了解更多细节,可以点击查看在每一章中的”扩展阅读”去深入了解。
这本手册将会在GitHub上开源,并且会持续更新一些最佳实践的范例,希望你们喜欢!
字体排版设计
视觉层次
视觉层次是一种理念,它意在传达页面中的元素应该依照其重要性进行组织排版,以便读者可以很容易的通览整个页面,找到相关的内容。一个好的视觉层次可以引导读者在阅读时候的视觉流向。视觉层次被广泛运用于文字排版中,它构成了文字排版设计的理论基石。
请看下图的”爱丽丝梦游仙境”的字体排版设计,它展现了一个清晰的视觉层次:
点击这里 查看网页上的实际效果
视觉层次可以被分成以下4个部分:
扩展阅读:
字体排版中的格式塔原则
格式塔原则, 或格式塔法则, 是一种构建感性认知的规律。当我们观察这个世界的时候,我们通常会意识到,一个复杂的场景是由多个在某些背景之上的物体构成的,而这些物体则是由更小的一些物体构成的,依此循环下去。
在字体排版中我们需要理解的两个很重要的格式塔原则就是”距离原则”和”相似原则”。.
距离原则
为了更好地掌握元素定位的方法,了解距离原则是很重要的。距离原则表明,人们会将靠得近的物体视为有关联的物体,反之,隔得比较远的物体将会被看成属于不同类别。
点击此处查看原图
在字体排版设计中,”距离”指的是通过设置行高、内间距和外间距所制造出来的留白空间。在两段不同的段落之间应该留有明显的并且易于区分的留白间隔,请看下面的例子:
注意啦,你觉得应该把内容相关的部分都挤到一个很小的空间中去吗?当然不是这样,自由随意的留白也是很重要的。距离原则告诉我们,只需要为那些没有关系的段落之间额外的加上一些易于区分的留白就可以了
相似原则
格式塔的相似原则告诉大家,看起来很像的东西会被认为是一类的东西。举个例子,如果所有可点击的文字被设置为天蓝色,那么读者就会认为文章中所有天蓝色的文字内容都是可以点击的。
在字体排版中,相似原则就意味着,拥有同样功能的元素应该在样式上保持一致。如果两组元素的功能相似的话,那么它们也应该看起来很像才对。例如,两篇同为博客帖子的文章应该看起来很像。而相反的,两个功能不相同的元素也应该看起来不像。
扩展阅读:
字体
选择字体
选择字体是一个具有创造性和情感的过程。不同的字体可以传达不同的情感,你可以尽情挑选一个合适的字体让你的文字感情变得丰沛起来。
扩展阅读:
使用web字体
我们使用以下的格式来声明引入的web字体文件:
@font-face { font-family: 'Helvetica Neue'; src: url('/assets/fonts/HelveticaNeue-Light.eot'); src: url('/assets/fonts/HelveticaNeue-Light.eot?#iefix') format('embedded-opentype'), url('/assets/fonts/HelveticaNeue-Light.woff2') format('woff2'), url('/assets/fonts/HelveticaNeue-Light.woff') format('woff'), url('/assets/fonts/HelveticaNeue-Light.ttf') format('truetype'); font-weight: 300; font-style: normal; } @font-face { font-family: 'Helvetica Neue'; src: url('/assets/fonts/HelveticaNeue-Bold.eot'); src: url('/assets/fonts/HelveticaNeue-Bold.eot?#iefix') format('embedded-opentype'), url('/assets/fonts/HelveticaNeue-Bold.woff2') format('woff2'), url('/assets/fonts/HelveticaNeue-Bold.woff') format('woff'), url('/assets/fonts/HelveticaNeue-Bold.ttf') format('truetype'); font-weight: bold; font-style: normal; } @font-face { font-family: 'Helvetica Neue'; src: url('/assets/fonts/HelveticaNeue.eot'); src: url('/assets/fonts/HelveticaNeue.eot?#iefix') format('embedded-opentype'), url('/assets/fonts/HelveticaNeue.woff2') format('woff2'), url('/assets/fonts/HelveticaNeue.woff') format('woff'), url('/assets/fonts/HelveticaNeue.ttf') format('truetype'); font-weight: normal; font-style: normal; }
为了达到最大程度上的兼容,我们建议使用上面列出的格式。或者,只使用 woff2 和 woff也会支持大部分的现代浏览器。
你需要为每个列出来的格式提供一个相应的字体文件。推荐使用 Transfonter 或者FontSquirrel’s Web Font Generator,这样你就可以在只有一个字体文件的情况下,将其转换成不同的文件格式。
尽可能的压缩你的字体文件。 点击这里 查看更多信息。
将多个同源字体文件(细体、常规、半粗体、粗体等等)合并成一个font-family, 尽量不要为每个字体都起一个新的font-family的名字。
或者,你也可以通过线上字体资源服务,如Google Fonts 或者 Typekit引入你想要的字体。
扩展阅读:
加载字体
在你引入的字体被渲染出来之前,他们需要先进行加载。下面是三种在加载的时候可能会发生的事情:
场景1只发生在你尝试使用一个不存在的字体,或者声明时候的src指向了一个坏链, 这种情况可以并且应该彻底避免。接着我们跳到场景3,这种情况通常在字体被正确的缓存的时候发生,也是我们喜闻乐见的。场景2中包含着字体加载的过程,字体加载通常是难以避免的(至少是在第一次请求的时候),下面是几种处理方式:
1. 文档样式闪烁方案 (FOUT)
FOUT是指网页会在切换到合适的网页字体之前,使用默认或者备选字体显示文字。这种情况的出现是因为只有当HTML和CSS都被下载完成之后,字体请求才会发出。这就意味着,在HTML被显示出来而字体文件没有被完全下载下来中间存在着一段”空档”时间。 FOUT 算是对大部分的网页而言的最佳选择,主要是其他的选择也许更糟。如果使用得到的话,FOUT 很难被用户察觉出来。
2. 不可见文本闪烁方案(FOIT)
很多年前,一些现代浏览器开始使用一种新的技术来处理字体加载的问题 — FOIT. FOIT是指当浏览器检测到字体正在加载的时候,隐藏应用这段字体的文字,直到字体完全下载完才将其显示出来。 然而我们应该避免这种做法虽然这样做从理论上看起来还不错,但是这会带给那些网络速度比较差的用户十分糟糕的体验。有可能会在最初的FOIT后出现FOUT, 最坏的情况可能会是这段文字将永远看不到了。
3. 白屏方案
即在字体加载完成之前,整个网页都处于不可见的状态,或者也可以采用显示一个进度条.我们只推荐当FOUT 严重影响用户体验的时候使用这种方法。 我们通常在一个网页需要大面积显示一个特定的字体的时候使用该方法,否则,FOUT 总会我们的第一选择,因为”内容至上”。白屏方案与 FOIT很相似, 但对于你来说,你拥有控制在什么时候给用户展示你的内容的自由,这种感觉会似乎更棒一些,不是吗?而且在FOIT方案中, 不可见的文本有时候会给读者带来困惑,而彻底的白屏(或者一个进度条)会让人很自然的觉得是一个正在加载的信号。
不管你是打算使用 FOUT 方案或者白屏方案, 我们都推荐您使用Web Font Loader这个JavaScript库. Web Font Loader 可以让你对 @font-face加以控制, 而且你也为字体加载的体验添加控制事件。
注意: 有一个W3C 字体加载 API也会实现同样的功能,但是它现在的 支持不是很好_
FOUT 方案
下面是一个使用 Web Font Loader 实现了 FOUT的例子:
<script type="text/javascript"> WebFontConfig = { google: { families: [ 'Lora:400,700,400italic,700italic:latin' ] } }; (function() { var wf = document.createElement('script'); wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'; wf.type = 'text/javascript'; wf.async = 'true'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wf, s); })(); </script> <noscript> <link href='http://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic' rel='stylesheet' type='text/css'> </noscript> <style> p { /* use fallback fonts */ } .wf-active p { /* styles for custom fonts */ } </style>
异步地使用 Web Font Loader 很重要,只有这样做才不会延误页面其他部位的渲染。
写样式的时候,让你的备用字体尽可能近的靠近你的实际字体,这样才能最大程度的减少 FOUT造成的影响.点击 这里你将会看到一系列的备选字体. 使用 这个工具你将很容易的看到备选字体和你引入的字体的对比效果.
白屏方案
下面是一个使用 Web Font Loader 实现了白屏方案的例子:
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.16/webfont.js"></script> <script> WebFont.load({ google: { families: ['Raleway', 'Oswald'] } }); </script> <noscript> <link href='https://fonts.googleapis.com/css?family=Raleway|Oswald' rel='stylesheet' type='text/css'> </noscript> <style></style>
在这个例子里面,备选字体不需要和你引入的字体看起来很像,因为我们不会用到 FOUT. 依照你自己的喜好去选择备选字体吧。
如果你想要用一个进度条取代白屏,你可以使用Pace。这种方法在用户体验上效果会更好一些,特别是当字体文件很大的时候。
扩展阅读:
OpenType 的特性
OpenType 的特性可以被视为文字进行字体排版时的可选项,它们被用来加强文字的表现和易读性。
p { font-kerning: normal; font-variant-ligatures: common-ligatures contextual; -moz-font-feature-settings: "kern", "liga", "clig", "calt"; -ms-font-feature-settings: "kern", "liga", "clig", "alt"; -webkit-font-feature-settings: "kern", "liga", "clig", "calt"; font-feature-settings: "kern", "liga", "clig", "calt"; }
OpenType 特性被放置于字体之中,这就意味着对于不同的字体,会有不同的特性,在使用这些特性之前,我们需要看一看我们的字体是否支持这些特性。
使用 font-feature-settings来激活 OpenType 特性. 由于目前对于这个属性的支持不好,我们需要在属性之前加上前缀。
Kerning kern, ligatures liga, contextual ligatures clig, 和 contextual alternatives calt这四种适用于所有字体中 ######( 译者注:font-feature-settings这种属性仅支持拉丁文语系的字体使用,并不支持中文哦! )
扩展阅读:
Web Style Guide
相对大小
尽可能的使用相对大小。
html { font-size: 100% } p { font-size: 1em } @media (min-width: 64em) { html { font-size: 112.5%; } }
扩展阅读:
容器
容器,或者称为包装,指的是用来包裹一个或者多个元素的HTML元素。它将元素分组,从而更好进行语义化、修饰以及布局。
html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; } .container { max-width: 67rem; padding-left: 1.5rem; padding-right: 1.5rem; }
扩展阅读:
字体大小
使用 缩放模块 可以帮助你决定在你的元素上面应用怎样的font-size .缩放模块指的是依照其内容安排的一系列比较合适的字体大小的数值。
缩放模块的说明. 点击此处
响应式的缩放模块
只使用单独的一个缩放模块方案并不一定适合所有分辨率的设备,为了解决这个问题,你可以依据用户的设备的分辨率的不同提供不同的缩放方案
//Sass responsive modular scale /* * Modular scale * http://www.modularscale.com/?1.25&em&1.33&web&text */ $type-scale-large: ( h1: 3.911rem, h2: 2.941rem, h3: 2.211rem, h4: 1.663rem, p: 1.25rem ); /* * Modular scale * http://www.modularscale.com/?1.25&em&1.25&web&text */ $type-scale-medium: ( h1: 3.052rem, h2: 2.441rem, h3: 1.953em, h4: 1.563rem, p: 1.25rem, ); /* * Modular scale * http://www.modularscale.com/?1.1&em&1.25&web&text */ $type-scale-small: ( h1: 2.686rem, h2: 2.148rem, h3: 1.719rem, h4: 1.375rem, p: 1.1rem ); $breakpoint-medium: 75em; $breakpoint-small: 45em; @mixin size($level) { font-size: map-get($type-scale-large, $level); @media (max-width: $breakpoint-medium) { font-size: map-get($type-scale-medium, $level); } @media (max-width: $breakpoint-small) { font-size: map-get($type-scale-small, $level); } } // Example .title { @include size(h1); }
扩展阅读:
垂直距离
文字间的垂直距离是由 line-height, margin, 和padding构建出来的.
垂直节律
垂直节律是指元素之间的垂直间隔要保持一致性。这一点十分重要,它可以带给读者视觉上放松的享受,给他们一种亲近的感觉。
Image source建立垂直节律很简单。首先,确定你使用的基础垂直内间距和基础垂直外间距的数值。然后,为你的容器,文字性元素或者其他相关元素的单方向的外边距(或者内边距)应用这个数值。如果你需要制制造更大的间隔的话,应用这个数值的倍数就好啦!
将基础间距的数值设置成与行高相同的数值,这样你的文字就像写在一个条格纸上那样整齐,就像我们传统的印刷字体设计的那样。然而,想要文字拥有垂直节律不一定需要按照上面的方法来做,只要你设置了一个基础间距,并且使得其他间距都是由这个间距成倍的得来的,那样就可以了。
body { line-height: 1.4; // Base line height } p { font-size: 1.25em; // Base font size margin-bottom: 1.75rem; // Base vertical spacing: (1.4 * 1.25) = 1.75 } h1 { font-size: 3em; margin-bottom: 3.5rem; // Double the base value for a larger gap (1.75 * 2) = 3.5 } h2 { font-size: 2em; margin-bottom: 1.75rem; } h3 { font-size: 1.5em; margin-bottom: 1.75rem; } .page-container { padding: 3.5rem 2rem; // 3.5 is double the base value } /* Simple Sass Implementation */ $base-line-height: 1.4; $base-font-size: 1.25rem; $vertical-rhythm: $base-line-height * $base-font-size; body { line-height: $base-line-height; } p { font-size: $base-font-size; margin-bottom: $vertical-rhythm; } h1 { font-size: 3em; margin-bottom: $vertical-rhythm * 2; } h2 { font-size: 2em; margin-bottom: $vertical-rhythm; } h3 { font-size: 1.5em; margin-bottom: $vertical-rhythm; } .page-container { padding: ($vertical-rhythm * 2) 2rem; }
文字底部对齐基线网格
文字底部对齐基线是垂直节律的一个更为严格的实现。在网页中,文字通常在line-height间居中对齐.但对于较大的文字来说会比较讨厌,因为这样做会导致在顶部和底部留有太多的空间。在传统印刷的时候,这个问题一般会通过让文字对齐基线网格的底部得以解决。
我们也可以通过为较大的文字添加一个负的margin-top和一个较小的margin-bottom,不需要使用基线网格而解决这个问题。
图片资源为不同的字体样式、字体大小和分辨率添加一个底部对齐的基线网格并不是一个很容易的方式,所以强烈建议你使用一个字体排版基线库例如 Sassline 或者 MegaType.
注意,垂直节律只是一个建议,而且基线网格也只是想象出来的。所以我们不需要在每个使用场合都遵循这个规律,也不用在每个元素中都去追求像素级别的完美。
扩展阅读:
颜色
颜色可以很大程度上的增加视觉辨识度,是字体排版中一个重要的组成部分。
####扩展阅读:
下划线
在印刷品里,永远都不要使用到下划线,因为这样做会影响文字的阅读,重点是,它很丑!Practical Typography
一般的来说,在网页中下划线也会看起来并不美好!幸运的是, background-image 就包含一个方法,它可以使得下划线变得好看一点。 下面是Adam Schwartz使用Sass实现的下划线的例子 :
@mixin text-underline-crop($background) { text-shadow: .03em 0 $background, -.03em 0 $background, 0 .03em $background, 0 -.03em $background, .06em 0 $background, -.06em 0 $background, .09em 0 $background, -.09em 0 $background, .12em 0 $background, -.12em 0 $background, .15em 0 $background, -.15em 0 $background; } @mixin text-background($color-bg, $color-text) { background-image: linear-gradient($color-text, $color-text); background-size: 1px 1px; background-repeat: repeat-x; background-position: 0% 95%; } @mixin text-selection($selection) { &::selection { @include text-underline-crop($selection); background: $selection; } &::-moz-selection { @include text-underline-crop($selection); background: $selection; } } @mixin link-underline($background, $text, $selection){ @include text-underline-crop($background); @include text-background($background, $text); @include text-selection($selection); color: $text; text-decoration: none; *, *:after, &:after, *:before, &:before { text-shadow: none; } &:visited { color: $text; } } /* Example usage */ a { @include link-underline(#fff, #333, #0CBF); }
SmartUnderline 是一个简化这个工作的库。建议你只在有链接的地方使用下划线,这是大多是网站都遵循的规律,如果不这么做的话,可能会引起误解。
扩展阅读:
总结
恭喜你,你已经快读完这篇手册了。在web,这种用户可以在任何分辨率的设备上使用的媒介上进行字体排版是及其困难的。在很多年前,当我第一次开始设计网页的时候,我发现几乎找不到最新的关于最佳WEB字体排版实践的信息。很多专家发表的博客文章内容相互矛盾,而且很多市面上的web字体排版的书籍也很少谈及具体技术应用的细节。字体排版手册希望可以解决这个问题,并且为菜鸟们提供应该了解的关于如何创建符合字体排版工业标准的全部知识。我希望这个成果可以令你满意。
请私信我回复“666”,为严哥打Call~,还有更多惊喜哦~
.............................................................
UI严选—越努力,越幸运
字是网页展示的重要内容之一,所以对文字的修饰也是CSS重点关注的一部分, CSS提供了以下常用的样式属性来修饰文字。
color 用来设置文字颜色。
设置方式支持以下几种格式
<style>
.box {
color: red;
}
</style>
<div class="box">文字颜色</div>
<style>
.box {
color: #ff0000;
}
.box1 {
color: #f00;
}
</style>
<div class="box">文字颜色</div>
<div class="box1">简写形式</div>
<style>
.box {
color: rgb(255, 0, 0);
}
</style>
<div class="box">文字颜色</div>
<style>
.box {
color: rgba(255, 0, 0, 0.5);
}
</style>
<div class="box">文字颜色</div>
font-size 属性用来设置字体大小,单位通常为px 也可以为em,rem
单位的解释
<style>
.box {
font-size: 30px;
}
</style>
<div class="box">文字大小</div>
设置字体的粗细程度,常用的属性有 normal 和 bold 两个值。
可以用以下值表示,也可以用数字表示。
值 | 意义 |
normal | 正常粗细,和400值相等 |
bold | 加粗,与700数值相等 |
lighter | 比 正常粗细还细, 不常用 |
bolder | 比 加粗还粗,不常用 |
100 200 300 400 500 600 700 800 900 | 使用数字定义字体粗细 |
inherit | 从父元素继承字体粗细 |
<style>
.box_normal {
font-weight: normal;
}
.box_bold {
font-weight: bold;
}
.box_lighter {
font-weight: lighter;
}
.box_bolder {
font-weight: bolder;
}
.box_number {
font-weight: 600;
}
</style>
<body>
<div class="box_normal">font-weight演示:正常粗细</div>
<div class="box_bold">font-weight演示,加粗</div>
<div class="box_lighter">font-weight演示,更细</div>
<div class="box_bolder">font-weight演示, 更粗</div>
<div class="box_number">font-weight演示, 数字</div>
</body>
设置字体的倾斜程度
值 | 意义 |
normal | 正常字体, 不带倾斜效果 |
italic | 倾斜字体(常用,使用倾斜字体) |
oblique | 倾斜字体(用常规字体模拟倾斜,不常用) |
<style>
.box1 {
font-style: normal;
}
.box2 {
font-style: italic;
}
.box3 {
font-style: oblique;
}
</style>
<body>
<div class="box1">正常字体</div>
<div class="box2">倾斜字体</div>
<div class="box3">倾斜字体2</div>
</body>
设置文本的修饰线的样式
示例 | 意义 |
none | 无线(a标签去除下划线会用到) |
underline; | 下划线 |
line-through; | 删除线 |
…等等 | 还有很多,可自行百度 |
<style>
.decoration-none {
text-decoration: none;
}
.decoration-underline {
text-decoration: underline;
}
.decoration-line-through {
text-decoration: line-through;
}
</style>
<body>
<div class="decoration-none">无线修饰</div>
<div class="decoration-underline">下划线</div>
<div class="decoration-line-through">删除线</div>
</body>
指定使用的字体族,操作系统一般自带很多字体;
例如:window操作系统中的 ‘微软雅黑’ ,黑体等。
字体文件的格式有很多,比如 eot,woff2,woff,ttf,svg等。
font-family 可以一次指定多个字体, 后面的字体属于后备字体,只有前面的字体没有找到,才会使用后面的字体。
<style>
div {
font-family: serif, "Time New Roman", "微软雅黑"
}
</style>
<body>
<div>字体</div>
</body>
自定义字体
某些时候,我们的字体比较个性化,或者我们的字体是一个图标字体(一种用符号表示图片的方式)。那么此时,需要我们使用 @font-face 自定义字体
自定义的字体一般是随着网页发布在服务器端,操作系统中并没有。
推荐一个比较好用的字体库网站:https://www.iconfont.cn/(具体使用方式请自行百度)。
*请认真填写需求信息,我们会在24小时内与您取得联系。