1.介绍及语法
1.1CSS概述:
CSS指层叠样式表
CSS样式表极大地提高了工作效率
如果值大于一个单词,需要加上引号(意思是值只有一个的时候可以不加引号)
1.2CSS高级语法
1.选择器分组
h1,h2,h3,h4,h5,h6{color:red;}
2.继承(需要子元素没有属于他自己的CSS样式)
body{
color:green;
}
2.派生选择器
2.1派生选择器:
通过依据元素在其位置的上下文关系来定义样式
css.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>css1</title>
<link rel="stylesheet" href="css.css" type="text/css">
</head>
<body>
<p><strong>p标签hello Css</strong></p>
<ul>
<li><strong>li标签:Hello Css</strong></li>
</ul>
</body>
</html>
css.css
strong{
color:blueviolet;
}
li strong{
color:red;
}
/*选择<li>标签下的<strong>标签*/
/*li strong{*/
/*color:red;*/
/*}*/
/*strong{*/
/*color:blueviolet;*/
/*}*/
/*简单来说,包括范围大的选择器优先级低于包括范围小的选择器。*/
3.id选择器
3.1id选择器:
id选择器可以为标有id的HTML元素指定特定的样式
id选择器以#来定义
3.2id选择器和派生选择器
目前比较常用的方式是 id选择器常常用于建立派生选择器(二者同时使用)。
css.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>css1</title>
<link rel="stylesheet" href="css.css" type="text/css">
</head>
<body>
<p id="pid">hello css <a href="http://www.baidu.com">百度</a></p>
<div id="divid">
我的css id测试
</div>
</body>
</html>
css.css
#pid a{
color:blueviolet;
}
/*更改id为pid的标签下的a标签的颜色,不会更改其他内容
以此类推可以得到很多id下的类或者标签或者id等派生选择器。
*/
#divid{
color:red;
}
4.类选择器
类选择器的使用方法和id选择器的使用方法基本一样
5.属性选择器
5.1属性选择器:
对带有指定属性的HTML元素设置样式
5.2属性和值选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>css1</title>
<style>
[title]{
color:blue;
}
[title=te]{
color:red;
}
</style>
</head>
<body>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
</body>
</html>
属性和值选择器在ie6以及更低版本不支持使用。
2.基本样式
2.1背景
属性 | 描述 |
background-attachment | 背景图像是否固定或者随这页面的其余部分滚动 |
background-color | 设置元素的背景颜色 |
background-image | 把图片设为背景 |
background-position | 设置背景图片的起始位置 |
background-repeat | 设置背景图片是否以及如何重复 |
background-size | 规定背景图片的尺寸 |
background-origin | 规定背景图片的定位区域(背景图片是相对于谁定位的) |
background-clip | 规定背景的绘制区域 |
单词表示位置法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>css1</title>
<style>
body{
background-image:url("bg.jpg");
background-repeat: no-repeat;
/*background-position: right center;*/
/*!*right center*/
/*left top*/
/*right bottom*组合!*/
}
</style>
</head>
<body>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
</body>
</html>
百分比(最好不要用数值,不能够及时响应,提前规定好容器的宽度就可以)表示法:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>css1</title>
<style>
body{
height:300px;
background-image:url("bg.jpg");
background-repeat: no-repeat;
background-position: 30% center;
/*这个属性跟容器的宽度好像没关系*/
/*background-position第一个值是图在容器中的水平位置在哪,
第二个属性设置的是图如何在div中显示,图片要在容器的垂直位置在哪*/
/*!*right center*/
/*left top*/
/*right bottom*组合!*/
/*background-size: 50% 100%;*/
/*这个属性可以实现将图片充满div
但是这个属性又会和position冲突,position是保持原图比例的*/
/*background-attachment: fixed;*/
/*设置了background-attachment: fixed这个属性之后图片会在浏览器窗口保持静止
不会随着网页滚动,很奇怪这个属性会导致background-position与body的height关系失效*/
}
</style>
</head>
<body>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p><p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
<p title="t">属性选择器</p>
<p title="te">属性和值选择器</p> <p title="t">属性选择器</p>
<p title="te">属性和值选择器</p>
</body>
</html>
2.2文本
2.2.1CSS文本
CSS文本属性可以改变文本颜色、字符间距、对齐文本、装饰文本、装饰文本、文本缩进
属性 | 描述 | 备注 | ||||||||||
color | 文本颜色 | |||||||||||
direction | 文本方向 | |||||||||||
line-height | 行高 | |||||||||||
letter-spacing | 字符间距 | |||||||||||
text-align | 对其元素中的文本 | left,center,right | ||||||||||
text-decoration | 向文本添加修饰 | |||||||||||
text-indent | 缩进元素中文本的首行 | 可以为负值,可与padding相互配合使用 | ||||||||||
text-transform | 元素中的字母 |
|
||||||||||
unicode-bidi | 设置文本方向 | |||||||||||
white-space | 元素中空白的处理方式 | |||||||||||
word-spacing | 字间距 |
象素px是我们在定义CSS中经常用到的尺寸大小单位,而em在国外网站中经常被使用,px和em之间究竟有什么区别和特点呢? ◆px像素(Pixel),相对长度单位。像素px是相对于显示器屏幕分辨率而言的。 ◆em是相对长度单位,相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。 |
css3文本效果:
text-shadow:向文本添加阴影
p{text-shadow: 100px 100px 2px #FFFF00} /*(其中的2px值是清晰度,数值越小越清晰)*/
word-wrap:规定文本的换行规则
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
p{
width:300px;
text-wrap:normal;
/*文本自动换行,如果是英文的话,不会给你自动拆分字母*/
}
</style>
</head>
<body>
<p>hello world haha aaa asldfkjassjfl hello world haha aaa asldfkjassjfl hello world haha
aaa asldfkjassjfl hello world haha aaa asldfkjassjfl </p>
</body>
</html>
2.3字体
属性 | 描述 |
font-family | 设置字体系列 |
font-size | 设置字体的尺寸 |
font-style | 设置字体风格 |
font-variant | 以小型大写字体或正常字体显示文本 |
font-weight | 设置字体的粗细 |
p{
font-size: 40px;
font-family: fantasy;
}
@font-face {
font-family: myfont;
src:url("");
}
/*使用上面这种方法自己定义系统不存在的字体*/
div{
font-family: myfont;
}
2.4链接
2.4.1CSS链接的四种状态
a:link 普通的、未被访问的链接
a:visited 用户已访问的链接
a:hover 鼠标指针位于链接的上方
a:active 链接被点击的时刻
通过使用text-decoration:none;可以去除掉链接的下划线
2.5列表
css列表属性允许你放置、改变列表标志,或者将图像作为列表项标志
属性 | 简单列表项 |
list-style | 列表项图像 |
list-style-image | 列表项图像(url("image.png")) |
list-style-position | 列表标志位置 |
list-style-type | 列表类型(点、圆、方块、数字(decimal)) |
ul li{
/*设置ul标签下的所有li标签属性*/
}
资源加载方面id和class有区别:
id是先找到结构、内容,再加载样式,class是先加载好样式,再找结构和内容
2.6表格
2.6.1CSS表格
2.6.2表格边框
table{
border:1px solid blue;
/*border-style:dotted solid double dashed;
上边框是点状
右边框是实线
下边框是双线
左边框是虚线*/
}
2.6.3折叠边框
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#tb,tr,td,th{
border:1px solid blue;
/*border-style:dotted solid double dashed;
上边框是点状
右边框是实线
下边框是双线
左边框是虚线*/
}
#tb{
border-collapse: collapse;
/*将表格内部细胞的边框合并;*/
}
</style>
</head>
<body>
<table id="tb">
<tr>
<th>表格1</th>
<th>表格2</th>
<th>表格3</th>
</tr>
<tr>
<td>表格4</td>
<td>表格5</td>
<td>表格6</td>
</tr>
<tr>
<td>表格7</td>
<td>表格8</td>
<td>表格9</td>
</tr>
</table>
</body>
</html>
2.6.4表格宽高
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#tb,tr,td,th{
border:1px solid blue;
/*border-style:dotted solid double dashed;
上边框是点状
右边框是实线
下边框是双线
左边框是虚线*/
text-align: center;
/*将表格内部内容水平居中*/
}
#tb{
height:400px;
width:400px;
border-collapse: collapse;
/*将表格内部细胞的边框合并;*/
}
</style>
</head>
<body>
<table id="tb">
<tr>
<th>表格1</th>
<th>表格2</th>
<th>表格3</th>
</tr>
<tr>
<td>表格4</td>
<td>表格5</td>
<td>表格6</td>
</tr>
<tr>
<td>表格7</td>
<td>表格8</td>
<td>表格9</td>
</tr>
</table>
</body>
</html>
2.6.5表格文本对齐
2.6.6表格内边距
2.6.7表格颜色
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#tb,tr,td,th{
border:1px solid blue;
/*border-style:dotted solid double dashed;
上边框是点状
右边框是实线
下边框是双线
左边框是虚线*/
text-align: center;
/*将表格内部内容水平居中*/
padding:10px;
/*这一项要要求tb的宽度和高度不能同时已经确定才可以使用
只修改那一项没有定下的那个方向的数值*/
}
#tb{
height:400px;
/*width:400px;*/
border-collapse: collapse;
/*将表格内部细胞的边框合并;*/
}
#tb tr.alt111{
color:black;
background-color: aqua;
}
/*设置id为tb的元素下的类为alt111的tr的style样式*/
</style>
</head>
<body>
<table id="tb">
<tr>
<th>表格1</th>
<th>表格2</th>
<th>表格3</th>
</tr>
<tr class="alt111">
<td>表格4</td>
<td>表格5</td>
<td>表格6</td>
</tr>
<tr>
<td>表格7</td>
<td>表格8</td>
<td>表格9</td>
</tr>
</table>
</body>
</html>
2.7轮廓
轮廓主要是用来突出元素的作用
属性 | 描述 |
outline | 设置轮廓属性 |
outline-color | 设置轮廓的颜色 |
outline-style | 设置轮廓的样式 |
outline-width | 设置轮廓的宽度 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>outline</title>
<style>
p{
/*outline-style: double;*/
/*双重实线*/
/*outline-style: groove;*/
/*加重实线*/
outline-style: dotted;
/*加重点线*/
}
</style>
</head>
<body>
<p>这是一段轮廓着重!</p>
</body>
</html>