一、CSS基本语法
1. 注释
/* 这是注释 */
2. 选择器
h2 {
font-size: 4rem;
/* 属性名:属性值 */
}
/* 选择器格式 */
- 选择器(规则集)包含在成对的大括号里 {}
- 每个属性名和属性值分隔用冒号 :
- 选择器(规则集)里要用分号 ;
二、html文件导入CSS的方式
1. 行内式
定义html标签中通用的style属性。
<p stlye="color:black;text-decoration:underline;">
2. 嵌入式
定义head标签中的style标签内容。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<style>
div {
width: 100px;
height: 50px;
border: 5px black solid;
}
/* 嵌入式CSS */
</style>
</head>
<body>
<div></div>
</body>
</html>
3. 链接式
定义head标签中的link标签属性。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link href="css/style_h.css" rel="stylesheet" type="text/css">
<!-- href属性指定CSS文件所在URL -->
</head>
<body>
<div></div>
</body>
</html>
4. 引入式
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<style>
@import url(css/style_h.css)
</style>
<!-- 括号内指定CSS文件URL -->
</head>
<body>
<div></div>
</body>
</html>
三、选择器的分类
1. 标记选择器
同一标签全部应用该选择器下的样式 。
h2 {
font-size: 4rem;
margin: 0;
/* 标签名 { 样式声明 } */
}
2. 类选择器
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<style>
.box {
width: 100px;
height: 50px;
border: 5px black solid;
}
/* .类名 { 样式声明 } */
</style>
</head>
<body>
<div class="box"></div>
<!--标签内class属性需要指定该类名 -->
</body>
</html>
3. ID选择器
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<style>
#box {
width: 100px;
height: 50px;
border: 5px black solid;
/* #类名 { 样式声明 } */
}
</style>
</head>
<body>
<div id="box"></div>
<!--标签内id属性需要指定该类名 -->
</body>
</html>
4. 通用选择器
页面中所有标签应用该选择器下的样式。
* {
box-sizing: border-box;
transition: .2s;
}
/* * { 样式声明 } */
5. 后代选择器
组合了两个选择器,如果第二个选择器匹配的元素具有与第一个选择器匹配的祖先:父元素,父元素的父元素(以此类推),则它们会应用该选择的器下的样式。
<!DOCTYPE html>
<html>
<head>
<style>
ul li {
list-style-type: circle;
}
</style>
<!--父元素选择器 子元素选择器 { 样式声明 } -->
</head>
<body>
<div>titile</div>
<ul>
<li>one tip</li>
</ul>
</body>
</html>
四、代码书写规范
1. 选择器
- 变量命名全部小写。当变量由多个单词组成时,需要使用 - 将它们连接起来
- 使用两个空格作为缩进层级
- 属性定义必须另起一行,且以分号结尾
.login-btn {
/* { 前跟一个空格 */
margin: 0;
padding: 0;
font-family: Arial, sans-serif;
/* :和, 后跟一个空格 */
}
2. 颜色
- RGB颜色值必须使用十六进制记号形式 #rrggbb ,不能使用 rgb()
- 带有alpha信息(透明度)的信息可以使用 rgba()
- 不允许使用命名色值
.success {
box-shadow: 0 0 2px rgba(0, 128, 0, .3);
border-color: #008000;
color: lightgreen; /* 避免这样使用*/
}
3. 其他
- 尽量不使用 !important
- url() 中的链接不加引号
- 文本内容使用双引号
- 在不影响功能的情况下能缩写尽量缩写
作者有话说:很多缩进之类的规则现在大部分编辑器都能做到格式化,更多的是对于命名和属性值的规则需要注意,这里只列出部分比较基础的规则。