CSS 样式

本文将介绍 CSS 中的各种属性。

一、背景

1. background-color

(1) 定义

用于设定一个元素的背景颜色。

元素的背景是元素的总大小,包括填充和边界。

(2) 属性值

说明
color 指定背景颜色
transparent 指定背景颜色应该是透明的
inherit 从父元素继承背景颜色

(3) 语法

1
background-color: color|transparent|inherit;
  • 选择 color 时:可以填入颜色的名称,可以填入 RGB、HEX、HSL、RGBA、HSLA 值
  • 选择 transparent 时:背景将被设为透明色
  • 选择 inherit 时:将会继承父元素的背景颜色

2. background-image

(1) 定义

用于为元素设置背景图像。

(2) 属性值

说明
url(“URL”) 指向图像的链接
none 不显示背景图像
inherit 从父元素继承背景图像

(3) 语法

1
background-image: url("图像链接")|none|inherit;

(4) 注意

  • 默认情况下,图片会重复,以覆盖整个元素

  • 如果同时设置背景颜色和背景图像,浏览器会使用背景图像覆盖背景颜色

  • 可以同时设置多个背景图片,较前的图片将会盖住较后的图片

    1
    background-image:url("图像链接"), url("图像链接");

3. background-repeat

(1) 定义

用于设置图像是否重复,以及图像如何重复。

(2) 属性值

说明
repeat 默认。背景图像将在垂直方向和水平方向重复
repeat-x 背景图像将在水平方向重复
repeat-y 背景图像将在垂直方向重复
no-repeat 背景图像将仅显示一次
inherit 规定应该从父元素继承 background-repeat 属性的设置

(3) 语法

1
background-repeat:repeat|repeat-x|repeat-y|no-repeat|inherit;

4. background-position

(1) 定义

用于设置背景图像的起始位置。

需要把 background-attachment 属性设置为 "fixed",才能保证该属性在 Firefox 中正常工作。

(2) 属性值

说明
(top、left、right、bottom、center)两两组合 如果仅规定了一个关键词,那么第二个值将是”center”
(x% y%) 第一个值是水平位置,第二个值是垂直位置。左上角是 0% 0%。右下角是 100% 100%。如果仅规定了一个值,另一个值将是 50%。
(xpos ypos) 第一个值是水平位置,第二个值是垂直位置。单位是像素 (0px 0px) 或任何其他的 CSS 单位。如果仅规定了一个值,另一个值将是50%。可以混合使用 % 和 position 值。

(3) 语法

1
background-position:位置值;

(4) 实例

1
background-position:top left;

1
background-position:0% 0%; 

1
background-position:100px 30px;

5. background-size

(1) 定义

用于规定背景图像的尺寸。

(2) 属性值

说明
length 设置背景图像的高度和宽度。第一个值设置宽度,第二个值设置高度。如果只设置一个值,则第二个值会被设置为 “auto”
percentage 以父元素的百分比来设置背景图像的宽度和高度。第一个值设置宽度,第二个值设置高度。如果只设置一个值,则第二个值会被设置为 “auto”
cover 把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。背景图像的某些部分也许无法显示在背景定位区域中
contain 把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域

percentage:这里的百分比是父元素的百分比,而非图像的百分比

6. background-attachment

(1) 定义

设置背景图像是否固定或如何滚动。

(2) 属性值

说明
scroll 默认,背景图像随着页面的滚动而滚动
fixed 背景图像是固定的
inherit 指定background-attachment的设置应该从父元素继承
local 背景图片会随着元素内容的滚动而滚动。

7. background-origin 和 background-clip

(1) 定义

background-origin 指定背景图像从哪里开始绘制;

background-clip 指定背景图像从哪里开始显示。

(2) 属性值

说明
padding-box 背景图像相对于内边距框来定位
border-box 背景图像相对于边框盒来定位
content-box 背景图像相对于内容框来定位

盒子模型:

8.简写背景属性

可以将所有的背景图像属性合并填写,以减少代码量,使代码更加简洁。

例如:

1
background:red url("图像链接") no-repeat fixed;

二、颜色

1. opacity

(1) 定义

用于设置元素的不透明度。

利用 opacity 为元素的背景添加透明度时,其所有子元素都继承相同的透明度。

(2) 属性值

说明
value 规定不透明度,从 0.0 (完全透明)到 1.0(完全不透明)
inherit 从父元素继承

三、字体

1. font-style

(1) 定义

用于指定字体样式。

(2) 属性值

描述
normal 默认,标准字体
italic 斜体
oblique 倾斜,倾斜与斜体非常相似,但支持较少
inherit 从父元素继承

2. font-weight

(1) 定义

用于指定字体的粗细。

(2) 属性值

描述
normal 默认,定义标准的字符
bold 定义粗体字符
bolder 定义更粗的字符
lighter 定义更细的字符
数值 定义由细到粗的字符。数值为 100-900

3. font-size

(1) 定义

定义字体的大小。

(2) 属性值

说明 (索引中有详细介绍)
A(xx-small、x-small、small、medium、large、x-large、xx-large) 把字体的尺寸设置为不同的尺寸,从 xx-small 到 xx-large,默认为 medium
smaller 把 font-size 设置为比父元素更小的尺寸
larger 把 font-size 设置为比父元素更大的尺寸
length 把 font-size 设置为一个固定的值
% 把 font-size 设置为基于父元素的一个百分比值
inherit 从父元素继承

4. font-variant

(1) 定义

使所有字母显示为小型大写字母

(2) 语法

1
font-variant: small-caps;

5. font-family

(1) 定义

用于规定元素的字体系列。字体按优先级排序,浏览器将会依次尝试,使用它可以支持的第一个字体。

(2) 语法

1
font-family:"字体名1", 字体名2 ,..., 字体系列名;

6. @font-face

(1) 定义

指定一个包含在 Web 服务器上的字体,使用 font-face 可以允许网页使用用户计算机上未安装的字体。

(2) 语法

首先定义字体的名称,然后通过 url 指向字体文件,之后便可以使用这个字体了。

1
2
3
4
5
6
7
8
@font-face {
font-family: 字体名;
src: url(字体链接);
}

div {
font-family: 字体名;
}

(3) 说明

可以添加多个同名规则,分别指向不同样式的字体文件,以便在将字体设为不同样式时调用正确的字体。

1
2
3
4
5
6
7
8
9
10
11
@font-face {
font-family: 字体名;
src: url(字体链接2);
font-weight: bold;
}

@font-face {
font-family: 字体名;
src: url(字体链接3);
font-style: italic;
}

四、位置

1. clear

(1) 定义

用于指定段落的左侧或右侧不允许浮动的元素。

(2) 属性值

说明
none 默认,允许浮动元素出现在两侧
left 在左侧不允许浮动元素
right 在右侧不允许浮动元素
both 在左右两侧均不允许浮动元素
inherit 从父元素继承

2. cursor

(1) 定义

用于定义鼠标指针放在元素上时的光标形状。

(2) 属性值

说明
default 默认光标
url 自定义光标,需要给出图像路径。注释:请在此列表的末端始终定义一种普通的光标,以防没有由 URL 定义的可用光标。
auto 由浏览器设置
crosshair 光标呈现为十字线。
pointer 光标呈现为一只手,指示链接
move 此光标指示某对象可被移动
e-resize 此光标指示矩形框的边缘可被向右(东)移动
ne-resize 此光标指示矩形框的边缘可被向上及向右移动(北/东)
nw-resize 此光标指示矩形框的边缘可被向上及向左移动(北/西)
n-resize 此光标指示矩形框的边缘可被向上(北)移动
se-resize 此光标指示矩形框的边缘可被向下及向右移动(南/东)
sw-resize 此光标指示矩形框的边缘可被向下及向左移动(南/西)
s-resize 此光标指示矩形框的边缘可被向下移动(北/西)
w-resize 此光标指示矩形框的边缘可被向左移动(西)
text 此光标指示文本
wait 此光标指示程序正忙(通常是一只表或沙漏)
help 此光标指示可用的帮助(通常是一个问号或一个气球)

3. display

(1) 定义

用于规定元素应该生成的框的类型。

(2) 属性值

说明
inline 默认
block 此元素将显示为块级元素
content 盒子文本正常绘制,而围绕在盒子中的框并不会生成
flex 此元素将显示为弹性盒容器
grid 此元素将显示为栅格容器
inline-block 此元素将显示为行内块元素
inline-flex 此元素将显示为行内弹性盒容器
inline-grid 此元素将显示为行内栅格容器
inline-table 此元素会作为内联表格来显示(类似 ),表格前后没有换行符
list-item 此元素会作为列表显示
run-in 此元素会根据上下文作为块级元素或内联元素显示
table 此元素会作为块级表格来显示(类似 table元素),表格前后带有换行符
table-caption 此元素会作为一个表格标题显示(类似 caption 元素)
table-column-group 此元素会作为一个或多个列的分组来显示(类似 colgroup 元素)
table-header-group 此元素会作为一个或多个行的分组来显示(类似 thead 元素)
table-footer-group 此元素会作为一个或多个行的分组来显示(类似 tfoot 元素)
table-row-group 此元素会作为一个或多个行的分组来显示(类似 tbody 元素)
table-cell 此元素会作为一个表格单元格显示(类似 td 元素)
table-column 此元素会作为一个单元格列显示(类似 col 元素)
table-row 此元素会作为一个表格行显示(类似 tr 元素)
none 此元素不会被显示
initial 设置该属性为默认元素
inherit 从父元素继承 display 属性的值
  • 块级元素:总是从新行开始,并占据一整行,可以设置其宽和高以及外边距
  • 行内元素:仅占据所需的宽度,不能设置宽和高,仅能设置左右边距
  • 行内块元素:不会占据一行,能够设置宽高和边距

4. float

(1) 定义

定义元素在哪个方向浮动。

这个属性设计之初是为了实现 office 中文字环绕图片的效果。

为某个元素设置了此属性后,它将会浮动出去,其它元素将会忽略它并继续布局,而文本会绕开它。因此有了覆盖其它元素且被文本环绕的效果。

(2) 属性值

说明
none 默认,元素不浮动
left 元素向左浮动
right 元素向右浮动
inherit 从父元素继承

(3) 示例

默认情况
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
div.aaa {
background-color:red;
width: 100px;
height: 110px;
}
div.bbb {
background-color:blue;
width: 200px;
height: 100px;
}
div.ccc {
background-color:green;
width: 300px;
height: 100px;
}

<div class="aaa"></div>
<div class="bbb"></div>
<div class="ccc"></div>

元素浮动 覆盖其它元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
div.aaa {
background-color:red;
width: 100px;
height: 110px;
float: left;
}
div.bbb {
background-color:blue;
width: 200px;
height: 100px;
}
div.ccc {
background-color:green;
width: 300px;
height: 100px;
}

元素浮动 文字环绕

(4) 两列布局

1
2
3
4
5
6
7
8
左 {
width: 50%;
float: left;
}
右 {
width: 50%;
float: right;
}

若要设置内边距,应先用 box-sizing 设置元素尺寸的计算方法,防止因为元素过宽而换行。

1
2
3
4
5
6
7
8
9
10
11
12
左 {
width: 50%;
float: left;
pading: 内边距;
box-sizing: border-box;
}
右 {
width: 50%;
float: right;
pading: 内边距;
box-sizing: border-box;
}

(5) 三列布局

1
2
3
4
5
6
7
8
9
10
11
12
左 {
width: 33.33%;
float: left;
}
中 {
width: 33.33%;
float: left;
}
右 {
width: 33.33%;
float: right;
}

(6) 清除浮动

当容器的高度未指定,且容器内部内容有浮动时,容器的高度将无法自动深长,从而导致浮动溢出。因此,需要进行清除浮动的操作。

方法 1 带 clear 的空元素

在浮动元素之后增加一个空元素,并为其赋予 clear 属性。

方法 2 修改 overflow 属性

给浮动元素的容器添加 overflow:hidden;overflow:auto; ,即可清除内部浮动。

方法 3 为容器添加浮动

给浮动元素的容器也添加浮动属性,即可清除内部浮动。但需要注意,这样的方法将会影响布局。

方法 4 使用邻接元素处理

用浮动元素的之后的元素添加 clear:both; 属性。

方法 5 使用 :after 伪元素

增设一个 clearfix 类,为其添加 :after 伪元素选择器 ,在 clearfix 类之后添加一个隐藏的用于清除浮动的元素。

1
2
3
4
5
6
7
8
/*清除浮动*/
.clearfix:after {
visibility: hidden;
clear: both;
display: block;
content: ".";
height: 0;
}

此后,如果有某个元素需要清除浮动,只需要为其添加 clearfix 类即可。

5. overflow

(1) 定义

规定当内容溢出元素框时,如何处理。

(2) 属性值

说明
visible 默认值,内容不会被修剪,会呈现在元素框之外
hidden 内容会被修剪,并且其余内容是不可见的
scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容,既是没有溢出,也会加滚动条
auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容
inherit 从父元素继承 overflow 属性的值

6. position

(1) 定义

规定元素的定位类型。

(2) 属性值

说明
static 默认,没有定位,元素出现在正常的流中
absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定
fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定
relative 生成相对定位的元素,相对于其正常位置进行定位。因此,”left:20” 会向元素的 LEFT 位置添加 20 像素。
sticky 粘滞定位
  • static:元素只会出现在正常位置,为其指定的偏移量不会生效

  • absolute:首先需要有一个设置 position 的祖先,然后相对于这个祖先偏移

    子绝父相使用最多

  • fixed:元素会相对于浏览器偏移

  • relative:元素会相对于正常位置偏移

  • sticky:粘滞定位的元素依赖于用户的滚动,在 relative 和 fixed 中切换。当没有达到粘滞条件时,它像正常元素一样随着页面滚动而滚动,当达到粘滞条件后,它将会固定在浏览器窗口的某一个位置。

    粘滞条件由 top, right, bottom 或 left 加距离指定。也就是说,当页面滚动后,元素的位置即将超过该阈值时,元素将会转换为 fixed ,固定浏览器窗口中的阈值位置。

(3) 三列布局

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
祖先 {
position: relative;
}
左 {
position: absolute;
left: 0;
}
中 {
position: absolute;
left: 33.33%;
}
右 {
position: absolute;
left: 66.66%;
}

7. top、right、bottom 和 left

用于规定元素的位置。属性的值为元素的上|右|下|左边距到其包含块的上|右|下|左边距的距离。

如果 “position” 属性的值为 “static”,那么设置 “left” 属性不会产生任何效果。

8. clip

(1) 定义

用于剪裁绝对定位元素。

具体来说,clip 为元素设置了一个可见区域,元素仅在此区域内可见。

(2) 语法

1
clip:rect(top,right,bottom,left);

9. visivility

(1) 定义

用于规定元素是否可见。

(2) 属性值

说明
visible 默认,元素是可见的
hidden 元素是不可见的
collapse 当在表格元素中使用时,此值可删除一行或一列,但是它不会影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,会呈现为 “hidden”。
inherit 从父元素继承

浏览器对于 collapse 的支持不太好。

10. z-index

(1) 定义

用于设置元素的堆叠顺序。

(2) 属性值

说明
auto 默认,堆叠顺序与父元素相等
number 设置元素的堆叠顺序
inherit 从父元素继承
  • 若父元素也没有设置堆叠属性,则堆叠属性默认为 0
  • 数值越大,层数越高,数值小的将被覆盖
  • 数值可以为负

11. resize

(1) 定义

允许一个元素可由用户调整大小。

需要先通过 overflow 指定元素溢出时的处理方式,才能使用 risize 属性。

(2) 属性值

属性 说明
none 用户无法调整元素的尺寸
both 用户可调整元素的高度和宽度
horizontal 用户可调整元素的宽度
vertical 用户可调整元素的高度

(3) 示例

1
2
3
4
5
6
7
8
9
div {
border:2px solid;
padding:10px 40px;
width:366px;
resize:both;
overflow:auto;
}

<div>调整属性指定一个元素是否由用户可调整大小的</div>

五、元素

1. direction

(1) 定义

用于规定文本的方向。

需要配合 unicode-bidi 属性使用

direction 单独使用时,仅仅是类似于左右对齐的效果

(2) 属性值

描述
ltr 默认,文本方向从左到右
rtl 文本方向从右到左

2. letter-spacing 和 word-spacing

letter-spacing 用于定义字符间距。word-spacing 用于定义单词之间的间隙。

3. line-height

(1) 定义

用于设置行高。

4. text-align

(1) 定义

用于规定元素中文本的对齐方式。

(2) 属性值

描述
left 默认,左对齐
right 右对齐
center 居中
justify 两端对齐
inherit 从父元素继承

5. text-decoration

(1) 定义

用于规定文本的修饰。

(2) 属性值

描述
none 默认,不修饰
underline 定义文本下的一条线
overline 定义文本上的一条线
line-through 定义横穿文本的一条线
inherit 父元素继承

6. text-indent

规定文本块中的首行缩进。

允许为负,若为负,则会将第一行向左缩进。

7. text-overflow

(1) 定义

规定文本溢出应该如何处理。

(2) 属性值

描述
clip 修剪文本
ellipsis 显示省略符号来代表被修剪的文本
string 使用给定的字符串来代表被修剪的文本

8. text-shadow

为文本添加阴影。

9. text-transform

(1) 定义

用于控制文本的大小写。

(2) 属性值

描述
none 默认,不对文本做改变
capitalize 文本中的每个单词以大写字母开头
uppercase 全部转换为大写字母
lowercase 全部转换为小写字母
inherit 从父元素继承

10. unicode-bidi

(1) 定义

用于设置文本的方向,与 direction 配合使用。

(2) 属性值

描述
normal 默认,不使用附加的嵌入层面
embed 创建一个附加的嵌入层面
bidi-override 创建一个附加的嵌入层面。重新排序取决于 direction 属性

11. vertical-align

(1) 定义

用于设置元素的垂直对齐方式。

(2) 属性值

描述
baseline 默认,放置在父元素的基线上
sub 垂直对齐文本的下标
super 垂直对齐文本的上标
top 把元素的顶端与行中最高元素的顶端对齐
text-top 把元素的顶端与父元素字体的顶端对齐
middle 把此元素放置在父元素的中部
bottom 使元素及其后代元素的底部与整行的底部对齐
text-bottom 把元素的底端与父元素字体的底端对齐
length 将元素升高或降低指定的高度,可以是负数
% 使用 “line-height” 属性的百分比值来排列此元素。允许使用负值

12. white-space

(1) 定义

设置元素间空白的处理方式。

(2) 属性值

描述
normal 默认,空白会被浏览器忽略
pre 空白会被浏览器保留
nowrap 文本不会换行,文本会在在同一行上继续,直到遇到 br 标签为止。
pre-wrap 保留空白符序列,但是正常地进行换行
pre-line 合并空白符序列,但是保留换行符

13. word-break

用于指定非中日韩脚本的断行规则。

14. word-wrap

用于允许长单词换行。

六、多列

1. column-count

用于指定某个元素应该分为的列数。

元素会被自动拆分为指定列数。

2. column-width

设置列的宽度,当浏览器窗口无法容纳足够数量的列时,会自动减少列数,以保证列的宽度。

3. columns

(1) 定义

用于设置列宽和列数。

(2) 语法

1
columns: column-width column-count;

4. column-gap

用于定义列之间的间隙。

5. column-rule-color

用于设置列分隔线的颜色。

6. column-rule-style

(1) 定义

用于设置列分隔线的样式。

(2) 属性值

说明
none 定义无边框
hidden 与 “none” 相同。不过应用于表时除外,对于表,hidden 用于解决边框冲突
dotted 定义点状边框。在大多数浏览器中呈现为实线
dashed 定义虚线。在大多数浏览器中呈现为实线
solid 定义实线
double 定义双线。双线的宽度等于 border-width 的值
groove 定义 3D 凹槽边框,其效果取决于 border-color 的值
ridge 定义 3D 垄状边框,其效果取决于 border-color 的值
inset 定义 3D inset 边框,其效果取决于 border-color 的值
outset 定义 3D outset 边框,其效果取决于 border-color 的值
inherit 规定应该从父元素继承边框样式

7. column-rule-width

用于设置列分隔线的宽度。

8. column-rule

用于同时设置列分隔线的宽度、样式和颜色。

9. column-span

(1) 定义

用于指定某个元素是否横跨多列。

(2) 示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<style>
.newspaper{
column-count:3;
column-rule-width: 33px;
}
h1{
column-span:all;
}
</style>

<div class="newspaper">
<h1>一只特立独行的猪</h1>
 插队的时候,我喂过猪、也放过牛。假如没有人来管,这两种动物也完全知道该怎样生活。它们会自由自在地闲逛,饥则食渴则饮,春天来临时还要谈谈爱情;这样一来,它们的生活层次很低,完全乏善可陈。人来了以后,给它们的生活做出了安排:每一头牛和每一口猪的生活都有了主题。就它们中的大多数而言,这种生活主题是很悲惨的:前者的主题是干活,后者的主题是长肉。我不认为这有什么可抱怨的,因为我当时的生活也不见得丰富了多少,除了八个样板戏,也没有什么消遣。有极少数的猪和牛,它们的生活另有安排。以猪为例,种猪和母猪除了吃,还有别的事可干。就我所见,它们对这些安排也不大喜欢。种猪的任务是交配,换言之,我们的政策准许它当个花花公子。但是疲惫的种猪往往摆出一种肉猪(肉猪是阉过的)才有的正人君子架势,死活不肯跳到母猪背上去。母猪的任务是生崽儿,但有些母猪却要把猪崽儿吃掉。总的来说,人的安排使猪痛苦不堪。但它们还是接受了:猪总是猪啊。
  对生活做种种设置是人特有的品性。不光是设置动物,也设置自己。我们知道,在古希腊有个斯巴达,那里的生活被设置得了无生趣,其目的就是要使男人成为亡命战士,使女人成为生育机器,前者像些斗鸡,后者像些母猪。这两类动物是很特别的,但我以为,它们肯定不喜欢自己的生活。但不喜欢又能怎么样?人也好,动物也罢,都很难改变自己的命运。
  以下谈到的一只猪有些与众不同。我喂猪时,它已经有四五岁了,从名分上说,它是肉猪,但长得又黑又瘦,两眼炯炯有光。这家伙像山羊一样敏捷,一米高的猪栏一跳就过;它还能跳上猪圈的房顶,这一点又像是猫——所以它总是到处游逛,根本就不在圈里呆着。所有喂过猪的知青都把它当宠儿来对待,它也是我的宠儿——因为它只对知青好,容许他们走到三米之内,要是别的人,它早就跑了。它是公的,原本该劁掉。不过你去试试看,哪怕你把劁猪刀藏在身后,它也能嗅出来,朝你瞪大眼睛,噢噢地吼起来。我总是用细米糠熬的粥喂它,等它吃够了以后,才把糠对到野草里喂别的猪。其他猪看了嫉妒,一起嚷起来。这时候整个猪场一片鬼哭狼嚎,但我和它都不在乎。吃饱了以后,它就跳上房顶去晒太阳,或者模仿各种声音。它会学汽车响、拖拉机响,学得都很像;有时整天不见踪影,我估计它到附近的村寨里找母猪去了。我们这里也有母猪,都关在圈里,被过度的生育搞得走了形,又脏又臭,它对它们不感兴趣;村寨里的母猪好看一些。它有很多精彩的事迹,但我喂猪的时间短,知道得有限,索性就不写了。总而言之,所有喂过猪的知青都喜欢它,喜欢它特立独行的派头儿,还说它活得潇洒。但老乡们就不这么浪漫,他们说,这猪不正经。领导则痛恨它,这一点以后还要谈到。我对它则不止是喜欢——我尊敬它,常常不顾自己虚长十几岁这一现实,把它叫做“猪兄”。如前所述,这位猪兄会模仿各种声音。我想它也学过人说话,但没有学会——假如学会了,我们就可以做倾心之谈。但这不能怪它。人和猪的音色差得太远了。
  后来,猪兄学会了汽笛叫,这个本领给它招来了麻烦。我们那里有座糖厂,中午要鸣一次汽笛,让工人换班。我们队下地干活时,听见这次汽笛响就收工回来。我的猪兄每天上午十点钟总要跳到房上学汽笛,地里的人听见它叫就回来——这可比糖厂鸣笛早了一个半小时。坦白地说,这不能全怪猪兄,它毕竟不是锅炉,叫起来和汽笛还有些区别,但老乡们却硬说听不出来。领导上因此开了一个会,把它定成了破坏春耕的坏分子,要对它采取专政手段——会议的精神我已经知道了,但我不为它担忧——因为假如专政是指绳索和杀猪刀的话,那是一点门都没有的。以前的领导也不是没试过,一百人也这不住它。狗也没用:猪兄跑起来像颗鱼雷,能把狗撞出一丈开外。谁知这回是动了真格的,指导员带了二十几个人,手拿五四式手枪;副指导员带了十几人,手持看青的火枪,分两路在猪场外的空地上兜捕它。这就使我陷入了内心的矛盾:按我和它的交情,我该舞起两把杀猪刀冲出去,和它并肩战斗,但我又觉得这样做太过惊世骇俗——它毕竟是只猪啊;还有一个理由,我不敢对抗领导,我怀疑这才是问题之所在。总之,我在一边看着。猪兄的镇定使我佩服之极:它很冷静地躲在手枪和火枪的连线之内,任凭人喊狗咬,不离那条线。这样,拿手枪的人开火就会把拿火枪的打死,反之亦然;两头同时开火,两头都会被打死。至于它,因为目标小,多半没事。就这样连兜了几个圈子,它找到了一个空子,一头撞出去了;跑得潇洒之极。以后我在甘蔗地里还见过它一次,它长出了獠牙,还认识我,但已不容我走近了。这种冷淡使我痛心,但我也赞成它对心怀叵测的人保持距离。
  我已经四十岁了,除了这只猪,还没见过谁敢于如此无视对生活的设置。相反,我倒见过很多想要设置别人生活的人,还有对被设置的生活安之若素的人。因为这个原故,我一直怀念这只特立独行的猪。
</div>

10. column-fill

(1) 定义

规定应该如何填充列。

主流浏览器并不支持这一属性。

(2) 属性值

说明
auto 按顺序填充,不同列的长度和内容数量会不同
balance 平均填充

七、列表

1. list-style-image

(1) 定义

使用图像来作为列表项的标记。

(2) 语法

1
list-style-image:url(链接);

(3) 示例

2. list-style-position

(1) 定义

用于设置在何处防止列表项标记

(2) 属性值

描述
inside 列表项目标记放置在文本以内,且环绕文本根据标记对齐
outside 默认,保持标记位于文本的左侧。列表项目标记放置在文本以外,且环绕文本不根据标记对齐

(3) 示例

3. list-style-type

(1) 定义

用于设置列表项的标记。

(2) 属性值

描述
disc 实心圆
circle 空心圆
square 实心方块
decimal 阿拉伯数字
lower-roman 小写罗马数字
upper-roman 大写罗马数字
lower-alpha 小写英文字母
upper-alpha 大写英文字母
none 不使用项目符号
armenian 传统的亚美尼亚数字
cjk-ideographic 浅白的表意数字
georgian 传统的乔治数字
lower-greek 基本的希腊小写字母
hebrew 传统的希伯莱数字
hiragana 日文平假名字符
hiragana-iroha 日文平假名序号
katakana 日文片假名字符
katakana-iroha 日文片假名序号
lower-latin 小写拉丁字母
upper-latin 大写拉丁字母

3. list-style

用于简写列表属性,按照 type、position、image 设置。

八、表格

1. border-collapse

(1) 定义

用于设置表格的边框是否合并为一个单一的边框。

(2) 属性值

说明
collapse 如果可能,边框会合并为一个单一的边框。会忽略 border-spacing 和 empty-cells 属性
separate 默认值,边框会被分开。不会忽略 border-spacing 和 empty-cells 属性

(3) 示例

collapse

separate

2. border-spacing

(1) 定义

用于设置相邻单元格的边框之间的距离。

(2) 说明

  • 使用 px、cm 等单位
  • 不允许使用负值
  • 如果定义一个 length 参数,那么定义的是水平和垂直间距。
  • 如果定义两个 length 参数,那么第一个设置水平间距,而第二个设置垂直间距

3. caption-side

(1) 定义

设置表格标题的位置。

(2) 属性值

说明
top 默认,把表格标题定位在表格之上
bottom 把表格标题定位在表格之下

4. empty-cells

(1) 定义

用于设置是否显示表格中的空单元格。

(2) 属性值

说明
hide 不在空单元格周围绘制边框
show 默认,在空单元格周围绘制边框

5. table-layout

(1) 定义

用于为表设置布局样式(列宽如何决定)。

(2) 属性值

说明
automatic 默认,列宽度由单元格内容设定
fixed 列宽由表格宽度和列宽度设定

参考