基础样式
基础样式
文本属性
文本属性用于定义文本的样式,通过文本属性,可以改变文本的颜色、字间距、对齐方式、文本修饰和文本缩进等。常用文本属性如下表所示:
| 属 性 | 可 取 值 | 描 述 |
|---|---|---|
| line-height | normal、number、length、% | 设置行高 |
| text-indent | length、% | 设置文本缩进 |
| text-align | left、right、center、justify、start、end | 设置对齐方式 |
| letter-spacing | normal、length | 设置字符间距 |
| text-decoration | line、color、style、thickness | 设置文本修饰 |
| white-space | normal、pre、nowrap、pre-wrap、pre-line、break-spaces | 规定如何处理空白 |
| line-break | auto、loose、normal、strict、anywhere、unset | 处理如何断开带有标点符号的文本的行 |
line-height 用于设置多行元素的空间量,可取值具体说明如下:
normal:取决于用户端。number:数字乘以元素的字体大小。length:指定长度用于计算高度。%:计算值是给定的百分比值乘以元素计算出的字体大小。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>line-height 的使用</title>
<style>
div {
width: 300px;
height: 400px;
border: 1px solid;
font-size: 15px;
display: inline-block;
vertical-align: top;
}
.div1 {
line-height: 2; /*15 * 2*/
}
.div2 {
line-height: 30%; /*15 * 30% */
}
</style>
</head>
<body>
<div class="div1">
<p>“海水呀,你说的是什么?”</p>
<p>“是永恒的疑问。”</p>
<p>“天空呀,你回答的话是什么?”</p>
<p>“是永恒的沉默。”</p>
</div>
<div class="div2">
<p>“海水呀,你说的是什么?”</p>
<p>“是永恒的疑问。”</p>
<p>“天空呀,你回答的话是什么?”</p>
<p>“是永恒的沉默。”</p>
</div>
</body>
</html>

text-decoration 属性用于设置文本的装饰线,例如给文本加下划线、中划线、波浪线等。可取值具体说明如下:
text-decoration-line设置线的位置,可取值包含:underline(下划线)、overline(上划线)、line-through(中划线)。text-decoration-color设置线的颜色。text-decoration-style设置线的样式,可取值包含:wavy(波浪线)、solid(实线)、dashed(虚线)。text-decoration-thickness设置线的粗细。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>text-decoration 的使用</title>
<style>
.item1 {
text-decoration: underline lime; /*下划线直线*/
}
.item2 {
text-decoration: wavy overline lime; /*上划线波浪线*/
}
.item3 {
text-decoration: line-through lime; /*中划线*/
}
.item4 {
text-decoration: none; /*无样式*/
}
.item5 {
text-decoration: dashed underline overline lime 5px; /*圆点上划线和下划线*/
}
</style>
</head>
<body>
<p class="item1">太阳只穿一件朴素的光衣,白云却披了灿烂的裙裾。</p>
<p class="item2">太阳只穿一件朴素的光衣,白云却披了灿烂的裙裾。</p>
<p class="item3">太阳只穿一件朴素的光衣,白云却披了灿烂的裙裾。</p>
<p class="item4">太阳只穿一件朴素的光衣,白云却披了灿烂的裙裾。</p>
<p class="item5">太阳只穿一件朴素的光衣,白云却披了灿烂的裙裾。</p>
</body>
</html>

字体属性
字体属性用于定义字体的类型、字号大小、加粗、斜体等方面样式。常用的字体属性如下表所示:
| 属 性 | 可 取 值 | 描 述 |
|---|---|---|
| font | font-style、font-variant、font-weight、font-size(或 line-height)、font-family | 在一个声明中设置所有的字体属性 |
| font-family | 字体名称、inherit | 设置字体类型 |
| font-size | xx-small、x-small、small、medium(默认)、large、x-large、xx-large smaller、larger length、%、inherit | 设置字体大小 |
| font-weight | normal(默认)、bold、bolder、lighter、inherit 100、200…900(400=normal,700=bold) | 设置字体粗细 |
| font-style | normal、italic、oblique、inherit | 设置字体风格 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
h3 {
font-size: 20px;
font-family: 隶书;
line-height: 28px;
}
span {
font: italic 16px 华文彩云;
}
</style>
</head>
<body>
<h3>Web 前端技术</h3>
<span
>在当今社会中,Web 已经成为网络信息共享和发布的主要形式。要想开发 Web 应用
系统,就必须掌握 Web 前端技术。</span
>
</body>
</html>

文本阴影
某些时候我们想让字体看起来更立体,更具艺术性,让人眼前一亮,可以给文字使用文本阴影属性。
在 CSS3 中,我们使用 text-shadow 属性来给文本内容添加阴影的效果。
文本阴影的语法格式如下:
text-shadow: x-offset y-offset blur color;
x-offset是沿 x 轴方向的偏移距离,允许负值,必须参数。y-offset是沿 y 轴方向的偏移距离,允许负值,必须参数。blur是阴影的模糊程度,可选参数。color是阴影的颜色,可选参数。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
div {
font-size: 50px;
color: rgb(0, 153, 255);
text-shadow: 4px 4px 3px rgb(0, 255, 179);
}
</style>
</head>
<body>
<div>蓝桥云课</div>
</body>
</html>

文本溢出
text-overflow 属性可以设置超长文本省略显示,其语法如下所示:
text-overflow: clip|ellipsis;
| 属性值 | 描述 |
|---|---|
| clip | 修剪文本。 |
| ellipsis | 显示省略符号来代表被修剪的文本。 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
p {
border: 1px solid blue;
width: 100px;
height: 50px;
overflow: hidden; /*隐藏超出文本*/
white-space: nowrap; /*强制单行显示*/
}
.poem1 {
text-overflow: clip;
}
.poem2 {
text-overflow: ellipsis;
}
</style>
</head>
<body>
<p class="poem1">木落雁南度,北风江上寒。我家襄水曲,遥隔楚云端。</p>
<p class="poem2">乡泪客中尽,孤帆天际看。迷津欲有问,平海夕漫漫。</p>
</body>
</html>

圆角边框
在 CSS3 中,使用 border-radius 属性来设置圆角边框。
border-radius 属性的值表示圆角的直径,可以设置四个值,其值的顺序为:左上角,右上角,右下角,左下角。
border-radius: 取值;
或者分开设置:
border-top-left-radius: 取值;
border-top-right-radius: 取值;
border-bottom-right-radius: 取值;
border-bottom-left-radius: 取值;
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
div {
width: 200px;
height: 200px;
background-color: rgb(17, 61, 117);
border-radius: 140px 20px 30px 40px; /*四个圆角直径不同*/
}
</style>
</head>
<body>
<div></div>
</body>
</html>

链接中的伪类
在 CSS 中,伪类是添加到选择器的关键字,给指定元素设置一些特殊状态,我们以 : 开头。
链接有以下四个状态。这四种状态也称之为超链接的伪类。
| 状态 | 效果 |
|---|---|
| a:link | 普通的、未被访问的链接。 |
| a:hover | 鼠标指针位于链接的上方。 |
| a:active | 链接被单击的时刻。 |
| a:visited | 用户已访问的链接。 |
针对超链接的上述四种状态设置样式规则,能起到美化超链接的作用。例如,为了完成下对超链接的显示要求,编写的 CSS 样式代码如下。
| 状 态 | 颜 色 | 背 景 色 | 文 本 修 饰 |
|---|---|---|---|
| 未访问 | 蓝色 | 无 | 无下画线 |
| 鼠标移到 | 黑色 | #DDDDDD | 下画线 |
| 正单击 | 红色 | #AAAAAA | 删除线 |
| 已访问 | 绿色 | 无 | 无下画线 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
* {
text-decoration: none;
}
a:link {
color: red;
}
a:visited {
color: blue;
}
a:hover {
color: green;
}
a:active {
color: yellow;
}
</style>
</head>
<body>
<a href="#">这是一个链接</a>
</body>
</html>
列表样式
| 属 性 | 可 取 值 | 描 述 |
|---|---|---|
| list-style | list-style-type、list-style-position、list-style-image | 在一个声明中设置所有的列表属性 |
| list-style-image | URL、none | 设置图像为列表项标志 |
| list-style-position | inside、outside、inherit | 设置列表中列表项标志的位置 |
| list-style-type | disc(默认)、circle、square、decimal 等 | 设置列表项标志的类型 |
display
display 属性可以用来设置元素在页面上的排列方式,也可用来隐藏元素。
| 属性值 | 说明 |
|---|---|
| block | 元素以块级方式展示。 |
| inline | 元素以内联方式展示。 |
| inline-block | 元素以内联块的方式展示。 |
| none | 隐藏元素。 |
display 和 visibility的区别
visibility: hidden 和 display: none 都可以用来隐藏元素,但它们的区别在于:
visibility: hidden隐藏元素,但元素仍然占据页面上的空间,即元素的尺寸和位置不会改变。display: none隐藏元素,并且元素不再占据页面上的空间,即元素的尺寸和位置都被移除。
因此,当你想要隐藏元素但仍然保留它的空间时,可以使用 visibility: hidden;当你想要完全从页面中移除元素时,可以使用 display: none。
CSS visibility 属性
block
block 属性值可以让行内元素以块级元素的方式显示在页面上。
inline
inline 属性值可以让像 div 这样的霸道块,接纳其他元素来自己的地盘。
inline-block
我们的块内元素和行内元素有其独特的优势,在某些情况下,我们想让一个元素既具有块内元素的特点,又具备行内元素的特点。这就要请出 inline-block 属性值来施展这个魔法了。
提示
比如,我们用 a 标签来实现导航的时候,a 标签虽然可以让元素在一行显示,但若我们想给每个 a 标签加上高和宽时发现没有任何效果。这时候用上 display: inline-block,它就具备块的特性了。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
a {
text-decoration: none;
background-color: rgb(95, 118, 160);
display: inline-block;
width: 70px;
height: 30px;
text-align: center;
}
</style>
</head>
<body>
<a href="#">首页</a>
<a href="#">分类</a>
<a href="#">展示</a>
<a href="#">更多</a>
</body>
</html>

none
none 属性值可以用来隐藏页面上的元素。
