美文网首页
CSS3文本与字体

CSS3文本与字体

作者: 陈裔松的技术博客 | 来源:发表于2019-01-07 14:29 被阅读0次

    CSS3文本

    文本阴影:text-shadow属性
    • 概念:应用于阴影文本
    • 语法:text-shadow:h-shadow v-shadow blur color;
    • 参数:h-shadow:水平偏移,v-shadow:数值偏移,blur:模糊距离,color:颜色
    text-shadow: 5px 5px 5px red;
    
    文本轮廓:text-outline属性
    • 概念:规定文本轮廓
    • 语法:text-outline: thickness blur color;
    • 参数:thickness:宽度值
    • 现状:任何主流浏览器都不兼容text-outline属性
    换行1:word-break属性
    • 概念:规定自动换行的处理方法
    • 语法:word-break: normal | break-all | keep-all
    • 参数:
      normal:浏览器默认的换行规则
      break-all:在改换行的地方换行,比如一行写满
      keep-all:半角空格或者连字符处换行
    • 补充
      这个属性主要针对英文,如果中文的话,建议用normal。
      中文的break-all没有任何意义,中文的keep-all会在标点符号处换行。
    h1:nth-child(1) { word-break: normal; }
    h1:nth-child(2) { word-break: break-all; }
    h1:nth-child(3) { word-break: keep-all; }
    
    换行2:word-wrap属性
    • 概念:允许长单词或URL地址换行到下一行
    • 语法:word-wrap: normal | break-word
    • 参数:
      normal(默认):容器内放不下会溢出
      break-word:容器内放不下会自动换行
    • 补充:这个属性主要针对英文
    h1:nth-child(1) { word-wrap: normal; }
    h1:nth-child(2) { word-wrap: break-word; }
    
    CSS3新文本属性1:text-align-last属性
    • 概念:规定如何对齐文本的最后一行
    • 语法:text-align-last: auto | left | right | center | justify | start | end | initial | inherit
    • 注意:
      此属性只有IE支持,其他浏览器需要加前缀
      只有在text-align属性设置为"justify"时才起作用
    h1:nth-child(1) { text-align-last: auto; }      // 自动对齐(左对齐),默认值
    h1:nth-child(2) { text-align-last: left; }      // 左对齐
    h1:nth-child(3) { text-align-last: right; }     // 右对齐
    h1:nth-child(4) { text-align-last: center; }    // 居中对齐
    h1:nth-child(5) { text-align-last: justify; }   // 两端对齐,均分一行显示文字
    h1:nth-child(6) { text-align-last: start; }     // 与主流一致,主流左对齐,最后一行左对齐
    h1:nth-child(7) { text-align-last: end; }       // 与主流相反,主流左对齐,最后一行右对齐
    h1:nth-child(8) { text-align-last: initial; }   // 属性默认值
    h1:nth-child(9) { text-align-last: inherit; }   // 继承父元素
    
    CSS3新文本属性2:text-overflow属性
    • 概念:规定当文本溢出包含元素时发生的事情
    • 语法:text-overflow:clip | ellipsis | string
    • 参数:
      clip:多出来的部分会被切掉
      ellipsis:多出来部分会以省略号显示
      string:自定义提示符号,这个只有火狐浏览器才兼容
    • 补充:记得加上overflow:hidden,否则效果无法显示
    h1:nth-child(1) { text-overflow: clip; }
    h1:nth-child(2) { text-overflow: ellipsis; }
    h1:nth-child(3) { text-overflow: '>>'; }
    

    CSS3字体

    让网站开发不再局限于安全字体(系统自带字体,比如微软雅黑)。思路是把字体文件放在服务器中,当加载网页的时候,会把字体文件也加载下来。

    @font-face的语法规则
    // 推荐通用模板
    <style type="text/css">
    @font-face {
        font-family: 'myfont';        
        // 字体取值(font-family):自定义字体名称,它将被引用到Web元素中的font-family
    
        src: url('font/myFont.eot'); 
        // 字体取值(url):自定义字体的存放路径,相对路径(建议)或绝对路径都可以
        // 兼容IE9以上浏览器
    
        src: url('font/myFont.eot?#iefix') format('embedded-opentype'),  
             // 兼容IE6 ~ IE8浏览器
             url('font/myFont.ttf') format('truetype'),
             // 兼容手机端浏览器(Safari,Android,iOS)
             url('font/myFont.woff') format('woff'),
             // 兼容所有浏览器(Modern Browsers)
             url('font/myFont.svg#myFont') format('svg');  
             // 字体取值(format):自定义字体的格式,主要用来帮助浏览器识别
        [font-weight: <weight>]  // 字体取值(font-weight):定义字体是否为粗体,选填
        [font-style: <style>]    // 字体取值(font-style):定义字体样式(比如斜体),选填
    }
    
    // 用法
    h1 {
        font-family: 'myfont';
    }
    </style>
    
    @font-face的字体格式
    • TrueType(.ttf)格式
      是windows和mac的最常见字体,是一种RAW格式,因此它不为网站优化
    • OpenType(.otf)格式
      被认为是一种原始的字体格式,其内置在TrueType的基础上,所以也提供了更多的功能
    • Web Open Font Format(.woff)格式
      是Web字体中最佳格式,它是一个开放的TrueType/OpenType的压缩版本,同时也支持元数据包的分离
      注意:手机端不兼容
    • Embedded Open Type(.eot)格式
      是IE专用字体,可以从TrueType创建此格式字体
    • SVG(.svg)格式
      是基于SVG字体渲染的一种格式
    获取特殊字体

    一般情况下,从网上下载下来的字体文件是ttf格式的字体文件,那怎样获得其他格式的字体文件呢?这里介绍一个比较好用的在线字体转换工具:Fontsquirrel

    步骤1:点击[UPLOAD FONTS]按钮上传需要转换的字体文件
    步骤2:选中Agreement,否则不能转换
    步骤3:选中EXPERT...,在展开的地方选择转换后的字体文件[WOFF,WOFF2,SVG,EOT Compressed],
    步骤四:点击底部的[DOWNLOAD YOUR KIT]按钮,开始下载目标字体文件

    相关文章

      网友评论

          本文标题:CSS3文本与字体

          本文链接:https://www.haomeiwen.com/subject/xxsurqtx.html