CSS新增文本样式(完整)

文本样式

概念:在CSS3中,增加了丰富的文本修饰效果,使得页面更加美观舒服。

常用的文本样式属性

属性说明
text-shadow文本阴影
text-stroke文本描边
text-align-last文本对齐
white-space处理空白字符
text-overflow文本溢出
word-wrap | word-break强制换行
@font-face嵌入字体

W3C坐标系

说明

我们日常生活使用最多的是数学坐标系,但CSS3使用的坐标系是W3C坐标系。

数学坐标系和W3C坐标系唯一的区别在于y轴正方向的不同

  • 数学坐标系:y轴正方向向上
  • W3C坐标系:y轴正方向向下

在这里插入图片描述

分析

数学坐标系一般用于数学形式上的应用,而在前端开发中几乎所有涉及坐标系的技术使用的都是W3C坐标系,这些技术包括CSS3,Canvas和SVG等

text-shadow属性

概念:text-shadow属性为文本添加阴影效果。text-shadow属性可以定义多个阴影,这时,text-shadow属性是一个以英文逗号(,)隔开的值列表。这时,阴影效果会按从左到右的顺序应用到文本上,因此可能会出现相互覆盖的效果。但是text-shadow属性永远不会覆盖文本本身,阴影效果也不会改变的大小

特别注意:每个阴影效果都是独立的,它们会按照在CSS代码中出现的顺序堆叠在文本上。后一个阴影会覆盖前一个阴影,所以后面的阴影需要有更大的模糊距离或者更深的颜色来确保可见性。

语法格式:

/*定义单个阴影*/
text-shadow:x-offset y-offset blur color;
/*定义多个阴影 */
text-shadow:x-offset y-offset blur color,x-offset y-offset blur color...

参数说明

  • x-offset:必选值,表示阴影的水平偏移距离。由于CSS3采用的是W3C坐标系,因此如果值为正,则阴影向右偏移;如果值为负,则阴影向左偏移
  • y-offset:必选值,表示阴影的垂直偏移距离。由于CSS3采用的是W3C坐标系,因此如果值为正,则阴影向下偏移;如果值为负,则阴影向上偏移
  • blur:可选值,表示阴影的模糊程度,阴影越模糊;blur值越小,阴影越清晰。如果没有指定,则默认为0。此外,blur不能为负值。
  • color:可选值,表示阴影的颜色

实例:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>text-shadow文本阴影</title><style>.demo{text-shadow:5px 5px 1px greenyellow;}.dem{text-shadow:4px 4px 2px gray,6px 6px 7px gray,8px 8px 2px gray;}.demo1{color:#fff;text-shadow:5px 5px 20px #55ff7f,-5px -5px 20px #55ff7f,5px -5px 20px #55ff7f,-5px 5px 20px #55ff7f;}.demo3{font-size: 30px;color: #fff;text-shadow:1px 1px hsl(0,0%,85%),2px 2px hsl(0,0%,80%),3px 3px hsl(0,0%,75%),4px 4px hsl(0,0%,70%),5px 5px hsl(0,0%,65%),5px 5px 10px black;}</style></head><body><!-- 一般文本效果 --><div class="demo">文本阴影</div><br/><!-- 定义多个阴影 --><div class="dem">多个定义文本阴影</div><br/><!-- 文字发光效果 --><div class="demo1">文本阴影</div><br/><!-- 3D文字效果 --><div class="demo3">文本阴影</div><br/></body>
</html>

运行结果:
在这里插入图片描述
实例:火焰字

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>火焰字效果</title><style>.a{text-align:center;color:black;padding:20px 0 0 20px;background-color:#fff;font-size:60px;font-weight:bold;text-shadow:0 0 4px white,0 -5px 4px #ff3,2px -10px 6px #fd3,-2px -15px 11px #f80,2px -25px 18px #f20;}</style></head><body><div class="a">火焰字效果</div></body>
</html>

运行结果
在这里插入图片描述

-webkit-text-stroke属性

概念:-webkit-text-stroke属性为文本添加描边效果。所谓的描边效果,指的是给文字添加边框

语法:

-webkit-text-stroke:width color;

Chrome和Firefox这两个浏览器都只能识别带有-webkit前缀的text-stroke属性

-webkit-text-stroke是一个复合属性,是由两个子属性组成的。

  • -webkit-text-stroke-width:定义边框的宽度
  • -webkit-text-stroke-color:定义边框的颜色

实例

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>text-stroke-文本描边</title><style>.a{font-size:30px;}.b{font-size:30px;-webkit-text-stroke:1px blue;}.c{font-size:30px;font-weight:bold;color:transparent;-webkit-text-stroke:2px gold;}</style></head><body><div class="a">文本未被描边</div><div class="b">文本已被描边</div><!-- text-stroke实现镂空文字 --><div class="c">镂空文字</div></body>
</html>

运行结果
在这里插入图片描述

使用text-stroke配合color:transparent;font-weight:bold;,可以实现镂空文字

text-align-last属性

概念:text-align-last属性指定一行或者块中的最后一行在被强制换行之前的对齐规则

语法:

text-align-last: auto|left|right|center|justify|start|end|initial|inherit;

属性值

属性值说明
auto默认值。每一行的对齐规则由text-align的值来确定。当text-align的值是justify,text-align-last的表现和设置了start的表现是一样的
left最后一行向左对齐
right最后一行向右对齐
center最后一行居中对齐
justify最后一行文字的开头与内容盒的左侧对齐,末尾与右侧对齐
start最后一行在行起点对齐。如果text-direction为从左到右,则等于left,如果text-direction为右到左,则等于right
end最后一行在行末尾对齐。如果text-direction为从左到右,则等于right,如果text-direction为右到左,则等于left

实例

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>text-align-last属性</title><style>div{height:80px;border:1px solid bisque;}.left{text-align-last:left;}.right{text-align-last:right;}.center{text-align-last:center;}.justify{text-align-last:justify; }.start{text-align-last:start;}.end{text-align-last:end;}</style></head><body><h2>未设置text-align-last属性</h2><div><p>不必说碧绿的菜畦,光滑的石井栏,高大的皂荚树,紫红的桑椹;也不必说鸣蝉在树叶里长吟,肥胖的黄蜂伏在菜花上,轻捷的叫天子(云雀)忽然从草间直窜向云霄里去了</p></div><hr/><h2>text-align-last:left;</h2><div class="left"><p>不必说碧绿的菜畦,光滑的石井栏,高大的皂荚树,紫红的桑椹;也不必说鸣蝉在树叶里长吟,肥胖的黄蜂伏在菜花上,轻捷的叫天子(云雀)忽然从草间直窜向云霄里去了</p></div><h2>text-align-last:right;</h2><div class="right"><p>不必说碧绿的菜畦,光滑的石井栏,高大的皂荚树,紫红的桑椹;也不必说鸣蝉在树叶里长吟,肥胖的黄蜂伏在菜花上,轻捷的叫天子(云雀)忽然从草间直窜向云霄里去了</p></div><h2>text-align-last:center;</h2><div class="center"><p>不必说碧绿的菜畦,光滑的石井栏,高大的皂荚树,紫红的桑椹;也不必说鸣蝉在树叶里长吟,肥胖的黄蜂伏在菜花上,轻捷的叫天子(云雀)忽然从草间直窜向云霄里去了</p></div><h2>text-align-last:justify;</h2><div class="justify"><p>不必说碧绿的菜畦,光滑的石井栏,高大的皂荚树,紫红的桑椹;也不必说鸣蝉在树叶里长吟,肥胖的黄蜂伏在菜花上,轻捷的叫天子(云雀)忽然从草间直窜向云霄里去了</p></div><h2>text-align-last:start;</h2><div class="start"><p>不必说碧绿的菜畦,光滑的石井栏,高大的皂荚树,紫红的桑椹;也不必说鸣蝉在树叶里长吟,肥胖的黄蜂伏在菜花上,轻捷的叫天子(云雀)忽然从草间直窜向云霄里去了</p></div><h2>text-align-last:end;</h2><div class="end"><p>不必说碧绿的菜畦,光滑的石井栏,高大的皂荚树,紫红的桑椹;也不必说鸣蝉在树叶里长吟,肥胖的黄蜂伏在菜花上,轻捷的叫天子(云雀)忽然从草间直窜向云霄里去了</p></div></body>
</html>

运行结果
在这里插入图片描述
在这里插入图片描述

white-space属性

概念:white-space属性用于设置如何处理元素内的空白字符

语法:

word-space:normal | nowrap | pre | pre-wrap | pre-line | break-spaces 

常用的属性值

属性值说明
normal默认值。连续的空白符会被合并
nowrap合并连续的空白符,但阻止源码中的文本换行
pre连续的空白符会被保留,仅在遇到换行符或br元素时才会换行
pre-wrap连续的空白符会被保留,在遇到换行符或br元素时或者根据填充行框盒子的需要换行
pre-line连续的空白符会被合并,在遇到换行符或br元素时或者根据填充行框盒子的需要换行
break-spaces与pre-wrap的行为一样

一张表总结white-pace关键值

属性值连续的空白符换行符br
normal合并合并合并
mowrap合并合并保留
pre保留保留保留
pre-wrap保留保留保留
pre-line合并保留保留
break-spaces保留保留保留

实例:

		<h2>未设置white-space属性</h2><div>Anything in life worth doing is worth overdoing. 生命中任何一件事,都值得全力以赴。</div>

这未设置white-space属性的效果图是

在这里插入图片描述

此时为div元素设置white-space:normal;属性

.normal{white-space:normal;}

效果图:
在这里插入图片描述

为div元素设置white-space:nowrap;属性

.nowrap{white-space:nowrap;}

效果图

在这里插入图片描述

为div元素设置white-space:pre;属性

.pre{white-space:pre;}

效果图

在这里插入图片描述

div元素添加white-space:pre-wrap;属性

.pre-wrap{white-space:pre-wrap;}

效果图

在这里插入图片描述

为div元素添加white-space:pre-line;属性

.pre-line{white-space:pre-line;}

效果图

在这里插入图片描述

为div元素添加white-space:break-spaces;属性

.break-spaces{white-space:break-spaces;}

效果图
在这里插入图片描述

text-overflow属性

概念:text-overflow属性来定义文本的溢出样式。其形式可以是裁剪,显示一个省略号(”…“)
语法:

text-overflow:clip | ellipsis;

属性值

  • clip:默认值,当文本溢出时,不显示省略号,而是将溢出的文本裁切掉

  • ellipsis:当文本溢出时,显示省略号,并且隐藏多余的文字

实际上,要想实现文本溢出时显示省略效果,需要以下属性

overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;

注意:这属性只能实现“单行文本”的省略号效果

实例

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>text-overflow文字超出</title><style>.demo{height:30px;width:100px;overflow:hidden;white-space: nowrap;text-overflow:clip;}.demo1{height:30px;width:100px;border:1px solid silver;overflow:hidden;white-space: nowrap;text-overflow:ellipsis;}.demo2{height:30px;width:100px;overflow:hidden;white-space: nowrap;text-overflow:"!";}</style></head><body><!-- 文本超出后裁剪内容 --><div class="demo">text-overflow属性文本超出</div><!-- 文本超出元素后使用省略号 --><div class="demo1">text-overflow属性文本超出</div><!-- 文本超出后使用!  这只在火狐浏览器中兼容--><div class="demo2">text-overflow属性文本超出</div></body>
</html>

运行结果

在这里插入图片描述

实例:从右到左文本省略

text-overflow属性应用到一个段落上面,可以实现溢出处理从左到右的文本和从右到左的文本上的效果

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>text-overflow左右省略</title><style>body{display:flex;justify-content: space-around;}p{width:200px;border:1px solid brown;padding:2px 5px;white-space:nowrap;overflow:hidden;}.overflow-clip{text-overflow:clip;}.overflow-ellipsis{text-overflow:ellipsis;}.rtl>p{direction:rtl;}</style></head><body><div class="ltr"><h2>ltr</h2><pre>clip</pre><p class="overflow-clip">京口瓜洲一水间,钟山只隔数重山。春风又绿江南岸,明月何时照我还。</p><pre>ellipsis</pre><p class="overflow-ellipsis">京口瓜洲一水间,钟山只隔数重山。春风又绿江南岸,明月何时照我还。</p></div><div class="rtl"><h2>rtl</h2><pre>clip</pre><p class="overflow-clip">京口瓜洲一水间,钟山只隔数重山。春风又绿江南岸,明月何时照我还。</p><pre>ellipsis</pre><p class="overflow-ellipsis">京口瓜洲一水间,钟山只隔数重山。春风又绿江南岸,明月何时照我还。人</p></div></body>
</html>

运行结果

在这里插入图片描述

word-wrap属性、word-break属性

概念:使用word-wrap或word-break属性来定义长单位或URL地址是否换行到下一行

语法:

word-wrap:取值;
word-break:取值;

word-wrap属性

  • nomal:默认值,表示自动换行
  • break-word:表示强制换行

word-break属性

  • nomal:默认值,表示自动换行
  • break-all:表示允许在单词内换行
  • keep-all:表示只能在半角空格或连字符处换行

实例

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>wrap-break强制换行</title><style>div {width:200px;height:160px;border:1px solid brown;}</style></head><body><div>Most of us compare ourselves w — a relative, someone we know a lot, or someone we hardly know. hingsuper?rec_src=52&context=%7B"nid"%3A"news_9388</div></body>
</html>

运行结果

在这里插入图片描述

默认情况下,文本是自动换行,但是如果单词或者URL太长的话,就会超出元素的宽度

在上面实例中,我们为div元素添加word-wrap:break-word;属性。

此时浏览器运行结果如图

在这里插入图片描述

如果我们为div元素添加word-break:break-all;属性

此时浏览器运行结果如图

在这里插入图片描述

word-wrap属性与word-break的区别
word-wrap:break-word;属性是用来决定是否允许单词内断句的。如果不允许的话,长单词就会溢出来。最重要的一点是,该属性首先尝试挪到下一行,看看下一行的宽度够不够,不够的话再进行单词内的断句

word-break:break-all;属性与word-wrap不一样,它是直接就进行单词内的断句。

@font-face属性

概念:使用@font-face方法来加载服务器端的字体

语法:

@font-face
{font-family:字体名称;src:url(文件路径);
}

属性

  • font-family属性:用于定义字体的名称
  • src属性:文件路径指的是服务器端中字体文件的路径

如果想要实现嵌入字体,一般需要以下两步

  • 使用@font-face定义字体
  • 使用font-familt引用字体

实例

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>@font-face嵌入字体</title><style>/* 定义字体 */@font-face{font-family:a; /*定义字体名称为a*/src:url("../font/a/HeFengShuDaoZhaoHeFeiLongTi-Shan(GEETYPE-FeilongGBT-Flash)-2.ttf");/*定义字体文件路径*/}.a{font-size:50px;font-family:a;  /*使用自定义的a字体*/}</style></head><body><div class="a">龙云天下</div></body>
</html>

运行结果

在这里插入图片描述)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/601435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux 内核源码分析】关于Linux内核源码目录结构

Linux内核源码采用树形结构。功能相关的文件放到不同的子目录下面&#xff0c;使程序更具有可读行。 使用Source Insight打开源码&#xff0c;如下图所示&#xff0c;可以看到源码是树形结构。 目录含义描述arch存放与体系结构相关的代码&#xff0c;包括不同硬件平台的特定代…

Qt/QML编程学习之心得:QSocketNotifier(二十一)

QSocketNotifier在Qt中怎么使用? QSocketNotifier使Qt的事件循环与其他基于文件描述符的事件循环集成成为可能。在Qt的主事件循环(QCoreApplication::exec())中检测到文件描述符操作。 使用低级(通常是特定于平台的)API打开设备后,可以创建一个套接字通知程序来监视文…

DDoS攻击的多种方式

DDOS攻击指分布式拒绝服务攻击&#xff0c;即处于不同位置的多个攻击者同时向一个或数个目标发动攻击&#xff0c;或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。由于攻击的发出点是分布在不同地方的&#xff0c;这类攻击称为分布式拒绝服务…

leetcode:2451. 差值数组不同的字符串(python3解法)

难度&#xff1a;简单 给你一个字符串数组 words &#xff0c;每一个字符串长度都相同&#xff0c;令所有字符串的长度都为 n 。 每个字符串 words[i] 可以被转化为一个长度为 n - 1 的 差值整数数组 difference[i] &#xff0c;其中对于 0 < j < n - 2 有 difference[i]…

【unity小技巧】FPS游戏实现相机的偏移震动、武器射击后退和后坐力效果

最终效果 文章目录 最终效果前言相机偏移震动相机震动脚本换弹节点震动 武器射击后退效果武器后坐力效果完结 前言 关于后坐力之前其实已经分享了一个&#xff1a;FPS游戏后坐力制作思路 但是实现起来比较复杂&#xff0c;如果你只是想要简单的实现&#xff0c;可以看看这个&…

使用printJS使网页打印成PDF、网页html结合printJS导出为pdf

先放几个参考链接 感谢&#xff01; Vue使用PrintJS实现页面打印功能_vue print.js 设置打印pdf的大小-CSDN博客 前台导出pdf经验汇总 &#xff08;html2canvas.js和浏览器自带的打印功能-print.js&#xff09;以及后台一些导出pdf的方法_iqc后台管理系统怎么做到导出pdf-CSD…

大创项目推荐 深度学习图像分类算法研究与实现 - 卷积神经网络图像分类

文章目录 0 前言1 常用的分类网络介绍1.1 CNN1.2 VGG1.3 GoogleNet 2 图像分类部分代码实现2.1 环境依赖2.2 需要导入的包2.3 参数设置(路径&#xff0c;图像尺寸&#xff0c;数据集分割比例)2.4 从preprocessedFolder读取图片并返回numpy格式(便于在神经网络中训练)2.5 数据预…

ssm基于JSP的网络游戏交易系统的设计与实现+jsp论文

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;商品管理信息因为其管理内容繁杂&#xff0c;管理数量繁多导致手工进行处理不能满足…

面试题理解深层次的数组名

目录 引言 一&#xff1a;一维数组 举例如下 1.铺垫知识 数组名是数组首元素的地址&#xff0c;但是有两个特殊情况 &#xff08;1&#xff09;sizeof(数组名) &#xff08;2&#xff09;&数组名 2.分析讲解上述代码结果 2.字符数组 举例一如下 1.知识铺垫 …

(三)其他的输入输出

文章目录 getchar();单个字符输入使用&#xff1a; putchar();单个字符输出(自带换行)使用 puts();字符串输出与printf区别使用 gets();后面补充 代码现象 getchar(); 单个字符输入 使用&#xff1a; 变量 getchar(); 例&#xff1a;char a&#xff1b; a getchar(); put…

软件测试之单元测试、系统测试、集成测试知识总结

一、单元测试的概念 单元测试是对软件基本组成单元进行的测试&#xff0c;如函数或一个类的方法。当然这里的基本单元不仅仅指的是一个函数或者方法&#xff0c;有可能对应多个程序文件中的一组函数。 单元也具有一些基本的属性。比如&#xff1a;明确的功能、规格定义&#…

PHP进阶-实现网站的QQ授权登录

授权登录是站点开发常见的应用场景&#xff0c;通过社交媒体一键授权可以跳过注册站点账户的繁琐操作。本文将讲解如何用PHP实现QQ授权登录。首先&#xff0c;我们需要申请QQ互联开发者账号获得APPID和密钥&#xff1b;接着&#xff0c;我们下载QQ官方SDK&#xff1a;PHP SDK v…

IP地址定位技术的应用及其重要性

随着网络技术的快速发展&#xff0c;网络安全问题日益凸显&#xff0c;IP地址定位技术在网络安全领域的应用也越来越广泛。本文将介绍IP地址定位技术在网络安全领域的应用及其重要性。 一、IP地址定位技术概述 IP地址定位技术是指通过一定的技术手段&#xff0c;将虚拟网络中的…

关于《码农翻身》一书的读后感以及自己的一些拙见汇总

书籍名称 《码农翻身》 | 刘欣&#xff08;码农翻身&#xff09; 著 | 文章将以问答的形式进行叙述 1.是从什么渠道接触到《码农翻身》的 一个工作日的下午&#xff0c;手上的任务基本结束&#xff0c;翻了翻桌上的书和笔记之类的&#xff0c;同事见我在看书&#xff0c;于是向…

阿里后端实习一面面经

阿里后端实习一面面经 项目中使用到了es&#xff0c;es的作用&#xff1f; elasticsearch是一款非常强大的开源搜索引擎&#xff0c;具备非常多强大功能&#xff0c;可以帮助我们从海量数据中快速找到需要的内容 es中的重要概念&#xff1f; 群集&#xff1a;一个或多个节点…

PostgreSQL的常见错误和解决方法

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 在学习新的东西时&#xff0c;会犯很多的错误&#xff0c;会遇到很多坑。我们在填坑与犯错中不断进步成长。 以下是在学习pgsql中…

Pytorch详细安装过程

1、安装anaconda 官网&#xff08;https://www.anaconda.com/products/distribution#Downloads&#xff09;下载&#xff0c;使用管理员身份运行&#xff08;不使用似乎也没事&#xff09; 这里选择Just me&#xff08;至于为啥&#xff0c;咱也不是很清楚&#xff09; 更改路…

编程基础 - 初识shell

编程基础 - 初识shell 返回序言及专栏目录 文章目录 编程基础 - 初识shell前言一、Linux的路径1、绝对路径2、相对路径3、特殊路径 二、交互式工作1、先联系上shell2、交互式命令 三、执行脚本四、sh和bash的区别总结 前言 shell是Linux内核外的一层壳&#xff0c;是用户与Li…

大数据 MapReduce如何让数据完成一次旅行?

专栏上一期我们聊到MapReduce编程模型将大数据计算过程切分为Map和Reduce两个阶段&#xff0c;先复习一下&#xff0c;在Map阶段为每个数据块分配一个Map计算任务&#xff0c;然后将所有map输出的Key进行合并&#xff0c;相同的Key及其对应的Value发送给同一个Reduce任务去处理…

数据库设计-DDL

D D L \huge{DDL} DDL DDL&#xff1a;数据库定义语言&#xff0c;用来定义数据对象&#xff08;数据库、表&#xff09; 简单操作 首先在cmd中进行操作&#xff0c;登录数据库 show databases; -- 以列表的形式显示所有的数据库create database [if not exists] 数据库名称…