层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
1990年,Tim Berners-Lee和Robert Cailliau共同发明了Web。1994年,Web真正走出实验室。
web项目开发中css的位置
css主要一般都是由前端开发工程师,或者UI设计师完成的.
w3c标准-----万维网联盟,
结构标准: html
外观标准: css
动作标准: javascript
css的基本使用
css在使用过程中,主要就是嵌套进网页中进行使用的.使用过程中,一般有三种引入方式:
行内样式
主要在开始标签中, 通过style属性来编写样式.在工作中,行内样式是使用频率最少的.
一般都是将来通过来javascript来控制的样式才会使用行内样式.
内部样式
主要通过在head的内部子标签style标签中编写css样式.
在开发中,内样样式主要都是编写在html网页内部,但是开发中一个web项目往往由多个html网页组成.
外部样式
主要是在css文件中编写css样式, 然后在head的子标签link标签的href属性中指定css路径引入到网页中进行“导包”使用.
创建html网页,编写代码:
创建css文件,例如,上面所说的,index.css,保存当前网页的同级目录css目录下, 然后编写代码
body{
background-color: orange;
}
h1{
color: red;
}
css的语法
基本语法
格式:
选择符{
样式属性: 属性值;
样式属性: 属性值 属性值 ...;
}
选择符{样式属性: 属性值;样式属性: 属性值 属性值 ...;}
# 注意:
1. 选择符主要是告诉浏览器,接下来花括号里面样式给哪一个标签或者那一批标签添加外观的,在行内样式中,不需要加选择符
2. 样式属性主要是告诉浏览器,给指定的标签添加什么样的外观,样式属性在同一个花括号里面或者同一个标签中,是唯一的.如果出现重复的话,在浏览器产生覆盖效果.
3. 属性值主要是告诉浏览器,给指定标签添加的指定外观是什么效果,一般如果没有指定样式,浏览器内部都会有对应的默认值,写上属性和属性值以后就会覆盖默认值.属性值也是唯一的.多个属性值的情况下,必须使用英文的空格隔开.
4. css中所有的代码,都不需要缩进或者换行.
注释
在css中也有注释,注释的目的是为了解释代码的用途或者作用.方便其他开发者更好的了解当前的代码.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/*
多行注释, 这里的内容就不会被显示或者不会被浏览器执行.
*/
body{
background-color: blue; /* 背景-颜色: 蓝色; */
color: white; /* 字体颜色: 白色; */
}
</style>
</head>
<body>
<h1>网页的内容</h1>
</body>
</html>
学习工具
学习css一般有三种工具提供给我们开发:
1. 代码编辑器本身一般自带提示或者语法提示.
2. css手册,内部提供提供了所有的样式属性和样式值的使用参考,甚至包括一些演示代码.
http://css.doyoe.com
3. 浏览器也内置了一些css辅助工具给我们学习和开发.
F12,或者Ctrl+shift+i,或者鼠标右键,检查代码
css的选择符
元素选择符
万能选择符*
在工作中, 星号基本不用, 如果有使用的话,基本就是用在页面的外观初始化时.
* { /* 代表网页中的所有元素 */
color: blue;
}
标签选择符
也叫元素选择符,可以指定同一种名称的标签的外观效果,例如,p,h1,a,li在css中都是标签选择符
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
body{
background-color: #cccccc;
}
p { /* 通过标签名来控制指定哪些标签的外观效果,这就是标签选择符 */
font-size: 26px;
}
</style>
</head>
<body>
<h1>静夜诗</h1>
<p>
床前明月光,<br>
疑是地上霜.<br>
....
</p>
<p>
另一个段落
</p>
</body>
</html>
ID选择符
给指定的标签指定id值,把这个id值作为选择符,左边加上#
,就可以在css中给这个标签[html元素]加上样式了.
class类选择符
通过标签的class属性值可以对页面中的标签进行分类, 然后在css样式中,使用.分类名
作为选择符,可以给指定分类的所有标签增加样式外观
关系选择符
包含选择符
可以控制到内部所有的标签,不管是子级或者隔代[爷爷.祖先…控制后代]的.
父子选择符
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.header p{ /* class="headers"的元素里面所有的子标签p或者孙子标签p... */
background-color: #ccc;
color: blue;
}
.header>p{ /* class="header"的元素的子标签p */
color: red;
}
</style>
</head>
<body>
<div class="header">
<div class="header-left">
<p>页面的左边</p>
</div>
<p>中间的一段文本</p>
<div class="header-right">
<p>页面的右边</p>
</div>
</div>
</body>
</html>
兄弟选择符
属性选择符
伪类选择符
用于控制标签在某一个特殊环境或者处于某种状态下的时候,控制它们的外观.
E:hover 当元素处于被鼠标悬浮的时候,指定样式
E:nth-child() 当元素处于父元素的指定某一个位置时