关于文本:text-align不许再写错了

逼自己说几句


我就头疼这个text-align,因为每次拼写比写错,也是没谁了,在这里我就不把错的写出来了,惩罚自己手写十遍text-align

text-align text-align text-align text-align text-align text-align text-align text-align text-align text-align

定义与语法


text-align属性是用来描述一个行内元素是如何在身为父元素的块级元素中对齐

通过定义可以看出text-align属性并不能控制块级元素的对齐方式,它只对块级元素内的行内元素生效

来看看text-align属性有哪些值

  • left
  • right
  • center
  • justify
  • start (CSS3新增) (默认值)
  • end (CSS3新增)
  • match-parent (CSS3新增)

接下来看看语法

# 内容左对齐
text-align: left;

# 内容右对齐
text-align: right;

# 内容居中对齐
text-align: center;

# 内容两端对齐,但对于强制打断的行(被打断的这一行)及最后一行(包括仅有一行文本的情况,因为它既是第一行也是最后一行)不做处理
text-align: justify;

# CSS3 内容对齐开始边界
text-align: start;

# CSS3 内容对齐结束边界
text-align: end;

# CSS3 这个值和inherit表现一致,只是该值继承的start或end关键字是针对父母的direction值并计算的,计算值可以是left和right
text-align: match-parent;

其实text-align属性的值left right center已经很熟悉了,下面来重点看看justify

justify


首先明确的是,这个对齐的方式在英文文本上的表现效果更强一点,因为英文是一个个词汇,有长有短,像中文这种方块字都差不多的,设置内容两端对齐很难看出效果

来看看两端对齐的效果实现

HTML

  <div class="mydiv">This paragraph contains a very long word: thisisaveryveryveryveryveryverylongword. This paragraph contains a very long word</div>

CSS

.mydiv {
  width: 120px;
  border: 3px solid red;
  text-align: justify;
}

其实,仅需声明text-align-last: justify;便可设置最后一行也两端对齐

start和end (CSS3新增)


直接上例子吧

HTML

<ul class="test">
  <li>
    <strong>start</strong>
    <p class="start">start效果</p>
  </li>
  <li>
    <strong>end</strong>
    <p class="end">end效果</p>
  </li>
</ul>

CSS

.test .start {
  border: 2px solid red;
  text-align: start;
}
.test .end {
  border: 2px solid red;
  text-align: end;
}

好吧,我并没有看出和leftright有什么区别,以后发现了再补充吧

对行内元素的实现效果


text-align对块级元素内的文本是有效果的,那么对行内元素本身有效果么

HTML

<div class="mydiv left">
  <span></span>
  <span></span>
  <span></span>
</div>
<div class="mydiv right">
  <span></span>
  <span></span>
  <span></span>
</div>
<div class="mydiv center">
  <span></span>
  <span></span>
  <span></span>
</div>
<div class="mydiv justify">
  <span></span>
  <span></span>
  <span></span>
</div>

CSS

.mydiv {
  width: 400px;
  height: 30px;
  border: 2px solid red;
}
span {
  padding-left: 15px;
  padding-right: 15px;
  background: #ccc;
  border: 1px solid;
}
.left {
  text-align: left;
}
.right {
  text-align: right;
}
.center {
  text-align: center;
}
.justify {
  text-align-last: justify;
}

嗯,效果和文本的对齐方式是一样的...我靠,一样个毛线啊,justify明显没有效果好么

细分析下来这个会不会是span之间没有空格,就跟英文单词一样,浏览器渲染会认为这三个span是一体的,那就试试吧,给span间加两个空格

HTML

<div class="mydiv justify">
  <span></span>
  <span></span>
  <span></span>
</div>

还真是

再来,加空格可以,设置margin可以么,很可惜,亲测不行

对inline-block的实现效果


相同的例子,行内元素换成块级元素,对块级元素设置display: inline-block;

HTML

<div class="mydiv left">
  <p></p>
  <p></p>
  <p></p>
</div>
<div class="mydiv right">
  <p></p>
  <p></p>
  <p></p>
</div>
<div class="mydiv center">
  <p></p>
  <p></p>
  <p></p>
</div>
<div class="mydiv justify">
  <p></p>
  <p></p>
  <p></p>
</div>

CSS

.mydiv {
  width: 400px;
  height: 30px;
  border: 2px solid red;
}
p {
  display: inline-block;
  padding: 5px;
  vertical-align: top;
  border: 1px solid;
  background: #ccc;
}
.left {
  text-align: left;
}
.right {
  text-align: right;
}
.center {
  text-align: center;
}
.justify {
  text-align-last: justify;
}

看看,效果相同,并且好像发现了一个新东西,inline-block后的块级元素不用加空格就可以实现justify的效果

其实,那是因为inline-block后的块级元素本身有间隙,具体可以参考我的另一篇文章《消除inline-block后间隙的方法们》


参考文献

(完)

文档信息

  • 自由转载-非商用-非衍生-保持署名
  • 发表日期:2016年9月17日
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,681评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,710评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,623评论 0 334
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,202评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,232评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,368评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,795评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,461评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,647评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,476评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,525评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,226评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,785评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,857评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,090评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,647评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,215评论 2 341

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,722评论 1 92
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 3,451评论 0 6
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 4,376评论 0 26
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,725评论 0 2
  • 和一个很有趣的小朋友进行了一次交流,嗯,其实每个人最开始的看法并不一定是正确的,也明白你不可能做到,每个人都喜欢。...
    阿甘的蜗牛屋阅读 238评论 0 0