1、CSS基础
CSS概述
CSS(Cascading style sheets 层叠样式表)是为了将网页的内容和样式相分离,便于修改网页的样式。
主要分为行内样式、内嵌样式和列表样式三种类型。
- 行内样式:将属性直接添加到当前需要添加样式的标签内部【当前样式只对当前标签有效】
- 内嵌样式:将CSS代码内嵌到当前页面的head标签部分 【当前样式只对当前页面的有效】
- 即使有公共的CSS代码,也是每个页面都要定义的
- 适合文件很少,CSS代码也不多的情况
- 链接样式:使用单独的样式表文件来添加样式 【文件后缀为 .css 】
<link rel="stylesheet" href="文件的位置">
- 只需在 head 标签添加 link 标签即可引用
- 实现了将页面结构 HTML 与样式 CSS 代码完全分离;
- 维护方便(如果需要改变网站风格,只需改动公共 CSS 文件)
*可以在同一个 HTML 文档内部引用多个外部样式表
这里是引用样式之间的优先级:
1、多重样式可以层叠,可以覆盖
2、样式的优先级按照“就近原则”
3、行内样式 > 内嵌样式 > 链接样式 > 浏览器默认样式
文本样式
1、单位
单位 | 描述 |
---|---|
px | 像素 |
em | 字符(自动适应用户所使用的字体) |
% | 百分比 |
2、颜色
颜色 | 描述 |
---|---|
red 、blue 、green 、… | 颜色名 |
rgb(x,x,x) | RGB值(0-255) |
rgb(x%,x%,x%) | RGB百分比值(0%-100%) |
rgba(x,x,x,x) | RGB值,透明度(0.0【完全透明】-1.0【不透明】) |
#rrggbb | 十六进制数 |
3、文本
属性 | 描述 | 取值 |
---|---|---|
color | 文本颜色 | red 、#F00 、rgb(255,0,0) |
letter-spacing | 字符间距 | 2px 、-3px |
line-height | 行高 | 14px 、1.5em 、120% |
text-align | 对齐 | center 、left 、right 、justify |
text-decoration | 装饰线 | none 、overline 、underline 、line-through |
text-indent|首行缩进| 2em` |
line-height
【行高可应用于垂直居中】
text-decoration:none
【可用于删去超链接的下划线】
4、字体
属性 | 描述 | 举例 |
---|---|---|
font | 在一个声明中设置所有的字体属性 | font:bold 18px '宋体' |
font-family | 字体系列 | font-family:"Microsoft YaHei"; |
font-size | 字号 | 14px 、120% 、pt (表示磅值) |
font-style | 斜体 | italic |
font-weight | 粗体 | bold |
1、
font:斜体 粗体 字号/行高 字体
2、网页安全字体:font-family:"Hiragino Sans GB","Microsoft YaHei",sans-serif;
【定义多种字体,可进行选择,第一种有就用第一种,没有就看下一种有没有……以此类推】
背景样式
属性 | 描述 |
---|---|
background-color | 背景颜色 |
background-image | 背景图片 url("logo.jpg") |
background-repeat | 背景图片的填充方式 |
background | 顺序:颜色 图片 repeat |
1、背景图片显示时会覆盖背景颜色
2、background-repeat
的值
值 描述 repeat
棋盘式 repeat-x
水平填充 repeat-y
垂直填充 no-repeat
不填充
列表样式
属性 | 描述 |
---|---|
list-style | 所有用于列表的属性设置于一个声明中 |
list-style-image | 为列表项标志设置图像 url("图像的位置") |
list-style-position | 标志的位置【inside /outside 】 |
list-style-type | 标志的类型 |
list-style-type
的值
- 无序列表
ul
描述 none` disc` circle` square` - 有序列表
ol
描述 decimal` lower-roman` upper-roman` lower-alpha` upper-alpha` lower-Greek` lower-latin` upper-latin`
2、选择器
选择器类型
1 标签选择器
和标签同名的选择器
例:
<style>
body{
/*此处插入内容*/
}
h1{
/*此处插入内容*/
}
p{
/*此处插入内容*/
}
</style>
2 类别选择器
在需要定义的标签内采用class
属性来进行类别样式的引用
<head>
<meta charset="UTF-8">
<title>example</title>
<style>
.one{
/*此处插入内容*/
}
.two{
/*此处插入内容*/
}
</style>
</head>
<body>
<p class="one">类别1</p>
<p class="two">类别2</p>
</body>
3 ID选择器
在需要定义的标签内采用id
属性来进行类别样式的引用
(具有唯一性,只能在一个元素上显示)
<head>
<meta charset="UTF-8">
<title>example</title>
<style>
#one{
/*此处插入内容*/
}
#two{
/*此处插入内容*/
}
</style>
</head>
<body>
<p id="one">文字1</p>
<p id="two">文字2</p>
</body>
4 伪类选择器
:
伪类选择器
样例:超链接
超链接的状态 | 描述 |
---|---|
a:link | 普通的、未被访问的链接 |
a:visited | 用户已访问的链接 |
a:hover | 鼠标指针位于链接的上方悬停 |
a:active | 链接被点击的时刻 |
注意:
1、a:hover
必须位于a:link
和a:visited
之后
2、a:active
必须位于a:hover
之后
5 选择器组
【后代节点:B是A的子节点或间接的子节点】
【兄弟节点:AB具有相同的父节点】
名称 | 组合选择器 | 含义 |
---|---|---|
选择器组 | A,B | 匹配满足A或者B的任意元素 |
后代选择器 | A B | 匹配B元素,B是A的后代节点 |
子选择器 | A>B | 匹配B元素,B是A的直接子节点 |
相邻兄弟选择器 | A+B | 匹配B元素,B是A的下一个兄弟节点 |
通用兄弟选择器 | A~B | 匹配B元素,B是A之后的任意一个兄弟节点 |
3、盒子模型
页面上的所有元素( 区域、图片、导航、列表、段落 )都可以是盒子,占据着一定的页面空间
盒子模型的组成
内容 | content |
外边距 | padding |
边框 | border |
外边框 | margin |
1 每个样式属性都有方向,排序为上、右、下、左
2 实际宽度、高度:width ( content ) + padding + border + margin
3 padding
和margin
显示情况 | 排序 |
---|---|
显示四个值时 | 上 右 下 左 |
显示两个值时 | 上/下 左/右 (即上与下值相同,左与右值相同) |
显示值为三个时 | 上 右/左 下(即左与右值相同) |
- 若上与下值相同,左与右值不同,还是老老实实写四个吧,这个没有省略写法 :)
4 ·margin的合并:垂直方向合并(采取外边距高的那个作为两边之间的距离),水平方向上不合并;
5 margin:0 auto;
可以进行盒子的水平居中
6 border
边框
属性 | 描述 |
---|---|
border-width | px (像素)、thin 、medium 、thick |
border-style | dashed 、dotted 、solid 、double |
border-color | 颜色 |
border | border:width style color |
7 border
边框用于制作水平分割线
<style>
.line{
height:1px;
width:500px;
border-top: 1px solid #e5e5e5;
}
</style>
8 overflow
属性【当内容盒子框时,内容的处理方法】
值 | 描述 |
---|---|
hidden | 超出部分不可见 |
scroll | 显示滚动条 |
auto | 如果有超出部分,显示滚动条 |
9 div
标签的盒子模型会自动换行,每一个独占一行;
10 常用语句段:对浏览器默认的设置清零【只有当属性值为零时才可以没有单位】
<style>
*{
margin:0;
padding:0;
}
</style>