CSS样式表
一、概述
1、CSS是什么 ?
层叠样式表,定制html元素的显示样式,美化页面,对于前端页面的搭建十分重要
2、为什么要使用CSS
(1)CSS 指层叠样式表 (Cascading Style Sheets)
(2)样式定义如何显示 HTML 元素
(3)样式通常存储在样式表中
(4)把样式添加到 HTML 中,是为了解决内容与表现分离的问题
(5)外部样式表可以极大提高工作效率
(6)外部样式表通常存储在 CSS 文件中
(7)多个样式定义可层叠为一个
HTML 标签原本被设计为用于定义文档内容。通过使用 <h1>
、<p>
、<table>
这样的标签,HTML 的初衷是表达“这是标题”、“这是段落”、“这是表格”之类的信息。同时文档布局由浏览器来完成,而不使用任何的格式化标签。
3、学习目标
熟悉,熟练使用常用的css样式属性,具备基本的页面美化能力。
二、初识CSS
1、第一个CSS样式
1 | <head> |
2、如何插入样式表
当读到一个样式表时,浏览器会根据它来格式化 HTML 文档。在HTML文档中插入样式表的方法有三种:
外部样式表
1
<link href="css/index.css" rel="stylesheet" type="text/css" />
内部样式表(位于
<head>
标签内部)1
2
3<style type="text/css">
</style>内联样式(在 HTML 元素内部)
1
2
3<p style="color: white;">
学习HTML好简单
</p>
样式表的优先级: 内联 > 内部 > 外部 > 缺省
3、基本语法
CSS 语法由三部分构成:选择器、属性和值:
1 | body{ background-color:red; } |
注意:多个样式之间用分号;隔开。
三、选择器种类
1、元素选择器
1 | p{ color:white; background-color:gray;} |
补充: div和span元素
- div 是一个块级元素 :
<div>
标签可以把文档分割为独立的、不同的部分。它可以用作严格的组织工具,并且不使用任何格式与其关联。
1 | <div> |
- span 标签被用来组合文档中的行内元素。
1 | <div> |
2、类选择器
类选择器可以为标有特定 class 的 HTML 元素指定特定的样式。可以用于区分不同的HTML元素。
类选择器以 “.” 来定义
HTML:
1 | <div class="div_1"> |
CSS:
1 | <style type="text/css"> |
3、id选择器
id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
id 选择器以 “#” 来定义。
HTML:
1 | <div id="div_1"> |
CSS:
1 | <style type="text/css"> |
id选择器与类选择器的区别:
4、派生选择器
派生选择器允许你根据文档的上下文关系来确定某个标签的样式。比如你希望div下的p标签的字体为蓝色:
HTML:
1 | <div> |
CSS:
1 | div p{ color: blue; } |
后代选择器-子代选择器
5、选择器继承
根据 CSS,子元素从父元素继承属性:
HTML:
1 | <div> |
CSS:
1 | div { color: blue;} |
6、选择器联合使用
同时对多个元素设置同一个样式:
1 | h1,h2,h3,h4,h5,h6 { |
div.div_1 div标签且类属性为div_1
7、伪类选择器
1 | /*未访问状态的样式*/ |
四、背景样式
1、背景颜色
可以使用 background-color 属性为元素设置背景色。
HTML:
1 | <div> |
CSS:
1 | div{background-color: gray; color: white;} |
2、背景图像
2.1 设置背景图像
要把图像放入背景,需要使用 background-image 属性。
1 | body{ background-image: url('lyf.jpg') } |
2.2 背景重复
background-repeat 属性设置是否及如何重复背景图像。
- repeat:重复
- no-repeat:不重复
- repeat-x:水平方向重复
- repeat-y:垂直方向重复
1 | div{ background-image: url('lyf.jpg'); background-repeat: no-repeat; } |
2.3 背景定位
以利用 background-position 属性改变图像在背景中的位置。
- top left
- top center
- top center
- center left
- center center
- center right
- bottom left
- bottom center
- bottom right
1 | div |
也可以使用百分比来设置图像的位置:
1 | background-position: 0% 10%; |
或者使用像素值来设置:
1 | background-position: 50px 50px; |
2.4 防止背景图像随着页面滚动
1 | background-attachment: fixed; |
五、文本样式
CSS 文本属性可定义文本的外观。
通过文本属性,可以改变文本的颜色、字符间距,对齐文 本,装饰文本,对文本进行缩进,等等。
1、文字颜色
使用属性color来指定文字颜色,其属性取值是CSS颜色。
CSS颜色表(RBG分别代表红绿蓝)
表示形式表示形式 | 说明 | 举例 |
---|---|---|
颜色名称 | 通过英文单词指定颜色 | red、green、blue |
HEX | 通过#RRGGBB或者#RGB的形式用十六进制表示颜色 | ff0000(同#f00)、#00ff00(同#0f0)、#0000ff(同#00f) |
RGB | 通过rgb(r,g,b)的形式用三个不大于255的数字表示颜色 | rgb(255,0,0),rgb(0,255,0),rgb(0,0,255) |
RGBA | RGB形式的扩展,第四个数字取值范围0~1表示透明度,0表示完全透明 | rgba(0,0,0,0.6)表示半透明黑色 |
2、文本缩进
CSS 提供了 text-indent 属性,该属性可以方便地实现文本缩进。
缩进可以使用下面三种值:
- em 长度单位,一般而言 1em = 16px
- px 像素
- % 百分比
1 | div{ text-indent: 5em; background-color: lightgray;} |
3、水平对齐
text-align 是一个基本的属性,它会影响一个元素中的文本行互相之间的对齐方式。
- left 左对齐
- center 居中
- right 右对齐
HTML:
1 | <ol> |
CSS:
1 | li.li_1 { text-align: left; } |
4、文本装饰
text-decoration 属性规定添加到文本的修饰,如加下划线、上划线、删除线等。
- none 无装饰
- underline 下划线
- overline 上划线
- line-through 删除线
去除链接中的下划线和颜色:
HTML:
1 | <a href="http://www.baidu.com">百度一下,你就知道</a> |
CSS:
1 | a { text-decoration: none; color: black;} |
添加下划线、删除线、上划线:
HTML:
1 | <p> |
CSS:
1 | p .s1{ text-decoration: underline; } |
5、行间距
1 | <p> |
1 | p{line-height: 130px;} |
六、字体样式
1、指定字体
指定字体: font-family
1 | p {font-family: sans-serif;} |
2、字体尺寸
font-size设置字体的尺寸:
1 | p{ font-size: 100px; } |
3、字体粗细
font-weight设置字体的粗细。
- normal 默认值。定义标准的字符。
bold 定义粗体字符。
bolder 定义更粗的字符。
lighter 定义更细的字符。 - 100-900 定义由粗到细的字符。400 等同于 normal,而 700 等同于 bold。
1 | p{ font-weight: 700; } |
4、字体样式简写
1 | p{ font: bolder 50px sans-serif; } |
七、框模型(盒子模型)
1、概述
CSS 框模型 (Box Model) 规定了元素框处理元素内容、内边距、边框 和 外边距 的方式。
- 元素框的最内部分是实际的内容,直接包围内容的是内边距。
- 内边距的边缘是边框。
- 边框以外是外边距。
2、内边距
元素的内边距在边框和内容区之间。控制该区域最简单的属性是 padding 属性。
2.1 padding属性
1 | p{padding:30px;width: 200px;height: 200px;background-color: lightgray;} |
可以按照上、右、下、左的顺序分别设置各边的内边距,各边均可以使用不同的单位或百分比值:
1 | p{padding:30px 0px 60px 0px;} |
2.2 单边内边距
- padding-top
- padding-right
- padding-bottom
- padding-left
3、边框
元素的边框 (border) 是围绕元素内容和内边距的一条或多条线。
3.1 边框样式
- dotted 点状边框
- dashed 虚线
- double 双线
- solid 实线
1 | p |
也可以设置单边框样式:
- border-top-style
- border-right-style
- border-bottom-style
- border-left-style
3.2 边框宽度
可以通过 border-width 属性为边框指定宽度。
1 | p |
3.3 边框颜色
1 | p |
3.4 边框简写
1 | p |
4、外边距
围绕在元素边框的空白区域是外边距。设置外边距会在元素外创建额外的“空白”。
设置外边距的最简单的方法就是使用 margin 属性,这个属性接受任何长度单位、百分数值甚至负值。
4.1 margin 属性
1 | <div> |
1 | <style type="text/css"> |
4.2 单边外边距属性
- margin-top
- margin-right
- margin-bottom
- margin-left
八、CSS定位
1、定位概述
2、相对定位
1 | div{ |
3、绝对定位
1 | div{ |
4、固定定位
1 | div a{ |