- 概念: Cascading Style Sheets 层叠样式表
- 层叠:多个样式可以作用在同一个html的元素上,同时生效
- 好处:
- 功能强大
- 将内容展示和样式控制分离
- 降低耦合度。解耦
- 让分工协作更容易
- 提高开发效率
- CSS的使用:CSS与html结合方式
- 内联样式
- 在标签内使用style属性指定css代码
<!--内联样式-->
<div style="color:red;">hello css</div>
- 内部样式
- 在head标签内,定义style标签,style标签的标签体内容就是css代码
<!--内部样式-->
<style>
div{color:blue;}
</style>
<div>hello css</div>
- 外部样式
- 定义css资源文件
- 在head标签内,定义link标签,引入外部的资源文件 ```css div{color:green;}
hello css
> - 注意:
> - 1,2,3种方式 css作用范围越来越大
> - 1方式不常用,后期常用2,3
>
4. css语法:
> - 格式:
> ```html
选择器 {
属性名1:属性值1;
属性名2:属性值2;
...
}
- 选择器:筛选具有相似特征的元素
- 注意:
- 每一对属性需要使用;隔开,最后一对属性可以不加;
p { text-align: center; color: red; }
.center { text-align: center; color: red; }
p.center { text-align: center; color: red; }
>
> - 扩展选择器:
> 1. 通用选择器:选择所有元素:
> - 语法:** *{ }**
> 2. 分组选择器:
> - 语法:**选择器1,选择器2{ }**
> 3. 后代选择器:
> - 语法:**选择器1 选择器2{ }**
> 4. 子选择器:
> - 语法: **选择器1 > 选择器2{ }**
> 5. 属性选择器:选择元素名称,属性名=属性值的元素
> - 语法: **元素名称[属性名="属性值"]{}**
> 6. 伪类选择器:选择一些元素具有的状态
> - 语法:** 元素:状态{ }**
> - 如: <a>
> - 状态:
> - link:初始化的状态
> - visited:被访问过的状态
> - active:正在访问状态
> - hover:鼠标悬浮状态
> ```css
<!--通用选择器,规则应用于页面上的每个 HTML 元素-->
* {
text-align: center;
color: blue;
}
<!--分组选择器-->
h1, h2, p {
text-align: center;
color: red;
}
<!--子选择器,控制h1下的strong的元素-->
<h1>This is <em>really <strong>very</strong></em> important.</h1> <!--不受影响-->
<h1>This is <strong>very</strong> <strong>very</strong> important.</h1> <!-- 受影响 -->
h1 > strong {color:red;} <!-- CSS文件中-->
<!--后代选择器(descendant selector)把作为 h1 元素后代的 em 元素的文本变为红色。-->
<h1>This is a <em>important</em> heading</h1> <!-- 受影响 -->
<p>This is a <em>important</em> paragraph.</p> <!--不受影响-->
h1 em {color:red;} <!-- CSS文件中-->
<!--属性选择器1-->
a[href][title] {color:red;} <!--控制同时有 href 和 title 属性的 HTML 超链接的文本-->
img[alt] {border: 5px solid red;} <!--对所有带有 alt 属性的图像应用样式-->
<!--属性选择器2-->
input[type='text']{border: 5px solid;} <!--控制input输入框text类型-->
<!--伪类选择器-->
a:hover{color: green;} <!--控制鼠标悬停超文本样式-->
- 属性
- 字体、文本
- font-size:字体大小
- color:文本颜色
- text-align:对其方式
- line-height:行高
- 背景
- background:
- 边框
- border:设置边框,符合属性
- 尺寸
- width:宽度
- height:高度
- 盒子模型:控制布局
- margin:外边距
- padding:内边距
- 默认情况下内边距会影响整个盒子的大小
- box-sizing: border-box; 设置盒子的属性,让width和height就是最终盒子的大小
- float:浮动
- left
- right