CSS文本样式(二)

一、水平对齐文本

1、text-align属性

text-align​属性指定元素中文本的​水平对齐方式​。 默认情况下,您网站上的文字左对齐。 但是,有时您可能需要不同的对齐方式。

文本对齐属性值如下:leftrightcenterjustify

  • left:把文本排列到左边。默认值:由浏览器决定。
  • right:把文本排列到右边
  • center:把文本排列到中间
  • justify:实现两端对齐文本效果。
  • inherit:规定应该从父元素继承text-align属性的值。

HTML代码:

html 复制代码
<p class="left"><strong>woaixuexi</strong></p>
<p class="right"><strong>woaixuexi</strong></p>
<p class="center"><strong>woaixuexi</strong></p>

CSS代码:

css 复制代码
p.left {
   text-align: left;
}
p.right {
   text-align: right;
}
p.center {
   text-align: center;
}

执行结果:

  • 当文本对齐设置为"justify"时,每行都被拉伸,使得每一行具有相同的宽度,并且左右边距是直的(如在杂志和报纸中)。
  • 该属性通过指定行框与哪个点对齐,从而设置块级元素内文本的水平对齐方式。通过允许用户代理调整行内容中字母和字之间的间隔,可以支持值justify;不同用户代理可能会得到不同的结果。
  • 所有浏览器都支持text-align属性。任何的版本的InternetExplorer(包括IE8)都不支持属性值"inherit"

二、垂直对齐文本

1、vertical-align属性

vertical-align 属性设置元素的​垂直对齐​。

常用的值是topmiddle 和​bottom​。

top: ​ 使元素及其后代元素的顶部与整行的​​顶部​对齐​。

middle: ​ 使元素的中部与父元素的基线加上父元素x-height的​一半对齐​。

bottom: ​使元素及其后代元素的底部与整行的​底部对齐​。

下面的示例显示了如何垂直对齐表格之间的文本。

HTML代码:

html 复制代码
<table border="1" cellpadding="2" cellspacing="0" style="height: 150px;">
  <tr>
     <td class="top">Top</td>
     <td class="middle">Middle</td>
     <td class="bottom">Bottom</td>
  </tr>
</table>

CSS代码:

css 复制代码
td.top {
   vertical-align: top;
}
td.middle {
   vertical-align: middle;
}
td.bottom {
   vertical-align: bottom;
}

执行结果:

vertical-align 属性还包含以下值:baselinesubsuper%px (或ptcm)。

baseline:​使元素的基线与父元素的​基线对齐。

sub:​使元素的基线与父元素的​下标基线对齐。

super: 使元素的基线与父元素的​上标基线​对齐。

px:使元素的基线对齐到父元素的基线之上的给定长度。可以是​负数

下面的例子显示了它们之间的区别。

HTML代码:

html 复制代码
<p>This is a <span class="baseline">woaixuexi</span> example.</p>
<p>This is a <span class="sub">woaixuexi</span> example.</p>
<p>This is a <span class="super">woaixuexi</span> example.</p>
<p>This is a <span class="pixel">woaixuexi</span> example.</p>

CSS代码:

css 复制代码
span.baseline {
    vertical-align: baseline;
}
span.sub {
    vertical-align: sub;
}
span.super {
    vertical-align: super;
}
span.pixel {
    vertical-align: -10px;
}

执行结果:

可以使用​pt(点)cm(厘米)​和​%(百分比)值来代替​px​值。

vertical-align 属性对​所有元素​的​行为​都​不一样​。

例如,div元素需要一些额外的CSS样式。

HTML代码:

html 复制代码
<div class="main">
   <div class="paragraph">
  woaixuexi
   </div>
</div>

CSS代码:

css 复制代码
.main {
    height: 150px; width: 400px;
    background-color: LightSkyBlue;
    display: inline-table;
}
.paragraph {
    display: table-cell;
    vertical-align: middle;
}

执行结果:

display: inline-table;display: table-cell; 使用样式来使垂直对齐属性能在div中起效果

三、text-decoration(线条装饰)

1、text-decoration属性

text-decoration 属性用于​指定文本​将如何​装饰

text-decoration 属性是以下三种属性的简写:

  • text-decoration-line : 线条类型

  • text-decoration-color : 线条颜色

  • text-decoration-style : 线条样式
    常用的值有:

  • none- 默认值,这定义了一个正常的文本

  • inherit- 从其父元素继承此属性

  • overline- 在文本上方绘制水平线

  • underline- 在文本下方绘制水平线

  • line-through - 在文本中绘制水平线(替换HTML <s>标记)

下面的例子演示了每个值之间的差异。

HTML代码:

html 复制代码
<p class="none">woaixuexi</p>
<p class="inherit">woaixuexi</p>
<p class="overline">woaixuexi</p>
<p class="underline">woaixuexi</p>
<p class="line-through">woaixuexi</p>

CSS代码:

css 复制代码
p.none {
   text-decoration: none;
}
p.inherit {
   text-decoration: inherit;
}
p.overline {
   text-decoration: overline;
}
p.underline {
   text-decoration: underline;
}
p.line-through {
   text-decoration: line-through;
}

执行结果:

您可以将underlineoverlineline-through组合起来,以添加多条装饰线。
text-decoration: blink这个值是有效的,可以使文本闪烁,但是被弃用,大多数浏览器忽略它。
这个属性允许对文本设置某种效果,如加下划线。如果后代元素没有自己的装饰,祖先元素上设置的装饰会"延伸"到后代元素中。

四、文本缩进

1、text-indent属性

text-indent​ 属性规定文本块中​首行文本​的缩进。指定在​文本​的​第一行``开始之前​应该留下多少​水平空间​。 属性值是长度​(px,pt,cm,em等),%​和​inherit​。

内联对象​要使用该属性必须先使该对象表现为​块级​或​内联块级​。

HTML代码:

html 复制代码
<p>
使用 <strong>text-indent</strong> 让文本向右缩进了60px。
</p>

CSS代码:

css 复制代码
p {
   text-indent: 60px;
}

执行结果:

  • 注释:允许使用负值。如果使用负值,那么首行会被缩进到左边。在CSS2.1之前,text-indent总是继承计算值,而不是声明值。
  • 说明:text-indent属性用于定义块级元素中第一个内容行的缩进。这最常用于建立一个"标签页"效果。允许指定负值,这会产生一种"悬挂缩进"的效果。

五、text-shadow(阴影)

1、text-shadow属性

text-shadow 为​文本​添加​阴影

text-shadow: 水平位置 垂直位置 模糊距离 阴影颜色

它有四个值,各个属性值如下所示:

  • h-shadow: 必需。水平阴影的位置。允许负值。
  • v-shadow: 必需。垂直阴影的位置。允许负值。
  • blur: 可选。模糊的距离。
  • color: 可选。阴影的颜色。

HTML代码:

html 复制代码
<h1>我爱学习</h1>

CSS代码:

css 复制代码
h1 {
   color: blue;
   font-size: 30pt;
   text-shadow: 5px 2px 4px grey;
}

在上面的例子中,我们使用以下参数创建了一个阴影:

  • 5px - X坐标
  • 2px - Y坐标
  • 4px - 模糊半径
  • 灰色 - 阴影的颜色

执行结果:

要向文本添加多个阴影,请添加逗号分隔的阴影列表。

2、text-shadow与模糊效果

处理阴影时,可以使用任何CSS支持的颜色格式。

对于xy偏移,可以使用各种类型的单位(如px,cm,mm,in,pc,pt等)。

负值也被支持。

下面的例子创建一个蓝色的阴影,比主文本向上高出2px,向左多1px,并且用0.5em模糊:

HTML代码:

html 复制代码
<h1>我爱学习</h1>

CSS代码:

css 复制代码
h1 {
   font-size: 20pt;   
   text-shadow: rgba(0,0,255,1) -1px -2px 0.5em; 
}

执行结果:

注:Internet Explorer 9和更早版本不支持text-shadow属性。

六、text-transform(文本大小写)

1、text-transform属性

text-transform ​:控制文本的大小写。

text-transform: capitalize; ​ 可以实现文本中的​每个单词​以​大写字母​开头。

HTML代码:

html 复制代码
<p class="capitalize">
    The value capitalize transforms the first 
    character in each word to uppercase; 
    all other characters remain unaffected.
</p>

CSS代码:

css 复制代码
.capitalize {
   text-transform: capitalize;
}

执行结果:

使用​text-transform​,您可以使文本显示为​全部大写​或​全部小写​。

text-transform: uppercase; 定义文本显示为全部大写​。

text-transform: lowercase; ​ 定义文本显示为​全部小写

HTML代码:

html 复制代码
<p class="uppercase">This value transforms all characters to uppercase.</p>
<p class="lowercase">This value transforms all characters to lowercase.</p>

CSS代码:

css 复制代码
p.uppercase {
   text-transform: uppercase;
}
p.lowercase {
   text-transform: lowercase;
}

执行结果:

none​值不会产生任何效果。即默认,定义带有小写字母和大写字母的标准的文本。

七、letter-spacing(文本字符之间间距)

1、letter-spacing属性

letter-spacing 属性用于设置​文本字符之间间距​。

该属性定义了在文本字符框之间​插入​多少​空间​。由于字符字形通常比其字符框要窄,指定长度值时,会调整字母之间通常的​间隔​。因此,normal​ 就相当于值为 0​。

值可以设置为:

  • normal ​: 定义了默认样式,字符之间没有额外的空间;
  • length​ : 长度计量单位,用px,pt,cm,mm等测量单位定义字符之间额外空间;
  • inherit ​: 继承父元素的属性;

HTML代码:

html 复制代码
<p class="normal">woaixuexi</p>
<p class="positive ">woaixuexi</p>

CSS代码:

css 复制代码
p.normal { 
   letter-spacing: normal; 
}
p.positive { 
   letter-spacing: 4px; 
}

执行结果:

2、letter-spacing使用负值

letter-spacing使用​负值可以​减少``字符之间​的​间距​。

HTML代码:

html 复制代码
<p class="positive">woaixuexi</p>
<p class="negative">woaixuexi</p>

CSS代码:

css 复制代码
p.positive { 
   letter-spacing: 4px; 
}
p.negative { 
   letter-spacing: -1.5px; 
} 

执行结果:

八、word-spacing(文本单词之间空格)

1、word-spacing属性

word-spacing 属性指定​文本​中​单词之间​的​空格​(即字间隔)。 就像letter-spacing 属性一样,可以将​word-spacing 的值设置为normallengthinherit

该属性定义元素中字之间插入多少​空白符​。针对这个属性,"​​" 定义为由空白符包围的一个字符串。如果指定为​长度值​,会调整字之间的​通常间隔​;所以,​normal ​就等同于设置为​ 0​。允许指定​负长度值​,这会让字之间挤得更紧。

normal​: 默认。定义单词间的标准空间。

length​: 定义单词间的固定空间。

inherit​: 规定应该从父元素继承 word-spacing 属性的值。

HTML代码:

html 复制代码
<p class="normal">This paragraph has no additional word-spacing applied.</p>
<p class="px">This paragraph is word-spaced at 30px.</p>

CSS代码:

css 复制代码
p.normal { 
   word-spacing: normal;
}
p.px { 
   word-spacing: 30px;
}

执行结果:

当段落需要使用​正常的单词间距​展示时,通常会使用normal

2、word-spacing的测量单位

要使用word-spacing 设置单词之间的间距,可以使用像px pt pc cm mm inches emex这样的测量值。如果指定为长度值,会调整字之间通常间隔;也可以设置normalnormal`` 就等同于设置为 0

负值也是允许的,这会让字之间挤得更紧

HTML代码:

html 复制代码
<p class="positive">This paragraph is word-spaced at 20px.</p>
<p class="negative">This paragraph is word-spaced at -5px.</p>

CSS代码:

css 复制代码
p.positive { 
   word-spacing: 20px;
}
p.negative { 
   word-spacing: -5px;
}

执行结果:

九、white-space(换行符)

1、white-space属性

white-space 可以设置​元素内​的换行符

参数可以是normalinheritnowrap等。

  • normal: 默认。空白会被浏览器忽略
  • inherit: 规定应该从父元素继承 white-space 属性的值。
  • nowrap: 文本不会换行,文本会在在同一行继续,直到遇到 <br> 标签为止。
    nowrap 会​屏蔽​该​元素中​的​所有换行符​。

HTML代码:

html 复制代码
<p>
This paragraph has         multiple spaces      and
a line break, but it will be ignored, as we used the nowrap value. 
</p>

CSS代码:

css 复制代码
p {
   white-space: nowrap;
}

执行结果:

上面结果中:文本将继续在​同一行​,直到​遇到​一个​<br />标记。

white-space 也支持其他值:prepre-linepre-wrap

  • pre :文本支持所有换行空格
  • pre-line :文本支持换行忽略额外的空格
  • pre-wrap :文本将在必要的时候或者行的结尾进行换行

HTML代码:

html 复制代码
<p class="pre"> 

In the markup we have multiple            spaces 

and a line break. 

</p>

<p class="preline"> 

In the markup we have multiple            spaces 

and a line break, but in the result multiple spaces are ignored. 

</p>

<p class="prewrap"> 

In the markup we have              multiple 

spaces and a line break.

</p>

CSS代码:

css 复制代码
p.pre {
   white-space: pre;
}
p.preline {
   white-space: pre-line;
}
p.prewrap {
   white-space: pre-wrap;
}

执行结果:

Pre-wrap​值的行为与​Pre​值相同,只是它​增加了​额外的换行符​以防止文本突破元素的框。

相关推荐
Justinc.14 分钟前
CSS3新增边框属性(五)
前端·css·css3
fruge22 分钟前
纯css制作声波扩散动画、js+css3波纹催眠动画特效、【css3动画】圆波扩散效果、雷达光波效果完整代码
javascript·css·css3
neter.asia30 分钟前
vue中如何关闭eslint检测?
前端·javascript·vue.js
~甲壳虫31 分钟前
说说webpack中常见的Plugin?解决了什么问题?
前端·webpack·node.js
嚣张农民37 分钟前
JavaScript中Promise分别有哪些函数?
前端·javascript·面试
光影少年1 小时前
vue2与vue3的全局通信插件,如何实现自定义的插件
前端·javascript·vue.js
As977_1 小时前
前端学习Day12 CSS盒子的定位(相对定位篇“附练习”)
前端·css·学习
susu10830189111 小时前
vue3 css的样式如果background没有,如何覆盖有background的样式
前端·css
Ocean☾1 小时前
前端基础-html-注册界面
前端·算法·html
Dragon Wu1 小时前
前端 Canvas 绘画 总结
前端