CSS:页面控制
CSS(Cascading Style Sheets) 层叠样式表,CSS是一种用来表现HTML或XML等文件样式的计算机语言,它可以静态地修饰网页,将网页内容和显示样式进行分离,方便了使用多个样式对同一个html的元素进行修饰,提高了后期样式代码的可维护性,并增强了网页的显示效果功能。同时还可以配合各种脚本语言动态地对网页各元素进行格式化。
CSS的优点:
1. 样式定义多样
CSS提供了丰富的文档样式外观,以及设置文本和背景属性的能力;允许为任何元素创建边框,以及元素边框与其他元素间的距离,以及元素边框与元素内容间的距离;允许随意改变文本的大小写方式、修饰方式以及其他页面效果。
2. 易于使用和修改
CSS可以将样式定义在HTML元素的style属性中,也可以将其定义在HTML文档的header部分,也可以将样式声明在一个专门的CSS文件中,以供HTML页面引用。总之,CSS样式表可以将所有的样式声明统一存放,进行统一管理。
3. 可以压缩页面
在使用HTML定义页面效果的网站中,往往需要大量或重复的HTML标签,使页面文件的大小增加。而将样式的声明单独放到CSS样式表中,可以大大的减小页面的体积,这样在加载页面时使用的时间也会大大的减少。
4. 将内容展示和样式控制分离
降低耦合度,在工作过程中将内容和样式分开让分工协作更容易,进而提高开发效率。
5. 多页面应用
CSS样式表可以单独存放在一个CSS文件中,这样我们就可以在多个页面中使用同一个CSS样式表。CSS样式表理论上不属于任何页面文件,在任何页面文件中都可以将其引用。这样就可以实现多个页面风格的统一。
CSS的基本使用:
1. CSS与html结合方式
- 内联样式:在标签内部使用的方式,我们可以利用标签中style属性来改变每个标签的显示样式。这种方式比较灵活,可以单独控制某个元素样式,但是当相同标签比较多时会比较麻烦,适合局部修改 。
<!-- 内联样式 -->
<div style="color:red;"> hello </div>
- 内部样式:在head标签内定义style标签,style标签的标签体内容就是css代码,该方式的作用范围是整个页面,可以对页面中的标签进行统一设置,但是对单个标签不够灵活。
...
<style type="text/css">
div {color:blue;}
</style>
</head>
<div>hello</div>
- 外部样式:在使用外部样式时,首先我们应该先创建一个外部的.css文件,并在.css文件中进行添加相应的属性配置。
使用外部的css文件有两种方式:导入式、链接式
导入式:在style标签中,使用@import导入对应路径的css文件
<style type="text/css">
@import "css/a.css";
</style>
</head>
<div>hello</div>
链接式:在head标签内,定义link标签,引入外部的资源文件
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="css/a.css"><!--rel:当前页面与href所指定文档的关系||href:css文件地址-->
</head>
<div>hello</div>
link和@import方式是有一定区别的:其中link所有浏览器都支持,@import某些版本低的IE不支持,而且@import是等待html加载完成才加载,其中不支持js动态修改,而link是解析到这个语句,就已经加载了。在上面的方式中,我们可以看出,它们的作用范围是不同的,而在我们的开发过程中主要使用后两种方式。
css的常用语法:
* 格式:
选择器 {
属性名1:属性值1;
属性名2:属性值2;
...
}
* 选择器:筛选具有相似特征的元素
* 注意:
* 每一对属性需要使用;隔开,最后一对属性可以不加;
CSS中的选择器
1. 选择器的作用: 筛选具有相似特征的元素
2. 选择器的分类:
2.1基础选择器
- 1. id选择器:选择具体的id属性值的元素.建议在一个html页面中id值唯一
语法:#id属性值{}
- 2. 元素选择器:选择具有相同标签名称的元素
语法:标签名称{}
注意:id选择器优先级高于元素选择器 - 3. 类选择器:选择具有相同的class属性值的元素。
语法:.class属性值{}
注意:类选择器选择器优先级高于元素选择器
2.2 扩展选择器
- 1. 选择所有元素:
语法:*{}
- 2. 并集选择器:
语法:选择器1,选择器2{}
- 3. 子选择器:筛选选择器1元素下的选择器2元素
语法:选择器1 选择器2{}
- 4. 父选择器:筛选选择器2的父元素选择器1
语法:选择器1 > 选择器2{}
- 5. 属性选择器:选择元素名称,属性名=属性值的元素
语法:元素名称[属性名="属性值"]{}
- 6. 伪类选择器:选择一些元素具有的状态
语法:元素:状态{}
状态:link:初始化的状态
、visited:被访问过的状态
、active:正在访问状态
、hover:鼠标悬浮状
CSS的常用属性
- 1. 字体属性
.font-size:设置字体大小
.font-family:设置文字的字体,常见的值为 :黑体,宋体,楷体等
.font-style:规定斜体字,常见的值:
normal - 文本正常显示
italic - 文本斜体显示 字体斜体
oblique - 文本倾斜显示 变形斜体
.font-weight 属性设置文本的粗细。关键字 100 ~ 900 为字体指定了 9 级加粗度。
100 对应最细的字体变形,900 对应最粗的字体变形。
数字 400 等价于 normal,而 700 等价于 bold。
font:italic bold 30px "幼圆","黑体"; /*style weight size family swsf*/
- 2. 文本属性
.color:设置文本颜色
.text-indent:缩进元素中文本的首行,取值类型如下:
text-indent:5em;表示此段落第一行缩进5个字符的宽度
text-indent:20%:表示此段落第一行缩进父容器宽度的百分之二十
.text-decoration:
none:会关闭原本应用到一个元素上的所有装饰
underline: 添加下划线
overline:在文本的顶端画一个上划线
line-through:在文本中间画一个贯穿线
blink:让文本闪烁(无效果)
.text-align:一个元素中的文本行互相之间的对齐方式,值有left(左对齐)、right(右对齐) 和 center(居中)
.word-spacing: 字符之间的间隔
.letter-spacing: 单词或者字母之间的间隔
.line-height:设置行高 line-height:25px;
- 3. 背景属性:
.background-color:设置背景颜色,默认透明
.background-image:url("图片路径"):设置背景图片
.background-repeat:repeat-y:只在垂直方向都平铺
repeat-x:只在水平方向都平铺
repeat:在水平垂直方向都平铺
no-repeat:任何方向都不平铺
.background-position: 改变图像在背景中的位置。top、bottom、left、right 和 center
- 4. 列表属性:
.list-style-type:decimal;改变列表的标志类型
.list-style-image: url("images/dog.gif");用图像表示标志
.list-style-position: inside;确定标志出现在列表项内容之外还是内容内部
list-style: decimal url(img/001.png) inside;
去掉样式:
list-style:none;
list-style-type:none;
- 5. 轮廓属性:
.width:设置元素的宽度
.height:设置元素的高度
显示属性(display)
.display: none 不显示
block:块级显示
inline:行级显示
inline-block:行级块
轮廓(outline)
绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。
常用属性:
.outline-style:solid(实线)/dotted(虚线)/dashed(虚线,虚线的每段较长)/double(框为空心);设置轮廓的样outline-color:red;设置轮廓的颜色
.outline-width:10px设置轮廓的宽度
- 6. 浮动属性:
浮动(float)的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
- 7. clear属性
.left 在左侧不允许浮动元素。
.right 在右侧不允许浮动元素。
.both 在左右两侧均不允许浮动元素。
.none 默认值。允许浮动元素出现在两侧。
.inherit 规定应该从父元素继承 clear 属性的值。
- 8. 定位属性
.静态定位(默认定位方式)static
.相对定位(relative)
元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留
.绝对定位(absolute)
元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框.
.固定定位(fixed)
元素框的表现类似于将 position 设置为 fixed,不过其包含块是视窗本身。
- 9. 边框属性
.border-style:边框样式,值有以下情况:
solid:实线
double:空心线
dashed:虚线组成的边框
dotted:圆点组成的边框
.border-color:边框颜色
.border-width:边框宽度
.border: 1px solid red;
- 10. 外边距属性
.margin:外间距,边框和边框外层的元素的距离
.margin:四个方向的距离(top right bottom left)
.margin-top:
.margin-bottom:
.margin-left:
.margin-right:
- 11. 内边距属性
.padding:内间距,元素内容和边框之间的距离((top right bottom left))
.padding-left:
.padding-right:
.padding-top:
.padding-bottom: