对于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. 如何解决Renesas USB3.0RootHub警告

    打开WINDOWS系统的[计算机管理]-[服务和应用程序]-[服务]-点击[Portable Device Enumerator Service]服务,设置为启动类型:自动(延迟启动).并点击&quo ...

  2. 耗子大叔弹窗来自百度搜索引擎导流的弹窗JS源码赏析

    刚看到https://coolshell.cn/articles/9308.html 耗子大叔评价梁斌站点被百度封杀事件言论  然后在自己个人网站酷壳网站上发布了一段JS代码  当请求来自百度导流过来 ...

  3. C++模板元编程----堆排序

    目录 目录 前言 实现的一些小细节 Debug 惰性求值 总结 Ref 前言 经过前两次经验的积累,终于来到了麻烦的堆排序.在一开始接触模板元编程的时候,我就期望有一天能够写出元编程堆排序的代码.原因 ...

  4. 项目实战--idea中使用Git遇到的坑

    问题 在一次代码的更新中,我按照以往的操作点,菜单中VCS下的Update Project,结果报错了,idea自动将我未提交的所有代码驻藏了stash了,全部代码还原了,心里慌了一下,去GitLab ...

  5. #2020征文-TV# Tab切换选项卡同时更换内容

    Tab选项卡是应用程序中最最常用,也是最普遍存在的一种布局形态,无论是在PC端还是在移动端,都是一种清晰明了,层级关系简单的,能够使用户明确所处位置.Tab选项卡可以置于页面的底部,比如微信底部选项卡 ...

  6. java对象

    原文链接http://zhhll.icu/2020/04/26/java%E5%9F%BA%E7%A1%80/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/java%E5% ...

  7. Linux下最常用的10个文件压缩工具

    作者简介 李先生(Lemon),高级运维工程师(自称),SRE专家(目标),梦想在35岁买一辆保时捷.喜欢钻研底层技术,认为底层基础才是王道.一切新技术都离不开操作系统(CPU.内存.磁盘).网络等. ...

  8. 算法实验5--N皇后

    实验名称 回溯法解N皇后问题 实验目的 掌握回溯递归算法.迭代算法的设计与实现: 设计回溯算法求解: 分析算法的时间复杂度. 实验环境 操作系统:win 10; 编程语言:Java: 开发工具:IDE ...

  9. 你必须要懂的 Github 开源协议

    作为一个开源社区的活跃者,那些开源协议你都懂什么意思吗? 列两个: Apache License 可以: 商用.修改.分发 但是要声明作者来源和你的修改以及协议 MIT  License 只要声明版权 ...

  10. 终于可以愉快的撸Java异步代码了!

      异步响应式编程可以极大的提高系统的并发呑吐量,但由于Java没有类似于其他语言的Async/Await机制,所以只能通过CompletableFuture.thenXXX()来串联各个异步任务,这 ...