整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

一篇文章带你了解CSS 文本样式

家好,我是IT共享者,人称皮皮。这篇文章我们来讲讲CSS的文本样式。

一、文本颜色Color

颜色属性被用来设置文字的颜色。

颜色是通过CSS最经常的指定:

  • 十六进制值 - 如"#FF0000"。
  • 一个RGB值 - "RGB(255,0,0)"。
  • 颜色的名称 - 如"红"。

一个网页的文本颜色是指在主体内的选择:

<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=640, user-scalable=no">
        <title>项目</title>
        <style>
            body {
                color: blue;
            }


            h1 {
                color: #00ff00;
            }


            h2 {
                color: rgb(255, 0, 0);
            }
</style>
    </head>


    <body>
        <h2>hello world</h2>
        <h1>welcome to CaoZhou</h1>
    </body>


</html>

注:对于W3C标准的CSS:如果你定义了颜色属性,你还必须定义背景色属性。


二、属性

1. text-align 文本的对齐方式

文本排列属性是用来设置文本的水平对齐方式。

文本可居中或对齐到左或右,两端对齐。

当text-align设置为"justify",每一行被展开为宽度相等,左,右外边距是对齐(如杂志和报纸)。

<!doctype html>
<html lang="en">


    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            h1 {
                text-align: center;
            }


            p.date {
                text-align: right;
            }


            p.main {
                text-align: justify;
            }
</style>
    </head>


    <body>


        <p class="date">2015 年 3 月 14 号</p>
        <p class="main"> 从前有个书生,和未婚妻约好在某年某月某日结婚。到那一天,未婚妻却嫁给了别人。书生受此打击, 一病不起。  这时,路过一游方僧人,从怀里摸出一面镜子叫书生看。书生看到茫茫大海,一名遇害的女子一丝不挂地躺在海滩上。路过一人, 看一眼,摇摇头,走了。又路过一人,将衣服脱下,给女尸盖上,走了。再路过一人,过去,挖个坑,小心翼翼把尸体掩埋了。  僧人解释道, 那具海滩上的女尸,就是你未婚妻的前世。你是第二个路过的人,曾给过他一件衣服。她今生和你相恋,只为还你一个情。但是她最终要报答一生一世的人,是最后那个把她掩埋的人,那人就是他现在的丈夫。书生大悟,病愈。


        </p>
        <p><b>注意:</b> 重置浏览器窗口大小查看 "justify" 是如何工作的。</p>
    </body>


</html>

2. text-decoration文本修饰

text-decoration 属性用来设置或删除文本的装饰。

从设计的角度看 text-decoration属性主要是用来删除链接的下划线:

<!doctype html>
<html lang="en">


    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            .none {}


            .del {
                text-decoration: none;
            }
</style>
    </head>


    <body>
        <p>原来的样子</p>
        <a href="#" class="none">wwwwwwwwwwwwwwwwww</a>
        <p>去掉下划线</p>
        <a href="#" class="del">wwwwwwwwwwwwwwwwwwwww</a>
    </body>


</html>

也可以这样装饰文字:

<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=640, user-scalable=no">
        <title>项目</title>
        <style>
            h1 {
                text-decoration: overline;
            }


            h2 {
                text-decoration: line-through;
            }


            h3 {
                text-decoration: underline;
            }
</style>
    </head>


    <body>
        <h1>This is heading 1</h1>
        <h2>This is heading 2</h2>
        <h3>This is heading 3</h3>
    </body>


</html>

注:不建议强调指出不是链接的文本,因为这常常混淆用户。


3. text-transform文本转换

text-transform文本转换属性是用来指定在一个文本中的大写和小写字母。

  • uppercase:转换为全部大写。
  • lowercase:转换为全部小写。
  • capitalize :每个单词的首字母大写。
<!DOCTYPE html>
<html>


    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=640, user-scalable=no">
        <title>项目</title>
        <style>
            p.uppercase {
                text-transform: uppercase;
            }


            p.lowercase {
                text-transform: lowercase;
            }


            p.capitalize {
                text-transform: capitalize;
            }
</style>
    </head>


    <body>
        <p class="uppercase">This is some text.</p>
        <p class="lowercase">This is some text.</p>
        <p class="capitalize">This is some text.</p>
    </body>


</html>

4. text-indent文本缩进

text-indent文本缩进属性是用来指定文本的第一行的缩进。

p {text-indent:50px;}

5. letter-spacing 设置字符间距

增加或减少字符之间的空间。

<style>
     h1 {
       letter-spacing:2px;
}
      h2 {
        letter-spacing:-3px;
}
</style>

6. line-height设置行高

指定在一个段落中行之间的空间。

<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=640, user-scalable=no">
        <title>项目</title>
        <style>
            p.small {
                line-height: 70%;
            }


            p.big {
                line-height: 200%;
            }
</style>
    </head>


    <body>
        <p>
            This is a paragraph with a standard line-height.<br> This is a paragraph with a standard line-height.<br> The default line height in most browsers is about 110% to 120%.<br>
        </p>


        <p class="small">
            This is a paragraph with a smaller line-height.<br> This is a paragraph with a smaller line-height.<br> This is a paragraph with a smaller line-height.<br> This is a paragraph with a smaller line-height.<br>
        </p>


        <p class="big">
            This is a paragraph with a bigger line-height.<br> This is a paragraph with a bigger line-height.<br> This is a paragraph with a bigger line-height.<br> This is a paragraph with a bigger line-height.<br>
        </p>


    </body>


</html>

7. word-spacing 设置字间距

增加一个段落中的单词之间的空白空间。

<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=640, user-scalable=no">
        <title>项目</title>
        <style type="text/css">
            p {
                word-spacing: 30px;
            }
</style>
    </head>


    <body>


        <p>
            This is some text. This is some text.
        </p>


    </body>


</html>

8. vertical-align 设置元垂直居中

设置文本的垂直对齐图像。

<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=640, user-scalable=no">
        <title>项目</title>
        <style>
            img{
                width: 200px;
                height: 100px;
            }
            img.top {
                vertical-align: text-top;


            }


            img.bottom {
                vertical-align: text-bottom;


            }
</style>
    </head>


    <body>
        <p>An <img src="img/logo.png"  /> image with a default alignment.</p>
        <p>An <img class="top" src="img/logo.png" /> image with a text-top alignment.</p>
        <p>An <img class="bottom" src="img/logo.png" /> image with a text-bottom alignment.</p>
    </body>


</html>

9. text-shadow 设置文本阴影

设置文本阴影。

<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=640, user-scalable=no">
        <title>项目</title>
        <style>
         h1{
            text-shadow: 2px 2px #FF0000;
     }
</style>
    </head>


    <body>
    <h1>Text-shadow effect</h1>
    </body>


</html>

三、总结

本文主要介绍了CSS文本样式实际应用中应该如何去操作,通过讲解文本中对应的属性去改变文本的表现形式。使用丰富的效果图的展示,能够更直观的看到运行的效果,能够更好的理解。使用Html语言,代码结构更佳的清晰,能够帮助你更好的学习。

TML5 元素有多种维度展示方式,常见以下:

  • 1.按照类别分类
  • 2.按照是否Block元素

按照类别分:

根元素

  • - html 代表 HTML 或 XHTML 文档的根。其他所有元素必须是这个元素的子节点。
  • 文档元数据
  • head 代表关于文档元数据的一个集合,包括脚本或样式表的链接或内容。
  • title 定义文档的标题,将显示在浏览器的标题栏或标签页上。该元素只能包含文本,包含的标签不会被解释。
  • base 定义页面上相对 URL 的基准 URL。
  • link 用于链接外部的 CSS 到该文档。
  • meta 定义其他 HTML 元素无法描述的元数据。
  • style 用于内联 CSS。
  • -
  • 脚本
  • script 定义一个内联脚本或链接到外部脚本。脚本语言是 JavaScript。
  • noscript 定义当浏览器不支持脚本时显示的替代文字。
  • template 这个元素在 HTML5 中加入 通过 JavaScript 在运行时实例化内容的容器。
  • -
  • 章节
  • body 代表 HTML 文档的内容。在文档中只能有一个 元素。
  • section 这个元素在 HTML5 中加入 定义文档中的一个章节。
  • nav 这个元素在 HTML5 中加入 定义只包含导航链接的章节。
  • article 这个元素在 HTML5 中加入 定义可以独立于内容其余部分的完整独立内容块。
  • aside 这个元素在 HTML5 中加入 定义和页面内容关联度较低的内容——如果被删除,剩下的内容仍然很合理。
  • h1~ h6 标题元素实现了六层文档标题,h1 是最大的标题,h6 是最小的标题。标题元素简要地描述章节的主题。
  • header 这个元素在 HTML5 中加入 定义页面或章节的头部。它经常包含 logo、页面标题和导航性的目录
  • footer 这个元素在 HTML5 中加入 定义页面或章节的尾部。它经常包含版权信息、法律信息链接和反馈建议用的地址。
  • address 定义包含联系信息的一个章节。
  • main 这个元素在 HTML5 中加入 定义文档中主要或重要的内容。
  • -
  • 内容组织
  • p 定义一个段落。
  • hr 代表章节、文章或其他长内容中段落之间的分隔符。
  • pre 代表其内容已经预先排版过,格式应当保留 。
  • blockquote 代表引用自其他来源的内容。
  • ol 定义一个有序列表。
  • ul 定义一个无序列表。
  • li 定义列表中的一个列表项。
  • dl 定义一个定义列表(一系列术语和其定义)。
  • dt 代表一个由下一个
  • 定义的术语。
  • dd 代表出现在它之前术语的定义。
  • figure 这个元素在 HTML5 中加入 代表一个和文档有关的图例。
  • figcaption 这个元素在 HTML5 中加入 代表一个图例的说明。
  • div 代表一个通用的容器,没有特殊含义。
  • -
  • 文字展示
  • a 代表一个链接到其他资源的超链接 。
  • em 代表强调 文字。
  • strong 代表特别重要 文字。
  • small 代表注释 ,如免责声明、版权声明等,对理解文档不重要。
  • s 代表不准确或不相关 的内容。
  • cite 代表作品标题 。
  • q 代表内联的引用 。
  • dfn 代表一个术语包含在其最近祖先内容中的定义 。
  • abbr 代表省略 或缩写 ,其完整内容在 title 属性中。
  • data 这个元素在 HTML5 中加入 关联一个内容的机器可读的等价形式 (该元素只在 WHATWG 版本的 HTML 标准中,不在 W3C 版本的 HTML5 标准中)。
  • time 这个元素在 HTML5 中加入 代表日期 和时间 值;机器可读的等价形式通过 datetime 属性指定。
  • code 代表计算机代码 。
  • var 代表代码中的变量 。
  • samp 代表程序或电脑的输出 。
  • kbd 代表用户输入 ,一般从键盘输出,但也可以代表其他输入,如语音输入。
  • sub,- sup 分别代表下标 和上标 。
  • i 代表一段不同性质 的文字,如技术术语、外文短语等。
  • b 代表一段需要被关注 的文字。
  • u 代表一段需要下划线呈现的文本注释,如标记出拼写错误的文字等。
  • mark 这个元素在 HTML5 中加入 代表一段需要被高亮的引用 文字。
  • ruby 这个元素在 HTML5 中加入 代表被ruby 注释 标记的文本,如中文汉字和它的拼音。
  • rt 这个元素在 HTML5 中加入 代表ruby 注释 ,如中文拼音。
  • rp 这个元素在 HTML5 中加入 代表 ruby 注释两边的额外插入文本 ,用于在不支持 ruby 注释显示的浏览器中提供友好的注释显示。
  • bdi 这个元素在 HTML5 中加入 代表需要脱离 父元素文本方向的一段文本。它允许嵌入一段不同或未知文本方向格式的文本。
  • bdo 指定子元素的文本方向 ,显式地覆盖默认的文本方向。
  • span 代表一段没有特殊含义的文本,当其他语义元素都不适合文本时候可以使用该元素。
  • br 代表换行 。
  • wbr 这个元素在 HTML5 中加入 代表建议换行 (Word Break Opportunity) ,当文本太长需要换行时将会在此处添加换行符。
  • -
  • 文字编辑
  • ins 定义增加 到文档的内容。
  • del 定义从文档移除 的内容。
  • -
  • 图片等资源展示
  • img 代表一张图片 。
  • iframe 代表一个内联的框架 。
  • embed 这个元素在 HTML5 中加入 代表一个嵌入 的外部资源,如应用程序或交互内容。
  • object 代表一个外部资源 ,如图片、HTML 子文档、插件等。
  • param 代表 - object 元素所指定的插件的参数 。
  • video 这个元素在 HTML5 中加入 代表一段视频 及其视频文件和字幕,并提供了播放视频的用户界面。
  • audio 这个元素在 HTML5 中加入 代表一段声音 ,或音频流 。
  • source 这个元素在 HTML5 中加入 为 - video 或 - audio 这类媒体元素指定媒体源 。
  • track 这个元素在 HTML5 中加入 为 - video 或 - audio 这类媒体元素指定文本轨道(字幕) 。
  • canvas 这个元素在 HTML5 中加入 代表位图区域 ,可以通过脚本在它上面实时呈现图形,如图表、游戏绘图等。
  • map 与 - area 元素共同定义图像映射 区域。
  • area 与 - map 元素共同定义图像映射 区域。
  • svg 这个元素在 HTML5 中加入 定义一个嵌入式矢量图 。
  • math 这个元素在 HTML5 中加入 定义一段数学公式 。
  • -
  • 表格
  • table 定义多维数据 。
  • caption 代表表格的标题 。
  • colgroup 代表表格中一组单列或多列 。
  • col 代表表格中的列 。
  • tbody 代表表格中一块具体数据 (表格主体)。
  • thead 代表表格中一块列标签 (表头)。
  • tfoot 代表表格中一块列摘要 (表尾)。
  • tr 代表表格中的行 。
  • td 代表表格中的单元格 。
  • th 代表表格中的头部单元格 。
  • -
  • 表单
  • form 代表一个表单 ,由控件组成。
  • fieldset 代表控件组 。
  • legend 代表 - fieldset 控件组的标题 。
  • label 代表表单控件的标题 。
  • input 代表允许用户编辑数据的数据区 (文本框、单选框、复选框等)。
  • button 代表按钮 。
  • select 代表下拉框 。
  • datalist 这个元素在 HTML5 中加入 代表提供给其他控件的一组预定义选项 。
  • optgroup 代表一个选项分组 。
  • option 代表一个 - select 元素或 - datalist 元素中的一个选项
  • textarea 代表多行文本框 。
  • keygen 这个元素在 HTML5 中加入 代表一个密钥对生成器 控件。
  • output 这个元素在 HTML5 中加入 代表计算值 。
  • progress 这个元素在 HTML5 中加入 代表进度条 。
  • meter 这个元素在 HTML5 中加入 代表滑动条 。
  • -
  • 导航等交互元素
  • details 这个元素在 HTML5 中加入 代表一个用户可以(点击)获取额外信息或控件的小部件 。
  • summary 这个元素在 HTML5 中加入 代表 - details 元素的综述 或标题 。
  • menuitem 这个元素在 HTML5 中加入 代表一个用户可以点击的菜单项。
  • menu 这个元素在 HTML5 中加入 代表菜单。

按照是否Block元素分:

  • 1.Empty Elements
  • area 与 map 元素共同定义图像映射 区域。
  • base 定义页面上相对 URL 的基准 URL。
  • basefont 4.0种标签,目前已废弃
  • br 代表换行 。
  • col 代表表格中的列 。
  • frame 4.0种标签,目前已废弃
  • hr 代表章节、文章或其他长内容中段落之间的分隔符。
  • img 代表一张图片 。
  • input 代表允许用户编辑数据的数据区 (文本框、单选框、复选框等)。
  • isindex 4.0种标签,目前已废弃
  • link 用于链接外部的 CSS 到该文档。
  • meta 定义其他 HTML 元素无法描述的元数据。
  • param 代表 object 元素所指定的插件的参数
  • embed 代表一个嵌入 的外部资源,如应用程序或交互内容
  • -
  • 2.Block Elements
  • address 定义包含联系信息的一个章节
  • applet 4.0种标签,目前已废弃
  • blockquote 代表引用自其他来源的内容。
  • button 代表按钮
  • center 4.0种标签,目前已废弃
  • dd 代表出现在它之前术语的定义
  • del 定义从文档移除 的内容。
  • dir 4.0种标签,目前已废弃
  • div 代表一个通用的容器,没有特殊含义
  • dl 定义一个定义列表(一系列术语和其定义)
  • dt 代表一个由下一个 dd 定义的术语
  • fieldset 代表控件组
  • form 代表一个表单 ,由控件组成
  • frameset 4.0种标签,目前已废弃
  • hr 代表章节、文章或其他长内容中段落之间的分隔符
  • iframe 代表一个内联的框架
  • ins 定义增加 到文档的内容
  • isindex 4.0种标签,目前已废弃
  • li 定义列表中的一个列表项
  • map 与 area 元素共同定义图像映射 区域
  • menu 代表菜单
  • noframes
  • noscript 定义当浏览器不支持脚本时显示的替代文字
  • object 代表一个外部资源 ,如图片、HTML 子文档、插件等
  • ol 定义一个有序列表
  • p 定义一个段落
  • pre 代表其内容已经预先排版过,格式应当保留
  • script 定义一个内联脚本或链接到外部脚本。脚本语言是 JavaScript
  • table 定义多维数据
  • tbody 代表表格中一块具体数据 (表格主体)
  • td 代表表格中的单元格
  • tfoot 代表表格中一块列摘要 (表尾)
  • th 代表表格中的头部单元格
  • thead 代表表格中一块列标签 (表头)
  • tr 代表表格中的行
  • ul 定义一个无序列表
  • -
  • 3.Inline Elements
  • a 代表一个链接到其他资源的超链接
  • abbr 代表省略 或缩写 ,其完整内容在 title 属性中
  • acronym 4.0种标签,目前已废弃
  • applet 4.0种标签,目前已废弃
  • b 代表一段需要被关注 的文字
  • basefont 4.0种标签,目前已废弃
  • bdo 指定子元素的文本方向 ,显式地覆盖默认的文本方向
  • big 4.0种标签,目前已废弃
  • br 代表换行
  • button 代表按钮
  • cite 代表作品标题
  • code 代表计算机代码
  • del 定义从文档移除 的内容
  • dfn 代表一个术语包含在其最近祖先内容中的定义
  • em 代表强调 文字
  • font 4.0种标签,目前已废弃
  • i 代表一段不同性质 的文字,如技术术语、外文短语等
  • iframe 代表一个内联的框架
  • img 代表一张图片
  • input 代表允许用户编辑数据的数据区 (文本框、单选框、复选框等)
  • ins 定义增加 到文档的内容
  • kbd 4.0种标签,目前已废弃
  • label 代表表单控件的标题
  • map 与 area 元素共同定义图像映射 区域
  • object 代表一个外部资源 ,如图片、HTML 子文档、插件等
  • q 代表内联的引用
  • s 代表不准确或不相关 的内容
  • samp 代表程序或电脑的输出
  • script 定义一个内联脚本或链接到外部脚本。默认脚本语言是 JavaScript
  • select 代表下拉框
  • small 代表注释 ,如免责声明、版权声明等,对理解文档不重要
  • span 代表一段没有特殊含义的文本,当其他语义元素都不适合文本时候可以使用该元素
  • strike 4.0种标签,目前已废弃
  • strong 代表特别重要 文字
  • sub 代表下标
  • sup 代表上标
  • textarea 代表多行文本框
  • tt 4.0种标签,目前已废弃
  • u 4.0种标签,目前已废弃
  • var 代表代码中的变量
  • -

参考文献:

  • https://developer.mozilla.org/zh-CN/docs/Web/Guide/HTML/HTML5/HTML5_element_list
  • 本文作者:前端首席体验师(CheongHu)
  • 联系邮箱:simple2012hcz@126.com
  • 版权声明: 本文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

TML5中引入了许多新的输入类型,如日期输入,前端开发技术的不断进步为用户进入Web界面日期栏提供了更为简单、便捷的方法,但遗憾的是,此功能并未充分发挥其潜力。

简单地说,日期输入型就是一个表单元素,通过datepicker获取用户日期。此装置取决于浏览器供应商,HTML5规范中不提供输入用户界面的具体方法。

输入有效属性:

通过极值属性设定最小最大日期值,确保用户只能在一个特定范围内选择日期:

可设置具体偏差值等功能,默认值是1。

特性

浏览器支持日期输入类型情况下的特点:

•输入字段

•最小和最大属性

•梯级属性

•日期选择控件

•事件

1、输入字段

Firefox和Safari浏览器支持日期输入类型,是一个没有格式化和特殊交互的简单文本字段,模式为只读。

Chrome和Opera浏览器装置相似,都使用日期占位符(或日期值),显示用户系统设置的日期格式。也有一些限制,比如明确规定用户输入范围,箭头显示上下循环值,可打开日期选择控件(见图1)。注意:WebKit前缀伪选择器可用来改变输入日期字段的外观。

2、最小和最大属性

所有支持日期输入类型的浏览器,都可设置最小和最大属性,如Chrome和Opera浏览器设置了最小最大属性值功能,用户界面略显单一,日期输入用上下箭头指示,引导用户更改日期值(日、月和年)。如果用户将今天设置为日期最小值,那么单击向下箭头,在有效值范围内,年份数值会在275760之间变化,因为还没有设置最大值,因此最大值目前处于默认状态(参见图2)。

如果设置一个最大值的话,会出现重复的情况,点击向上箭头,数值会从0001年(默认为最小值)开始周期循环,这也是令人困惑之处,Android系统上,日期选择控件功能的设置有时也会出现这种怪异模式。

3、梯级属性

经测试所有浏览器均支持梯级属性。

4、日期选择控件

Firefox和Safari浏览器桌面上的日期选择控件显示无法打开,但是可以打开本地设备上的控件,效果如下(见图3):

用Chrome和Opera打开一个日期选择控件如图四所示,此浏览器禁止本地控件功能,可在PC端设计自己喜欢的风格,(移动设备不支持):

我在Android系统上测试过所有本地datepicker,在设置有效属性问题方面,某种程度上被怪异模式困惑到了,用户选择日期指定范围之外的数据是受限制的,但从视觉效果看,datepicker日期值显示了“上一个”、“当前”和“下一个”,还有天、月、年等,从数值显示判断是可以往前推的,要么是空的(本月),要么设置为9999(今年的情况,参见图5)。

5、事件

大多数输入字段,其日期均支持inputand改变事件,每次用户交互输入并更改事件时,输入框中心位置也随之改变。那些支持本地日期输入字段的浏览器,可通过打开datepicker,允许用户记录一些特定日期,关闭只需清除输入字段即可,如需更改事件,直接检查输入字段的值。

智能社撰稿,更多知识请关注微信号zhi_neng_she