zoukankan      html  css  js  c++  java
  • 控制的字体属性

    from:http://jorux.com/archives/property-2-if-you-love-css/

    上次主要说明了css对于颜色和文本属性的控制, 这次介绍css对于字体, 背景等属性的控制.

    字体(Font):css控制的字体属性包括font-family, font-style, font-variant, font-weight, font-size.

    1.font-family: 由字体名(family-names)字组名(generic families)两个部分组成.首先来看个实例,:查看Jorux.com首页的css文件,可以看到以下代码:

    body {
    font: normal 12px/1.5 Georgia, sans-serif;
    text-align:left;
    background:#444 url(images/bodybg.jpg) repeat-y;
    }

    蓝色加亮部分就是font的属性值, 这种写法为简写, 可将其还原为:

    font-weight: normal;
    font-size: 12px;
    line-height: 1.5;
    font-family: Georgia, sans-serif;

    行高(line-height)其实并不属于font属性, 但可以在简写时归入font属性值内. 现在我们先只看最后一行font-family的部分. “Georgia“即为字体名(有simhei, arial, verdana等), “sans-serif“即为字组名(包括衬线字体(Serif), 非衬线字体(Sans-Serif) 和等宽字体(MonoSpace)三种).

    由于Windows自带的汉字字体极为有限. 但一般中文Windows系统都支持宋体(默认, SimSun)和黑体(SimHei)和楷体(kaiti_gb2312). 我们来看看这几种汉字字体(要注意这几种字体名, 楷体的英文字体名为kaiti_gb2312, Firefox对汉字字体支持不良):

    宋体      楷体      黑体      默认 

    中国人看到西方字体名可能会比较迷惑, 但就如同学习英文时所遇到的英文名一样, 一些常用的字体名的表现和拼写必须要掌握, 对于中文学习者, 目前只推荐掌握以下几种英文字体:

    Arial      Verdana      Georgia       Courier  

    这几种字体的一般用法如下:

    1. Arial: 是目前最为流行的正文字体, 几乎所有的web2.0站点(如Google, Flickr, Wikipedia等)都使用arial字体作为正文甚至是标题的字体. 特点是亲和力比较强, 阅读起来不易疲劳;

    2. Verdana: 是1996年微软邀请顶级字体设计师花了两年时间出品的字体, 免费提供给windows用户. 和arial用法比较相似, 是目前使用最为广泛的字体, 几乎能在任何地方看到;

    3. Georgia: 这个后起之秀, 由于其花哨的衬线(后说明), 被很多网页设计师所青睐, 逐渐取代了Times New Roman在serif字组中的核心地位. 本网站的标题也使用的是Georgia字体.

    4. Courier: 隶属于Monospace字组, 由于其字母的宽度均一, 一般用于对单词长度控制比较严格的地方, 比如网页导航条和报纸(印刷品).

    英文有那么多字体, 但都隶属于serif, sans-serif和monospace三种字组. 由于英文本身的特点, 不同于方块字(汉字), 英文字母的宽度是不相等的, 这就给出版业如报纸的排版工作增加了难度, 于是发明了等宽字体(monospace).

    字组及字体关系图如下:

    j

    现在有必要解释一下serif和sans-serif的区别. “sans”来源于古法语, 意为”without”, 即”非”. 而”serif”来源于荷兰语, 译为衬线, 指字母的拐角或端点位置的修饰线, 如图所示:

    j   

    所以非等宽字组又分为有衬线(serif)和无衬线(sans-serif)两组. verdana和arial均属于无衬线组.

    对于字组和字体的选择, 其实是很个性化的, 读者可以根据自己的喜好, 灵活搭配, 但总的原则是不要选取一些罕见的字体, 如果访问者没有这种字体的话,就会和你的设计意图相悖.

    :如font-family的属性值如下:

    font-family: verdana,arial,sans-serif;

    浏览器首先在字体库中寻找verdana字体, 如果没找到则寻找arial字体, 如果还没找到就在sans-serif字组中的选择其他字体显示.

    2. font-style: 包括normal, italic和oblique三个属性值. css代码如下:

    font-stye:normal;
    font-stye:italic;
    font-stye:oblique;

    表现如下:

    normal      italic  oblique

    可以看到italic和oblique都是向右倾斜的文字, 但区别在于Italic是指斜体字,而Oblique是倾斜的文字,对于没有斜体的字体应该使用Oblique属性值来实现倾斜的文字效果。主要用于一些需要区别于正文的备注说明文字.

    3. font-variant: 包括normal和small-caps两种属性值. 非英文用户可能很少用到这个属性. small-caps是指小型大写字母, 是介于大写字母和小写字母之间的一种字母表现形式, css代码如下:

    font-variant: normal;
    font-variant: small-caps;

    表现如下:

    NORMAL      small-caps

    可以看到小型大写字母比正常的大写字母要矮一截, 需要注意的是, 要实现此效果, html中的中必须使用小写字母, 在css中用font-variant:small-caps;就能自动转化为小型大写, 否则就会显示为正常的大写字母.

    4. font-weight:  包括normal和bold两种属性值. blod属性值即指粗体. css代码如下:

    font-weight: normal;
    font-weight: bold;

    表现如下:

    normal     bold

    5. font-size: 用于控制字体大小的属性, 属性值的单位主要有px, pt, cm, mm%, em, 其中pt, cm, mm为字体绝对大小单位,px, %, em为相对大小单位. 这两种单位各有裨益, 绝对大小单位的优势在于, 不管用户的浏览器设置如何, 均能保持原有的设计样式, 但对于一些有阅读障碍, 习惯于大字体的用户就显得有点死板. 而相对大小单位虽然在可读性上有优势, 但网页界面容易被增大的字体所冲散.

    在这里, 限于篇幅就不再解释每个单位的区别和用法. 可以参考Length units.

    这里只是强调一点, 如果你的网页主要是在电脑屏幕上显示, 首推px作为你的首选单位, 因为px能够精确地表示元素在屏幕中的位置和大小. 如果你的网页主要用于打印, 则推荐使用绝对单位pt(1pt=1/72英寸)来作为首选单位, 这是因为不管屏幕的分辨率是多少, 打印出来的大小都是一样的.

    Summary: 现在总结一下font的属性, 如果想让”Font Property”表现为32px, 行高为150%, 粗体, 斜体, 字体为Georgia, 字组为serif, 代码如下:

    font-size: 32px;
    line-height: 1.5;
    font-style: italic;
    font-weight: bold;
    font-family: Georgia, serif;

    简写为:

    font: italic bold 32px/1.5 Georgia,serif;

    表现如下:

    Font Property


    背景(background): 包括background-color, background-image, background-repeat, background-attachment, background-position五种属性.

    1. background-color: 指背景颜色, 其属性值有三种形式, 十六进制, 颜色名称, rgb值. 目前最为常用的是”#+十六进制数”. : 本站显示代码的段落背景为#EEEEEE的灰色, 代码及示例如下:

    background-color: #EEEEEE;

    2. background-image: 指背景图片, 其属性值为背景图片的地址, 代码和格式如下:

    background-image: url(http://jorux.com/back.png);

    : 本站首页的第一篇文章标题前有个”NEW”图标, 查看css可见如下代码:

    #homeheadline a{
    color:#444;
    padding: 30px 68px 0 40px;
    margin:0;
    background:url(images/new.png) no-repeat 0 16px ;
    }

    3. background-repeat: 指背景图片的重复与否以及重复方式, 有no-repeat, repeat, repeat-x, repeat-y四种属性值.

    no-repeat: 即无论背景图片的大小, 只显示单个背景图片,  如首页的第一篇文章标题前的”NEW”图标, 代码如上所示;

    repeat: 指背景图片横向和纵向重复连续显示;

    repeat-x: 指背景图片横向重复连续显示;

    repeat-y 指背景图片纵向重复连续显示;: 查看本站css文件,可以看到以下代码:

    body {
    font: normal 12px/1.5 Georgia, sans-serif;
    text-align:left;
    background:#444 url(images/bodybg.jpg) repeat-y;
    }

    可以看到背景图片bodybg.jpg是纵向重复显示的, 并随页面的长度的增加而增加.

    4. background-attachment: 指背景图片的附着方式, 有scroll(默认属性)和fixed两种属性值. scroll指背景图片随页面的滚动而滚动, 而fixed属性值则可使背景图片固定于浏览器的某个位置, 不随页面滚动而滚动. 如下例所示, 您可以试着滚动本页面来看看两图的差别, 左边为scroll, 右边为fixed(请用IE观看以下演示):

    X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
    X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X

    5.background-position: 指背景图片的位置属性. 属性值可以有百分比, 位置名称和具体数值三种形式, 如下图所示(蓝色部分表示距离左边框的数据, 黑色部分表示距离上边框的数据):

    j

    可以看到, 要使背景图片位于左上角有三种方法, 代码如下:

    background-position: 0% 0%; 
    background-position: top left;
    background-position: 0 0; 

    实际上, 不声明此属性, 即默认背景图片为左上角显示. 值得注意的是, 当用属性值为位置名称时, 先写距离上边框的数据(top), 后写距离左边框的数据(left). 而当用百分比或是具体数值表示时, 则反过来写.请读者仔细看看上图的蓝色和黑色部分的顺序.

    不要小看这个属性, 在导航条的制作中, 这个属性将是实现一些动态变化的关键手段(将在以后的实例篇中说明).

    Summary: 现在总结一下background的属性, 如果想让某背景图片表现为固定, 位于右上角, 不重复, 背景颜色为#CCC, 代码如下:

    background-image: url(http://static.flickr.com/86/240223091_dc1dce25a5_m.jpg);
    background-color: #CCC;
    background-attachment: fixed;
    background-position: top right;
    background-repeat: no-repeat;

    简写为:

    background: url(http://static.flickr.com/86/240223091_dc1dce25a5_m.jpg) #CCC fixed no-repeat top right;

    表现如下(请用IE观看以下演示):

    X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X

    本篇正文完.

     
  • 相关阅读:
    AcWing 1135. 新年好 图论 枚举
    uva 10196 将军 模拟
    LeetCode 120. 三角形最小路径和 dp
    LeetCode 350. 两个数组的交集 II 哈希
    LeetCode 174. 地下城游戏 dp
    LeetCode 面试题 16.11.. 跳水板 模拟
    LeetCode 112. 路径总和 递归 树的遍历
    AcWing 1129. 热浪 spfa
    Thymeleaf Javascript 取值
    Thymeleaf Javascript 取值
  • 原文地址:https://www.cnblogs.com/zhangyunlin/p/6167783.html
Copyright © 2011-2022 走看看