对于CSS文本的一些效果,基础一些的知识比较简单,但对于text-indent,vertical-align,text-align等的深入学习能够使我们对HTML5的学习更加轻松,对这部分知识的深入了解,也更利于以后网站的一些小技巧方面的运用。

  CSS文本属性

text-decoration 下划线、删除线、顶划线

text-transform 文本大小写

text-indent 段落首行缩进

font-variant 将英文文本转换为“小型”大写字母

text-align 文本水平对齐

vertical-align 文本垂直对齐

line-height 行高

letter-spacing 字距

word-spacing 词距

(1)深入text-indent

在CSS中,可以使用text-indent属性来定义段落的首行缩进。关于text-indent的一个技巧:使用“text-indent:2em;”来实现段落的首行缩进。

现在来学习text-indent的另一个技巧:“text-indent:-9999px;”这种写法“text-indent:-9999px;”一般用于LOGO部分,在搜索引擎优化中,h1是非常重要的标签。一般情况下,我们都是把网址的LOGO图片放到h1标签中。不过,我们知道,搜索引擎无法识别图片,只能识别文字,为了更好地优化SEO,如何做呢?

一个很好的解决方案:指定h1元素的长宽与LOGO图片的长宽一样,然后定义h1的背景图片(background-image)为LOGO图片。也就是说,我们使用LOGO图片作为h1标签的背景图片,然后使用“text-indent:-9999px;”来隐藏h1的文字内容。

(2)深入text-align

①text-align起作用的元素

text-align对文字、inline元素(行内元素)以及inline-block元素(行内块元素)起作用,但对块元素不起作用。其中,img元素属于inline-block元素。

②text-align:center与margin:0 auto的区别

在页面水平居中实现中,二者是最常见的两种水平居中方式,不过这两者也有本质的区别。

(1)text-align:center实现的是文字、inline元素以及inline-block元素的水平居中。

(2)margin:0 auto实现的是块元素的水平居中。

(3)text-align在父元素中定义,margin:0 auto在当前元素中定义。

(3)深入line-hegiht

①line-hegiht的定义

在CSS中,line-hegiht还有一个更加准确的定义:两行文字基线之间的距离。

Ⅰ:顶线、中线、基线、底线

我们都用过英文簿,英文簿每一行都有4条线,分别是:顶线(top)、中线(middle)、基线(boseline)和底线(bottom)。

在CSS中,每一行文字都可以看成一个“行盒子”,而每一个行盒子都有4条线:顶线、中线、基线、底线。

vertical-align属性中的top、middle、baseline、bottom这四个属性值分别对应的就是:顶线、中线、基线、底线。

Ⅱ:行高、行距和半行距

(1)行高

行高(line-height)指的是“两行基线之间的垂直距离。

(2)行距

行距,指的是上一行的底线到下一行的顶线的垂直距离。也就是两行文字之间的空隙。

(3)半行距

行距的一半。

Ⅲ:内容区与行框

(1)内容区

内容区指的是盒子顶线到底线之间的垂直距离。

(2)行框

行框指的是两行文字“行半距分割线”之间的垂直距离。

②:line-height的取值

Ⅰ:height和line-hegiht

当没有定义line-height时,浏览器采用默认的line-height值。一行文字的高度由line-height决定,而不是由height决定的。例如,在p标签中,一个p标签的文字可以有很多行,其中line-height定义的是一行文字的高度,而height定义的是整个段落的高度(p标签的高度)。

在CSS中,我们可以定义height和line-height这两个属性相等,从而来实现单行文字的垂直居中。

Ⅱ:line-hegiht取值为百分比值、em值

当line-height值为百分比值或者em值时,当前元素的行高是相对于父元素的font-size值来计算的,计算公式如下:

line-height=(父元素font-size)x(百分比)

line-height=(父元素font-size)x(em值)

Ⅲ:line-hegiht取值为无单位数字

line-height还支持无单位数字的属性取值,在CSS中也只有line-hegiht属性具有这个特点。当line-hegiht值无单位数字时,实际的行高是相对于当前元素的font-size值来计算的,计算公式:line-height=(当前元素font-size)x(无单位数字)

(4)深入vertical-align

W3C对vertical-align属性的定义有4个方面

①vertical-align属性用于定义“周围的文字、inline元素以及inline-block元素”相对于该元素基线的垂直对齐方式。这里的“该元素”指的是被定义了vertical-align属性的元素。

②在表格单元格中,vertical-align属性可以定义单元格td元素中内容的对齐方式。td元素是table-cell元素,也就是说vertical-align属性对table-cell类型元素有效。

③vertical-align属性对inline元素、inline-block元素和table-cell元素有效,对块元素无效。

④vertical-align属性允许指定负长度值(如-2px)和百分比值(如50%)。

vertical-align属性取值

①负值

vertical-align:-2px 表示元素相对于基线向下偏移2px.此方法用于解决单选框或复选框与文字垂直对齐的问题。

②百分比

vertical-align属性可以取值为百分比,这个百分比是相对于当前元素所继承的line-height属性值来决定的。

③关键字

top(顶部对齐)、middle(中部对齐)、baseline(基线对齐)、bottom(底部对齐)。

vertical-align属性应用

①inline元素和inline-块元素

②块元素

div是块元素,所以vertical-align属性对齐无效,如果想要在div中实现图片的垂直居中,可以先为div定义display:table-cell,也就是将块元素转化为table-cell元素(表格单元格),然后再使用vertical-align:middle就可以实现了。

③table-cell元素

要注意,table-cell元素跟inline、inline-block元素使用vertical-align是有很大区别的。

(1)inline元素和inline-block元素的vertical-align是针对周围的元素来说的,vertical定义的是周围元素相对于当前元素的对齐方式。

(2)table-cell元素的vertical-align属性是针对自身而言的。vertical-align定义的是内部子元素相对于自身的对齐方式。

CSS 文本效果的更多相关文章

  1. CSS文本效果

    前面的话 本文将详细介绍CSS文本效果 凸版印刷效果 这种效果尤其适用于中等亮度背景配上深色文字的场景:但它也可用于深色底.浅色字的场景,只要文字不是黑色并且背景不是纯黑或纯白就行 [浅色背景深色文本 ...

  2. CSS 3学习——文本效果和@font-face

    文本效果 关于文本效果,这里仅仅记录得到大多数浏览器支持的几个属性,分别是: text-overflow text-shadow word-break word-wrap text-overflow ...

  3. 推荐20款基于 jQuery & CSS 的文本效果插件

    jQuery 和 CSS 可以说是设计和开发行业的一次革命.这一切如此简单,快捷的一站式服务.jQuery 允许你在你的网页中添加一些真正令人惊叹的东西而不用付出很大的努力,要感谢那些优秀的 jQue ...

  4. 【css】文本效果

    一.字体属性 在css字体样式中常见的字体属性有以下几种 p{ font-size: 50px; /*字体大小*/ line-height: 30px; /*行高*/ font-family: 幼圆, ...

  5. CSS3常用属性(边框、背景、文本效果、2D转换、3D转换、过渡、有过渡效果大图轮播、动画)

    CSS3边框: 1.CSS3圆角:border-radius  属性--创建边框线的圆角 <body style="font-size:24px; color:#60F;"& ...

  6. 赞!15个来自 CodePen 的酷炫 CSS 动画效果

    CodePen 是一个在线的前端代码编辑和展示网站,能够编写代码并即时预览效果.你在上面可以在线分享自己的 Web 作品,也可以欣赏到世界各地的优秀开发者在网页中实现的各种令人惊奇的效果. 今天这篇文 ...

  7. CSS Shake – 摇摆摇摆!动感的 CSS 抖动效果

    CSS Shake 是一套 CSS3 动画特效,让页面的 DOM 元素实现各种效果的抖动(Shake),这些效果可以轻松的被应用到按钮.LOGO 以及图片等元素.所有这些效果都是只需要单一的标签,加上 ...

  8. Cool!15个创意的 CSS3 文本效果【下篇】

    这里文章收集了15个创意的 CSS3 文本效果,所有的都是精心挑选,这些可能会增加创意的火花到你的下一个项目.其中有些是用于特定用途,而另一些则适用于多种用途.如果你想要一个精彩而又充满色彩的文字效果 ...

  9. css文本格式详解

    一.css文本主体内容: 二.css文本详解:  1.文本缩进 语法: text-indent:<length>|<percentage> 默认值为0. 属性值详解: < ...

随机推荐

  1. Js HTML DOM动画

    基础页面 为了演示如何通过 JavaScript 来创建 html 动画,我们将使用一张简单的网页: 实例 我的第一部 JavaScript 动画 我的动画在这里. 创建动画容器 所有动画都应该与容器 ...

  2. 详细介绍如何自研一款"博客搬家"功能

    前言 现在的技术博客(社区)越来越多,比如:imooc.spring4All.csdn.cnblogs或者iteye等,有很多朋友可能在这些网站上都发表过博文,当有一天我们想自己搞一个博客网站时就会发 ...

  3. Alpha冲刺——代码规范与计划

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...

  4. Beta冲刺——第六天

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...

  5. flask socketio 踩坑记录

    在使用python3的flask-socketio+socket.io.js的时候报错 在使用python3的flask-socketio+socket.io.js的时候报错"unsuppo ...

  6. Solon rpc 之 SocketD 协议 - 消息上报模式

    Solon rpc 之 SocketD 协议系列 Solon rpc 之 SocketD 协议 - 概述 Solon rpc 之 SocketD 协议 - 消息上报模式 Solon rpc 之 Soc ...

  7. k8s之RBAC授权模式

    导读 上一篇说了k8s的授权管理,这一篇就来详细看一下RBAC授权模式的使用 RBAC授权模式 基于角色的访问控制,启用此模式,需要在API Server的启动参数上添加如下配置,(k8s默然采用此授 ...

  8. 实验一-最小生成树Kruskal算法

    实验名称 最小生成树算法-Kruskal算法 实验目的 1.掌握并查集的合并优化和查询优化: 2.掌握Kruskal算法. 3.能够针对实际问题,能够正确选择贪心策略. 4.能够针对选择的贪心策略,证 ...

  9. If you see someone without smile

    If you see someone without smile, give them one of yours. 难怪我每次和不认识的人说话都放肆大笑.

  10. python模块详解 | psutil

    目录 psutil 简介 psutil的功能函数 cpu memory_内存 disk_磁盘 net_网络 pid_进程管理 sensors_传感器 其他(用户,启动时间) psutil简介 psut ...