1 温习知识
概念:层叠样式表或者叫级联样式表
内嵌式写法:
<head>
<style type=”text/css”></style>
</head>
语法:
选择器{属性:值; }
属性 | 赋值 | 描述 |
Color | Color:red; | 文字颜色 |
Font-size | Font-size:20px; | 文字大小 |
Font-family | Font-family:宋体; | 文字字体 |
Font-weight | Font-weight:bold(700) | normal | 文字加粗 |
Font-style | Font-style:italic | normal | 文字斜体(italic) |
Background-color | Background-color:red; | 背景颜色 |
Width| height | Width: 12px; | 宽度和高度 |
Text-align | Text-align:center; | 文字居中 |
Text-indent | Text-indent:2em; | 首行缩进 |
Margin | Margin: 0 auto; | 盒子居中显示 |
1.1 基础选择器
◆标签选择器
P{属性:值;}
◆类选择器
定义:
.fontcolor{color:red;}
调用:
<p class=”fontcolor”>文字</p>
特点:
◆谁调用谁改变
◆一个标签可以同时调用多个类样式
◆多个标签可以同时调用一个类样式
命名:
◆不推荐使用汉字定义类名
◆不推荐使用标签名或者属性名定义类名
◆不能使用纯数字或者特殊字符(“_”除外)定义类名
◆id选择器
定义:
#自定义名称{属性:值;}
标签通过 id=”自定义名称”
注意:
页面中的表id名称不能重复。
同一个标签不能调用多个id样式
◆通配符选择器
*{属性:值;}
1.2 复合选择器
◆标签指定式选择器
P.类选择器{属性:值;}
既。。。又。。。。
◆后代选择器
选择器 选择器{属性:值;}
标签之间的关系属于嵌套关系。
◆并集选择器
选择器,选择器,选择器{属性:值;}
注意:
标签之间不一定是并列关系!!!!!
2 Css书写位置介绍
2.1 内嵌式写法
2.2 外联式写法
<link rel=”stylesheet” href=””>
☞新建一个文件,后缀名以.css命名(css文件)
☞在html页面中通过
<link rel=”stylesheet” href=””> 标签将css文件引入
2.3 行内式写法
☞通过给标签设置style属性来设置样式。
2.4 Css书写方式之间的区别
☞内嵌式写法:
◆代码可维护性较差,没有实现css代码与html结构的完全分离
◆影响的范围只有当前页面
☞行内是写法:
◆代码可维护性极差,css代码和html结构没有实现分离
◆影响的范围只有当前标签
☞外联式写法:
◆代码可维护性高,css与html结构完全分离
◆影响范围广,当前整个网页站点。
3 Html标签的分类
显示方式不同进行的分类。
3.1 块级元素
典型代表:
div,p,li,h1...
特点:
☞元素自己独占一行显示(与宽度无关)
☞可以设置宽度和高度
☞当嵌套一个块级元素,子元素如果不设置宽度,那么该子元素的宽度为父元素的宽度。
3.2 行内元素
典型代表:
Span, a, font, strong...
特点:
☞元素在一行上显示 ☞不能直接设置宽度和高度
3.3 行内块元素
典型代表:
Image, input(表单控件)
特点:
☞元素在一行上显示
☞可以设置宽度和高度
3.4 元素之间的转换
Display: inline 将元素转化为行内元素
Display:inline-block 将元素转化行内块元素
Display: block 将元素转化为块元素
补充:
根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为“block”,成为“块级”元素(block-level);而span元素的默认display属性值为“inline”,称为“行内”元素。
div这样的块级元素,就会自动占据一定矩形空间,可以通过设置高度、宽度、内外边距等属性,来调整的这个矩形的样子;与之相反,像“span”“a”这样的行内元素,则没有自己的独立空间,它是依附于其他块级元素存在的,因此,对行内元素设置高度、宽度、内外边距等属性,都是无效的。
内联元素(行内元素)内联元素(inline element)
* a - 锚点
* abbr - 缩写
* acronym - 首字
* b - 粗体(不推荐)
* bdo - bidi override
* big - 大字体
* br - 换行
* cite - 引用
* code - 计算机代码(在引用源码的时候需要)
* dfn - 定义字段
* em - 强调
* font - 字体设定(不推荐)
* i - 斜体
* img - 图片
* input - 输入框
* kbd - 定义键盘文本
* label - 表格标签
* q - 短引用
* s - 中划线(不推荐)
* samp - 定义范例计算机代码
* select - 项目选择
* small - 小字体文本
* span - 常用内联容器,定义文本内区块
* strike - 中划线
* strong - 粗体强调
* sub - 下标
* sup - 上标
* textarea - 多行文本输入框
* tt - 电传文本
* u - 下划线
* var - 定义变量
* address - 地址
* blockquote - 块引用
* center - 举中对齐块
* dir - 目录列表
* div - 常用块级容易,也是css layout的主要标签
* dl - 定义列表
* fieldset - form控制组
* form - 交互表单
* h1 - 大标题
* h2 - 副标题
* h3 - 3级标题
* h4 - 4级标题
* h5 - 5级标题
* h6 - 6级标题
* hr - 水平分隔线
* isindex - input prompt
* menu - 菜单列表
* noframes - frames可选内容,(对于不支持frame的浏览器显示此区块内容
* noscript - )可选脚本内容(对于不支持script的浏览器显示此内容)
* ol - 排序表单
* p - 段落
* pre - 格式化文本
* table - 表格
* ul - 非排序列表
可变元素
可变元素为根据上下文语境决定该元素为块元素或者内联元素。
* applet - Java applet
* button - 按钮
* del - 删除文本
* iframe - inline frame
* ins - 插入的文本
* map - 图片区块(map)
* object - object对象
* script - 客户端脚本
4 Css特性
4.1 层叠性
样式的覆盖。样式的层叠性与样式的调用顺序没有关系,与样式的定义顺序有关。
层叠性发生的前提:样式冲突
4.2 继承性
继承性发生的前提是标签之间属于一种嵌套关系
☞文字颜色可以实现继承
☞文字大小可以实现继承
☞字体可以实现继承
☞行高可以实现继承 与文字有关的属性都可以实现继承
特殊性:
<a href=”#”></a> 不能继承父元素中的文字颜色(层叠掉了)
<h1></h1> 标题标签不能继承父元素中的文字大小
4.3 优先级
默认样式<标签选择器<类选择器<id选择器<行内样式<!important
0 1 10 100 1000 1000以上
4.3.1 优先级的特点
继承的权重为0
4.3.2 权重会叠加
5 伪类介绍
超链接默认状态下的样式
a{}与a:link{}实现的效果是一样的
a:link{
属性:值;
}
超链接访问过后的样式
a:visited{
属性:值;
}
鼠标放到超链接上的样式
a:hover{
}
超链接激活状态下的样式
a:active{
}
获取焦点(光标)的时候的样式
:focus{
}
text-decoration 文本-装饰线 | None|underline|line-through |
|
|
|
|
|
|
|
|
|
|
6 背景(background)
6.1 Background-color
背景颜色
6.2 background-image (背景图片)
注意:设置背景图片的时候一定要设置宽度和高度
6.3 background-repeat (设置背景平铺)
repeat(默认值)
no-repeat (不平铺)
repeat-x | (横向平铺)
repeat-y (纵向平铺)
6.4 background-position (设置背景位置)
☞设置具体值: left| right| top| bottom| cneter
设置具体值的时候不区分先后顺序
设置具体数字的时候,第一个值代表水平方向,第二个值代表垂直方向
6.5 background-attachment (设置背景是否固定)
Scroll(默认值)滚动
fixed (图片固定)
属性联写:
没有数量限制和先后顺序限制 先设置高宽度
例如:
background:url("1.png") red no-repeat 30px 40px;
背景:图片相对位置 30px*40px那个框背景红色 不平铺 宽 高 各 30px 40px