深度剖析text-align家族
大家好,我是半夏,一个刚刚开始写文的沙雕程序员.如果喜欢我的文章,可以关注 点赞 加我微信:frontendpicker,一起学习交流前端,成为更优秀的工程师~关注公众号:搞前端的半夏,了解更多前端知识! 点我探索新世界!
原文链接 ==>http://sylblog.xin/archives/19
前言

不知道有没有知道上面这个网站代表的意义!
1990年12月20日,Berners-Lee上线了世界上第一个网站:http://info.cern.ch/包含该网站诞生的信息和轶事。这就是万维网的诞生,Tim Berners-Lee则被视为它的缔造者。
第一眼看过去,我们看到的是啥?没错,是文字。
text-align
定义
用于对齐块级元素的内部内容,这里用了内容而不是文本,
text-align属性看名字就知道肯定会影响文本的对齐方式,同时它也对内联元素/内联块级元素/块级元素产生影响

内联div设置了display:inline-block;
值
left 把文本排列到左边。默认值:由浏览器决定。
right 把文本排列到右边。
center 把文本排列到中间。
justify 实现两端对齐文本效果。
inherit 规定应该从父元素继承 text-align 属性的值。
这里着重说一下justify,这个属性大部分人应该还是很陌生的,
什么是两端对齐文本呢,一个小例子马上明白。
对于下面的div,我们没有设置text-align属性,如图所示第一行和第二行的行尾并不是对齐的,
.textAlign {
width: 200px;
height: 200px;
background-color: #2ecc71;
}
<div class="textAlign">
<span>我是内联span
我是第一行内容121
我是第二行内容ab
我是第三行内容1231231
</span>
</div>

当给.textAlign加上text-align:justify,就会变成下面的效果,第一行与第二行的行尾对齐。

相爱的direction
为什么会提到这个属性!仔细想想我们在没有给上面的div设置text-align的时候,文字是不是从左往右排列的,其实这就是direction的作用,它默认值是ltr,文本就会从左往右显示,但当你设置为rtl,他就会从右往左显示。
.textAlign {
direction: rtl;
}
<span>direction: rtl。</span>
请注意观察句号的位置。

如果 direction 属性是 ltr,则默认值为 left;如果 direction 属性是 rtl,则默认值为 right。
text-align-last
定义
允许强制换行之前控制最后(或唯一)行文本的对齐方式 - 例如段落的结尾或
标签之前的行。
left 将最后一行文本与容器左侧对齐。

right将最后一行文本与容器右侧对齐。

center 将容器内的最后一行文本居中。

justify 对齐文本的最后一行,使其跨越容器的整个宽度,如果需要,在单词之间插入空格以增加行长。

start根据文本的 将文本与行的“开始”对齐direction- LTR语言左对齐,RTL语言右对齐。

end根据direction文本的将最后一行与行的“结尾”对齐-direction:ltr为右,direction:rtl语言为左。

auto默认值。对齐最后一行文本以匹配元素的text-align属性(如果已设置)。如果未设置,auto则将文本与开头对齐。
#auto {
text-align: right;;
text-align-last: auto;
}

inherit应用text-align-last父元素的属性。
text-indent
定义
text-indent 属性指定在元素的文本内容的第一行开始之前应该移动多少水平间距文本。间距是从块级容器元素的起始边缘计算的。本属性对行内元素无效。
起始边缘通常在左边,但如果在从右到左的模式下也可以在右边,例如方向属性。
text-indent 属性在块元素上指定时会被继承,这意味着它也会影响行内块的后代元素。在处理内联块子项时,您可能希望强制它们使用 text-indent: 0;。
语法
text-indent: | | inherit && [ hanging || each-line ]
其中
each-line 实验性API,不应在生产代码中使用。
缩进会影响块容器的第一行以及强制换行后的每一行,但不会影响软包装换行 后的行。
hanging 实验性 API,不应在生产代码中使用。
反转缩进的行。除第一行外的所有行都将缩进。
p {
text-indent: *em;
}




深度剖析text-align家族的更多相关文章
- Objective-C类成员变量深度剖析
目录 Non Fragile ivars 为什么Non Fragile ivars很关键 如何寻址类成员变量 真正的“如何寻址类成员变量” Non Fragile ivars布局调整 为什么Objec ...
- WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇)
原文:WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇) [爱心链接:拯救一个25岁身患急性白血病的女孩[内有苏州电视台经济频道<天天山海经>为此录制的节目视频(苏州话 ...
- 【渗透课程】第二篇下-HTTP协议的请求与响应深度剖析
[渗透课程]第二篇下-HTTP协议的请求与响应深度剖析 HTTP1.1目前支持以下7种请求方法: 常见的MIME类型如下: 第一个数字有五种可能的取值: 目录 什么是请求方法?什么是请求头? HTTP ...
- [Android] Toast问题深度剖析(二)
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者: QQ音乐技术团队 题记 Toast 作为 Android 系统中最常用的类之一,由于其方便的api设计和简洁的交互体验,被我们所广泛采用 ...
- Objective-C类成员变量深度剖析--oc对象内存模型
目录 Non Fragile ivars 为什么Non Fragile ivars很关键 如何寻址类成员变量 真正的“如何寻址类成员变量” Non Fragile ivars布局调整 为什么Objec ...
- Mysql binlog应用场景与原理深度剖析
1 基于binlog的主从复制 Mysql 5.0以后,支持通过binary log(二进制日志)以支持主从复制.复制允许将来自一个MySQL数据库服务器(master) 的数据复制到一个或多个其他M ...
- .NET5.0 单文件发布打包操作深度剖析
.NET5.0 单文件发布打包操作深度剖析 前言 随着 .NET5.0 Preview 8 的发布,许多新功能正在被社区成员一一探索:这其中就包含了"单文件发布"这个炫酷的功能,实 ...
- 《AngularJS深度剖析与最佳实践》简介
由于年末将至,前阵子一直忙于工作的事务,不得已暂停了微信订阅号的更新,我将会在后续的时间里尽快的继续为大家推送更多的博文.毕竟一个人的力量微薄,精力有限,希望大家能理解,仍然能一如既往的关注和支持sh ...
- ASP.NET Core管道深度剖析(2):创建一个“迷你版”的管道来模拟真实管道请求处理流程
从<ASP.NET Core管道深度剖析(1):采用管道处理HTTP请求>我们知道ASP.NET Core请求处理管道由一个服务器和一组有序的中间件组成,所以从总体设计来讲是非常简单的,但 ...
- 大众点评开源分布式监控平台 CAT 深度剖析
一.CAT介绍 CAT系统原型和理念来源于eBay的CAL的系统,CAT系统第一代设计者吴其敏在eBay工作长达十几年,对CAL系统有深刻的理解.CAT不仅增强了CAL系统核心模型,还添加了更丰富的报 ...
随机推荐
- CVE-2015-5531(目录遍历漏洞)
vulhub漏洞环境搭建 https://blog.csdn.net/qq_36374896/article/details/84102101 启动docker环境 cd vulhub-master/ ...
- MySQL中的约束,添加约束,删除约束,以及其他修饰
一.NOT NULL(非空约束)添加非空约束 1)建表时直接添加 CREATE TABLE t_user(user_id INT(10) NOT NULL); 2)通过ALTER 语句 ALTER T ...
- 重写hashcode和equals方法
重写hashcode和equals方法 简乐君 2019-05-07 21:55:43 35481 收藏 191分类专栏: Java 文章标签: equals() hashcode()版权 一.前言我 ...
- 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的.例如,对于如下语句: final StringBuilder a=new StringBuilder ...
- Kafka 缺点?
由于是批量发送,数据并非真正的实时: 对于mqtt协议不支持: 不支持物联网传感数据直接接入: 仅支持统一分区内消息有序,无法实现全局消息有序: 监控不完善,需要安装插件: 依赖zookeeper进行 ...
- MyBatis 实现一对一有几种方式?具体怎么操作的?
有联合查询和嵌套查询,联合查询是几个表联合查询,只查询一次, 通过在 resultMap 里面配置 association 节点配置一对一的类就可以完成: 嵌套查询是先查一个表,根据这个表里面的结果的 ...
- 怎么创建maven项目
1.Eclipse中用Maven创建项目 2.点击[next] 3.选maven-archetype-webapp后,next 4.填写相应的信息,Packaged是默认创建一个包,不写也可以 4右击 ...
- 一个注解@Recover搞定丑陋的循环重试代码
使用背景 在实际项目中其中一部分逻辑可能会因为调用了外部服务或者等待锁等情况下出现不可预料的异常,在这个时候我们可能需要对调用这部分逻辑进行重试,代码里面主要就是使用for循环写一大坨重试的逻辑,各种 ...
- 最新漏洞:Spring Framework远程代码执行漏洞
Spring Framework远程代码执行漏洞 发布时间 2022-03-31 漏洞等级 High CVE编号 CVE-2022-22965 影响范围:同时满足以下三个条件可确定受此漏洞影响: JD ...
- led指示灯电路图大全(八款led指示灯电路设计原理图详解)
led指示灯电路图大全(八款led指示灯电路设计原理图详解) led指示灯电路图(一) 图1所示电路中只有两个元件,R选用1/6--1/8W碳膜电阻或金属膜电阻,阻值在1--300K之间. Ne为氖泡 ...