本文转载自Thoughtworks学习平台的训练营的学习任务,仅供个人笔记回忆之用
1. CSS样式
1.1 font-family
在CSS中代表字体族,使用逗号可分隔字体族名称,字体初始值由浏览器设置决定,可继承,示例如下所示。
<!-- HTML -->
<h1>我是一级标题</h1>
<p>我是段落,我是段落,我是段落......</p>
<!-- CSS -->
<style>
h1 {
font-family: Helvetica, sans-serif;
}
body {
font-family: Georgia, serif;
}
</style>
- 字体匹配算法简介如下:
- 浏览器先获取一个系统字体列表
- 对于元素中每一个字符,使用 font-family 属性及其它属性进行匹配,如果能匹配就暂定该字体
- 如果步骤2没有匹配上,选择下一个可选的 font-family 执行步骤2
- 如果匹配到一个字体,但是字体中没有该字符,继续对下一个可选的 font-family 执行步骤2
- 如果还没有匹配到字体,使用浏览器默认字体
- 通用字体族
- Serif 衬线体:Georgia、宋体
- Sans-Serif 无衬线体:Arial、Helvetica、黑体、微软雅黑
- Cursive 手写体:Caflisch Script、楷体
- Fantasy 梦幻字体:Comic Sans MS, Papyrus, Zapfino
- Monospace 等宽字体:Consolas、Courier、中文字体
- 在使用font-family时,英文字体放在中文字体前面,最后总是添加通用字体族。
1.2 font-size
- 定义文字的大小,可使用px,百分比,em等作为单位
- 取值:
- 绝对值:xx-small | x-small | small | medium | large | x-large | xx-large
- 相对值:larger | smaller
- 长度
- 百分数,相对于父元素计算值
- 初始值为medium(有浏览器设置决定,一般为16px),可继承。
- 长度单位em:一般都是相对于元素的font-size计算值的,用在font-size属性上时,是相对于父元素的font-size计算值
1.3 font-style
定义文字是以倾斜体还是正常方式显示的。取值如下:
值 | 特点 |
---|---|
normal | 文本正常显示 |
italic | 文本斜体显示 |
oblique | 文本倾斜显示 |
初识值为normal,可继承
1.4 font-weight
定义文字的粗细程度
取值:normal | bold | bolder | lighter | 100 | 200 | ... | 900
初始值为 normal,可继承
1.5 line-height
定义元素所属的行所占的高度
初始值为normal(具体值由浏览器决定),可继承
取值:<长度> | <数字> | <百分比>
段落文字一般取值为1.4 ~ 1.8
font缩写:font的众多属性可以集中在一条属性中写,如:
h1 {
/* 斜体 粗细 大小/行高 字体族 */
font: bold 14px/1.7 Helvetica, sans-serif;
}
2. CSS文本
2.1 text-align:
定义文本在容器内的对齐方式
取值:left:左对齐 | right:右对齐 | center:居中 | justify:两端对齐
初始值由HTML的dir属性决定,可继承
2.2 letter-spacing:
定义指定字符之间的间距
取值:normal | <length>
初始值为normal,可继承
2.3 word-spacing:
定义指定单词之间的间距
取值:normal | <length>
初始值为normal,可以继承
2.4 text-indent:
定义指定文本缩进
取值:normal | <length> | <percentage>
初始值为0,可继承
2.5 text-decoration:
定义了文本的一些装饰效果,比如下划线、删除线等
初始值为none,可继承
其它值:underline(下划线) | line-through(删除线) | overline(上划线) | blink(文本闪烁)
2.6 white-space:
定义指定空白字符如何处理
取值:normal | nowrap | pre
2.7 word-break:
定义指定是否允许在单词中间换行
取值:normal | break-all | keep-all
3. CSS背景
3.1 background-color
背景色
默认值是 transparent
background-color 不能继承,其默认值是 transparent。transparent 有“透明”之意。也就是说,如果一个元素没有指定背景色,那么背景就是透明的,这样其祖先元素的背景才能可见。
3.2 background-image
背景图像
如果需要设置一个背景图像,必须为这个属性设置一个 URL 值:body {background-image: url(/i/eg_bg_04.gif);}
3.3 background-repeat
默认图像在水平垂直方向上都平铺
其他值:repeat-x 在水平方向重复 | repeat-y 在垂直方向重复 | no-repeat 则不允许图像在任何方向上平铺
3.4 background-position
背景定位
取值:top、bottom、left、right 和 center | 还可以使用长度值,如 100px 或 5cm,最后也可以使用百分数值
一般成对出现,单个时默认第二个值是center:
单一关键字 | 等价的关键字 |
---|---|
center | center |
top | top center 或 center top |
bottom | bottom center 或 center bottom |
right | right center 或 center right |
left | left center 或 center left |
3.5 background-attachment
背景关联,防止背景滚动
默认情况:如果文档比较长,那么当文档向下滚动时,背景图像也会随之滚动。当文档滚动到超过图像的位置时,图像就会消失。
取值:fixed 可以声明图像相对于可视区是固定的
4. CSS链接
链接的样式
链接的四种状态:
- a:link - 普通的、未被访问的链接
- a:visited - 用户已访问的链接
- a:hover - 鼠标指针位于链接的上方
- a:active - 链接被点击的时刻
a:link {color:#FF0000;} /* 未被访问的链接 */
a:visited {color:#00FF00;} /* 已被访问的链接 */
a:hover {color:#FF00FF;} /* 鼠标指针移动到链接上 */
a:active {color:#0000FF;} /* 正在被点击的链接 */
注意: 当为链接的不同状态设置样式时,请按照以下次序规则: a:hover 必须位于 a:link 和 a:visited 之后 a:active 必须位于 a:hover 之后
5. CSS表格
5.1 border
- 边框
- 使用:border:边框宽度 样式 颜色 例(border: 1px solid blue;)
- 样式:dotted | dashed | solid | double | groove | ridge | inset | outset
<style type="text/css">
p.dotted {border-style: dotted}
p.dashed {border-style: dashed}
p.solid {border-style: solid}
p.double {border-style: double}
p.groove {border-style: groove}
p.ridge {border-style: ridge}
p.inset {border-style: inset}
p.outset {border-style: outset}
</style>
<body>
<p class="dotted">A dotted border</p>
<p class="dashed">A dashed border</p>
<p class="solid">A solid border</p>
<p class="double">A double border</p>
<p class="groove">A groove border</p>
<p class="ridge">A ridge border</p>
<p class="inset">An inset border</p>
<p class="outset">An outset border</p>
</body>
image
5.2 border-collapse
- 折叠边框
- 默认值:separate 边框会被分开,不会忽略 border-spacing 和 empty-cells 属性。
- 其他值:collapse 边框会合并为一个单一的边框。会忽略 border-spacing 和 empty-cells 属性 | inherit 规定应该从父元素继承 border-collapse 属性的值
5.3 vertical-align
- 表格文本对齐
值 | 描述 |
---|---|
baseline | 默认。元素放置在父元素的基线上。 |
sub | 垂直对齐文本的下标。 |
super | 垂直对齐文本的上标 |
top | 把元素的顶端与行中最高元素的顶端对齐 |
text-top | 把元素的顶端与父元素字体的顶端对齐 |
middle | 把此元素放置在父元素的中部。 |
bottom | 把元素的顶端与行中最低的元素的顶端对齐。 |
text-bottom | 把元素的底端与父元素字体的底端对齐。 |
% | 使用 "line-height" 属性的百分比值来排列此元素。允许使用负值。 |
inherit | 规定应该从父元素继承 vertical-align 属性的值。 |
6. CSS轮廓
6.1 outline
- 轮廓是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用
- 可以按顺序设置如下属性:{outline:outline-color outline-style outline-width}
属性 | 描述 |
---|---|
outline | 在一个声明中设置所有的轮廓属性。 |
outline-color | 设置轮廓的颜色。 |
outline-style | 设置轮廓的样式。 |
outline-width | 设置轮廓的宽度。 |
网友评论