一、CSS简介
Cascading Style Sheets,简写为CSS, 层叠样式表,主要功能为美化页面,修饰标签。
Css与Html可以写在同一个网页文件中,也可以分开写
由<link rel="stylesheet" type="text/css" href="(相关的css文件)"/>引用
样式通常存储在样式表中
外部样式表可以极大提高工作效率,通常存储在CSS文件中
多个样式定义可层叠为一个
二、CSS语法
CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明:
选择器通常是您需要改变样式的 HTML 元素
每条声明由一个属性和一个值组成
三.CSS选择器
大致分为5种:标记全称、全局选择器(*)、class选择器、ID选择器和属性选择器。
id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式,HTML元素以id属性来设置id选择器,CSS 中 id 选择器以 “#” 来定义。
class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,class可以在多个元素中使用,class 选择器在HTML中以class属性表示, 在 CSS 中,类选择器以一个点"."号显示。
同时也可以指定特定的HTML元素使用class。
四、CSS创建
浏览器会根据样式表格式化HTML文档!有三种方法可以插入样式表:
当样式需要应用于很多界面的时候,通常使用外部样式表,使用外部样式表的优点是可以通过改变一个文件来改变整个HTML文档的样式布局,每个页面使用 <link> 标签链接到样式表。 <link> 标签在文档的头部。
当单个文档需要特殊的样式时,就应该使用内部样式表。使用 <style> 标签在文档头部定义内部样式表。
五.CSS 背景
1.背景颜色
CSS 背景属性用于定义HTML元素的背景。CSS背景有以下的效果:
background-color 属性定义了元素的背景颜色,在body选择器中使用!
背景图像
background-image 属性描述了元素的背景图像,默认情况下,背景图像进行平铺重复显示,以覆盖整个元素实体。
3.背景图像 - 水平或垂直平铺
background-image属性默认会在页面的水平或者垂直方向平铺。但是有时候图片在水平和垂直方向平铺不能达到想要的效果,可以选择只在某一方向平铺。
六.CSS文本
1.文本颜色
颜色属性用来设置文字的颜色。
2.文本的对齐方式
文本排列属性是用来设置文本的水平对齐方式。
文本的水平排列方式有居中,对齐到左,对齐到右,两端对齐。
text-align: left; 本质上让h1中的文字 水平居中对齐
center 居中 right 右 left 左
3.文本修饰
color: #0000EE; 字体颜色
text-decoration: none; 取消a标签的下划线
text-decoration: overline 上划线
text-decoration: line-through; 删除线
text-decoration: underline 下划线
text-decoration 属性用来设置或删除文本的装饰。
4.文本缩进
文本缩进属性是用来指定文本的第一行的缩进。
七.CSS文字
CSS字体属性定义字体,加粗,大小,文字样式。
1.CSS字体
font-family 属性设置文本的字体系列。
font-family 属性应该设置几个字体名称作为一种"后备"机制,如果浏览器不支持第一种字体,他将尝试下一种字体。如果字体系列的名称超过一个字,它必须用引号,如Font Family:“宋体”。
2.字体样式
我们可以通过字体样式设置正常或者斜体
font-style: normal; 设置为正常 不倾斜
font-style: italic; 设置字体风格为倾斜
3.字体大小
font-size 属性设置文本的大小。
字体大小的值可以是绝对或相对的大小。
绝对大小:
4.1设置字体的大小像素
为了控制字体的大小,可以设置字体的大小像素。
可以通过缩放浏览器来调整字体的大小,但是实际调整的是页面的大小。
八.CSS链接
1.链接样式
不同的链接可以有不同的样式,链接的不同状态也可以有不同的样式。
链接的四种状态:
a:link - 正常,未访问过的链接
a:visited - 用户已访问过的链接
a:hover - 当用户鼠标放在链接上时
a:active - 链接被点击的那一刻
a:link {color:black;} /* 未访问链接*/
a:visited {color:greenyellow;} /* 已访问链接 */
a:hover {color:red;} /* 鼠标移动到链接上 */
a:active {color:blue;} /* 鼠标点击时 */
a:hover 必须跟在 a:link 和 a:visited后面,a:active 必须跟在 a:hover后面。
2.文本修饰
text-decoration 属性主要用于删除链接中的下划线:
a:link {text-decoration:none;}
a:visited {text-decoration:none;}
a:hover {text-decoration:underline;}
a:active {text-decoration:underline;}
3.背景颜色
背景颜色属性指定链接背景色:
a:link {background-color:#B2FF99;} /* 未访问链接 */
a:visited {background-color:#FFFF85;} /* 已访问链接 */
a:hover {background-color:#FF704D;} /* 鼠标移动到链接上 */
a:active {background-color:#FF704D;} /* 鼠标点击时 */
九.CSS列表
CSS中可以使用不同的列表项标记来实现列表。
1.无序列表和有序列表
list-style-type属性指定列表项标记的类型。
2.标记为图像的列表
3.列表属性值简写
在单个属性中可以指定所有的列表属性,但是指定时必须按照一定的顺序!
例如按照以下顺序指定列表属性:
list-style-type: none;设置列表类型为没有列表项标记!
十.CSS表格
1.表格边框
使用border属性指定CSS表格的边框。
2.表格宽度和高度
Width和height属性定义表格的宽度和高度。
3.表格文字对齐
表格中的文字对齐方式分为水平对齐和垂直对齐:
text-align属性设置水平对齐方式,向左,右,或中心。
vertical-align属性设置垂直对齐方式,顶部,底部或中间。
4.表格填充
td和th元素的填充属性可以控制边框和表格内容之间的间距。
5.表格颜色
我们可以指定表格边框的颜色,文本的颜色和背景颜色。
十一.CSS盒子模型(Box Model)
所有HTML元素可以看作盒子!
1.CSS 盒子模型
在CSS中,盒子模型用于设计和布局。CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。
说明:
Margin(外边距) - 清除边框外的区域,外边距是透明的。
Border(边框) - 围绕在内边距和内容外的边框。
Padding(内边距) - 清除内容周围的区域,内边距是透明的。
Content(内容) - 盒子的内容,显示文本和图像。
2.元素的宽度和高度
完整大小的元素,必须包括宽度和高度,还必须包含内边距,边框和外边距。
总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距
总元素的高度=高度+顶部填充+底部填充+上边框+下边框+上边距+下边距
十二.CSS边框(Border)
可以利用边框属性指定元素边框的样式和颜色。
1.边框样式
border-style属性用来定义边框的样式。
2.边框宽度
border-width 属性用来指定边框宽度。
为边框指定宽度有两种方法:
指定长度值
使用 关键字,分别是 thick 、medium(默认值) 和 thin,CSS 没有定义 3 个关键字的具体宽度
“border-width” 属性必须和border-style一起使用,否则不起作用!
3.边框颜色
border-color属性用于设置边框的颜色。设置颜色的方法和HTML类似。
border-color属性必须和border-style一起使用,否则不起作用。
4.单独设置各边
在CSS中,可以把边框各边设置成不同的样式和颜色。
5.属性简写
为了使用方便可以在border一个属性中设置边框。
border:5px solid red;
十三.CSS外边距(margin)
1.CSS外边距的使用
margin外边距属性定义了元素周围的空间。
外边框属性可能的值:
auto:设置浏览器边距,依赖于浏览器
length:定义一个固定的长度
%:定义一个百分比的外边距
2.CSS外边距属性简写
为了使用方便,可以使用一个margin属性指定所有的外边距。
margin属性可以有一到四个值,定义的内容稍有不同:
margin:25px 50px 30px 60px;
上边距为25
右边距为50
下边距为30
左边距为60
十四.CSS填充(padding)
1.CSS填充的使用
CSS padding(填充)属性定义元素边框与元素内容之间的空间,即上下左右的内边距。
填充属性可能的值:
length:定义一个固定的填充
%:使用百分比值定义一个填充
2.CSS填充属性简写
为了使用方便,可以在一个padding属性中指定所有的填充值。
padding属性可以有一到四个值,定义内容稍有不同:
padding:25px 50px 75px 100px;
上填充为25
右填充为50
下填充为75
左填充为100
十五.CSS分组和嵌套选择器
1.分组选择器
在样式表中有多相同样式的元素,为了减少代码,可以使用分组选择器!
2.嵌套选择器
使用于选择器内部的选择器样式!例如:
p{ }: 为所有 p 元素指定一个样式。
.marked{ }: 为所有 class=“marked” 的元素指定一个样式。
.marked p{ }: 为所有 class=“marked” 元素内的 p 元素指定一个样式。
p.marked{ }: 为所有 class=“marked” 的 p 元素指定一个样式。
十六.CSS尺寸(Dimension)
CSS 尺寸 (Dimension) 属性用来控制元素的高度和宽度。
CSS 尺寸 (Dimension)属性:
属性 功能
height 设置元素的高度。
line-height 设置行高。
max-height 设置元素的最大高度。
max-width 设置元素的最大宽度。
min-height 设置元素的最小高度。
min-width 设置元素的最小宽度。
width 设置元素的宽度。
十七.CSS显示与可见性(Display Visibility)
display(显示)属性设置一个元素应如何显示,visibility(可见性)属性指定一个元素应可见还是隐藏。
1.隐藏元素
使用display:none或visibility:hidden可以隐藏元素,但是两者效果不同,前者隐藏的元素不会占用任何空间,后者隐藏的元素仍占用和隐藏前相同的空间,仍然会影响布局!
2.改变元素的显示
块元素是一个元素,占用了全部宽度,在前后都是换行符。例如<h1>,<p>。内联元素只需要必要的宽度,不强制换行。例如<span>,<a>。
可以通过改变块级元素和内联元素,使元素有一定的特定布局。
通过改变内联元素的属性使得显示为块级元素,前后带有换行符!
十八.CSS定位(Position)
position 属性指定了元素的定位类型,position 属性的五个值:
1.static定位
HTML 元素的默认值,即没有定位,遵循正常的文档流对象。静态定位的元素不会受到 top, bottom, left, right影响。
2.fixed定位
元素的位置相对于浏览器窗口是固定位置。不会随着窗口滚动而移动。
3.relative定位
元素的位置是相对于正常元素的位置,移动这个元素的位置,但是原本所占的空间不会改变!
4.absolute定位
绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>。
该定位的元素不占据空间,因为它与文档流无关,可以与其它元素重合。
5.sticky 定位
粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。
指定 top, right, bottom 或 left 四个值其中之一,才可使粘性定位生效。否则其行为与相对定位相同。
6.重叠的元素
元素的定位与文档流无关,所以它们可以覆盖页面上的其它元素。z-index属性指定了一个元素的堆叠顺序(哪个元素应该放在前面,或后面。)
如果两个定位元素重叠,没有指定z - index,最后定位在HTML代码中的元素将被显示在最前面。
十九.CSS布局(Overflow)
CSS的overflow 属性用于控制内容溢出元素框时显示的方式,在对应的元素区间内添加滚动条。overflow 属性只工作于指定高度的块元素上。
overflow属性的所有值:
visible:默认值。内容不会被修剪,会呈现在元素框之外。
hidden:内容会被修剪,并且其余内容是不可见的。
scroll:内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto:如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
二十.CSS浮动(Float)
CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列,往往用于图像的布局。
1.元素是怎么浮动?
元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。
一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
浮动元素之前的元素将不会受到影响,浮动元素之后的元素将围绕它。
设置浮动 float 的元素会:
脱离标准文档流 浮动到指定的位置;浮动的盒子 不会保留原先的位置
2.彼此相邻的浮动元素
当几个浮动的元素放在一起,如果有空间的话,它们将彼此相邻。
css的样式会优先于标签的属性。
3.清除浮动
元素浮动之后,周围的元素会重新排列,为了避免这种情况,使用 clear 属性。
clear 属性指定元素两侧不能出现浮动元素。
4、防止父级塌陷
方法一 在父级中 添加元素 并 配置 清除左右浮动 <div class="clear"></div>
方法二 为父级设置高度 防止塌陷 */ /*#father{ height: 400px;
方法三 通过溢出处理 防止塌陷 */ /*#father{*/ /* overflow: auto
方法四 通过为了清除浮动clear: both; /* 设置清除两浮动 */