CSS——HTML从入门到精通的必经之路

CSS

在这里插入图片描述

1 什么是CSS?

CSS(Cascading Style Sheet)------> 层叠样式表

用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

2 基本语法

CSS 样式由选择器和⼀条或多条以分号隔开的样式声明组成

每条声明的样式包含着⼀个 CSS属性和属性值

选择器名 {
	属性: 属性值;
    ......
}

注意:

css声明要以分号;结束,声明以{}括起来

建议⼀⾏书写⼀个属性

若值为若⼲单词,则要给值加引号,如 font-family: “agency fb”;

例:

div{
	background-color: red;
}

CSS注释

/*注释内容*/

3 CSS选择器

在 CSS 中,选择器是⼀种模式,⽤于选择需要添加样式的元素

CSS选择器有很多,常用的有:

1 基本选择器

1 通用|通配选择器

选择所有 *

* {
	......
}
2 标签|元素选择器

选择指定标签

元素标签 {
	......
}
3 id选择器

选择设置过指定id属性值的元素 #

#id属性值 {
	......	
}
4 类选择器

选择设置过指定class属性值的元素 .

.class属性值 {
	......	
}
5 分组选择器

当几个元素样式属性⼀样时,可以共同调⽤⼀个声明,元素之间⽤逗号分隔 ,

选择器1,选择器2,... {
	......
}

2 组合选择器

1 后代|派生选择器

⽤于选择指定标签元素下的后辈元素,以空格分隔

选择器1 选择器2 {
     ......
}
2 子元素选择器

⽤于选择指定标签元素的所有第⼀代⼦元素,以⼤于号分隔 >

选择器1 > 选择器2 {
     ......
}
3 相邻兄弟选择器

选择紧接在另⼀元素后的元素(不包括自己),且⼆者有相同⽗元素,以加号分隔 +

选择器1 + 选择器2 {
     ......
}
4 普通兄弟选择器

选择紧接在另⼀个元素后的所有元素(不包括自己),而且⼆者有相同的⽗元素,以波浪线分隔 ~

选择器1 ~ 选择器2 {     ......}

3 CSS样式优先级

是根据选择器的精确度/权重来决定的,常见的权重如下,权重越⼤,优先级越⾼

元素选择器:1

类选择器:10

id选择器:100

内联样式:1000

内联样式 > id选择器 > 类选择器 > 元素选择器

4 引入样式方式

1 行内式|内联式

Inline Styles

在对象的标记内使用对象的style属性定义适用其的样式表属性。

示例代码:

<p style="color:red">这一行的字体颜色将显示为红色</p>

2 内部样式块对象

Embedding a Style Block

在HTML文档的<head>标记里插入一个<style>块对象。

示例代码:

<style>    body{        background:#fff;        color:#000;    }    p{        font-size:14px;    }</style>

3 外联样式

Linking to a Style Sheet

先建立外部样式表文件*.css,然后使用HTML的link对象。

示例代码:

<link rel="stylesheet" href="*.css" />

3 常用属性

1 背景

CSS 背景属性用于定义HTML元素的背景效果

1、背景颜色:background-color

2、背景图片:background-image

3、背景重复:background-repeat

取值说明
repeat水平和垂直方向重复
repeat-x只有水平位置重复
repeat-y只有垂直位置重复
no-repeat不重复
inherit指定从父元素继承

2 文本

CSS 文本属性用于定义HTML元素的文本效果

1、文本颜色:color

2、文本对齐方式:text-algin

取值说明
center居中
left左对齐
right右对齐

3、文本修饰:text-decoration

取值说明
underline下划线(与u标签相同)
overline上划线
line-through中划线(与del标签相同)
none关闭所有修饰

4、文本首行缩进:text-indent

p.ident2 {	text-indent: 2em; }

em⼀个相对值,例如页面文本大小为17px,则2em就为17px*2

3 字体

1、字体类型:font-family

2、文本大小:font-size

3、字体风格:font-style

取值说明
normal⽂本正常显示
italic⽂本斜体显示(与 i 标签相同)
oblique将文字强制倾斜

4、字体加粗:font-weight

bold:可以将⽂本设置为粗体

100 ~ 900:为字体指定了 9 级加粗度

100 对应最细的字体变形;

900 对应最粗的字体变形;

400 等价于 normal;

700 等价于 bold。

4 对齐方式(text-align)

规定元素中的⽂本的⽔平对⻬⽅式

取值说明
left左对齐
right右对齐
center居中对齐
justify两端对齐
inherit从父元素继承它的值

5 display属性

display 属性规定元素应该⽣成的框的类型

用于定义建⽴布局时元素⽣成的显示框类型

取值说明
none元素不会显示
block元素将显示为块级元素,元素前后会带有换行符
inline元素会被显示为内联元素,元素前后没有换行符(默认)
inline-block行内块元素
list-item元素会作为列表显示

6 浮动(float)

取值说明
left左浮动
right右浮动
none不浮动
inherit从父元素继承它的值

1、只有横向浮动,并没有纵向浮动

2、会将元素的display属性变更为block

3、浮动元素的后⼀个元素会围绕着浮动元素(典型运⽤是⽂字围绕图⽚)

4、浮动元素的前⼀个元素不会受到任何影响(如果你想让两个块状元素并排显示,必须让两个块状元素都应⽤

float)

4 定位(Position)

检索对象的定位方式

1 默认定位 static

无特殊定位,对象遵循正常文档流。

2 相对定位 relative

对象遵循正常文档流,参照物为自己,原位置保留。

3 绝对定位 absolute

对象脱离正常文档流,参照物为设置了postion属性的父元素,都没设置参照body,原位置不保留。

4 固定定位 fixed

对象脱离正常文档流,参照物为body或浏览器,原位置不保留

5 方向

上:top

右:right

下:botton

左:left

5 2D变换(transform)

设置或检索对象的转换

1 移动 translate

translate(<length>[, <length>]);

指定对象的2D translation(2D平移)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认值为0

length:平移的距离

translateX(<length>);指定对象X轴(水平方向)的平移 translateY(<length>);指定对象Y轴(垂直方向)的平移 

2 旋转 rotate

rotate(<angle>);

指定对象的2D rotation(2D旋转),需先有transform-origin属性的定义

angle:角度

3 缩放 scale

scale(<number>[, <number>]);

指定对象的2D scale(2D缩放)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认取第一个参数的值

scaleX(<number>);指定对象X轴的(水平方向)缩放 scaleY(<number>);指定对象Y轴的(垂直方向)缩放 

number<1:缩小

number>1:放大

4 扭曲 skew

skew(<angle> [, <angle>]);

指定对象skew transformation(斜切扭曲)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认值为0

skewX(<angle>);指定对象X轴的(水平方向)扭曲 skewY(<angle>);指定对象Y轴的(垂直方向)扭曲 

5 设置原始点 transform-origin

transform-origin:0 0;

取值

center①: 指定原点的横坐标为center

center②: 指定原点的纵坐标为center

left: 指定原点的横坐标为left

right: 指定原点的横坐标为right

top: 指定原点的纵坐标为top

bottom: 指定原点的纵坐标为bottom

  • 该属性提供2个参数值
  • 如果提供两个,第一个用于横坐标,第二个用于纵坐标
  • 如果只提供一个,该值将用于横坐标;纵坐标将默认为50%

6 盒模型

1 边框 border

设置对象的边框

1 边框宽度 border-width
border-width:top right bottom left;

设置或检索对象的边框宽度

取值

lenght:用长度值来定义边框的厚度。不允许负值

medium: 定义默认厚度的边框。

thin: 定义比默认厚度细的边框。

thick: 定义比默认厚度粗的边框。

2 边框颜色 border-color

设置或检索对象的边框颜色

border-color:top right botton left;
3 边框样式 border-style

设置或检索对象的边框样式

border-style:值;

取值

none: 无轮廓。border-color与border-width将被忽略

hidden: 隐藏边框

dotted: 点状轮廓

dashed: 虚线轮廓

solid: 实线轮廓

double: 双线轮廓。两条单线与其间隔的和等于指定的border-width值

groove: 3D凹槽轮廓

ridge: 3D凸槽轮廓

inset: 3D凹边轮廓

outset: 3D凸边轮廓

4 圆角边框 border-radius

设置或检索对象使用圆角边框

border-radius: length | percentage ;

length: 用长度值设置对象的圆角半径长度。不允许负值

percentage: 用百分比设置对象的圆角半径长度。不允许负值

注意:

  • 水平半径:如果提供全部四个参数值,将按上左(top-left)、上右(top-right)、下右(bottom-right)、下左(bottom-left)的顺序作用于四个角。
  • 如果只提供一个,将用于全部的于四个角。
  • 如果提供两个,第一个用于上左(top-left)、下右(bottom-right),第二个用于上右(top-right)、下左(bottom-left)。
  • 如果提供三个,第一个用于上左(top-left),第二个用于上右(top-right)、下左(bottom-left),第三个用于下右(bottom-right)。 垂直半径也遵循以上4点。
5 边框图片 border-image

设置或检索对象的边框样式使用图像来填充

border-image:<border-image-source> <border-image-slice> <border-image-width> <border-image-outset> <border-image-repeat>

border-image 属性是一个简写属性,用于设置以下属性:

描述
border-image-source用在边框的图片的路径。
border-image-slice图片边框向内偏移。
border-image-width图片边框的宽度。
border-image-outse边框图像区域超出边框的量。
border-image-repeat图像边框是否应平铺(repeated)、铺满(rounded)或拉伸(stretched)。

2 内补白 padding

检索或设置对象四边的内部边距

padding:lenght | percentage;

length: 用长度值来定义内补白。不允许负值

percentage: 用百分比来定义内补白。不允许负值

其他属性:

padding-top:检索或设置对象顶边的内补白

padding-right:检索或设置对象右边的内补白

padding-bottom:检索或设置对下边的内补白

padding-left:检索或设置对象左边的内补白

3 外补白 margin

检索或设置对象四边的外延边距

margin:lenght | percentage;

length: 用长度值来定义外补白。不允许负值

percentage: 用百分比来定义外补白。不允许负值

其他属性:

margin-top:检索或设置对象顶边的外延边距

margin-right:检索或设置对象右边的外延边距

margin-bottom:检索或设置对下边的外延边距

margin-left:检索或设置对象左边的外延边距

注:当属性(border、padding、margin等)的值有四个时,

  • 如果提供全部四个参数值,将按上、右、下、左的顺序作用于四边。
  • 如果只提供一个,将用于全部的四边。
  • 如果提供两个,第一个用于上、下,第二个用于左、右。
  • 如果提供三个,第一个用于上,第二个用于左、右,第三个用于下。

4 阴影 shadow

1 边框阴影 box-shadow

设置或检索对象阴影

box-shadow: h-shadow v-shadow blur spread color inset;
说明
1.h-shadow必需的。水平阴影的位置。允许负值
2.v-shadow必需的。垂直阴影的位置。允许负值
3.blur可选。模糊距离
4.spread可选。阴影的大小
5.color可选。阴影的颜色
6.inset可选。从外层的阴影(开始时)改变阴影内侧阴影
2 文本阴影 text-shadow

设置或检索对象中文本文字阴影及模糊效果

text-shadow: h-shadow v-shadow blur color;
描述
1.h-shadow必需。水平阴影的位置。允许负值
2.v-shadow必需。垂直阴影的位置。允许负值
3.blur可选。模糊的距离
4.color可选。阴影的颜色

7 动画(animation)

复合属性。检索或设置对象所应用的动画特效

动画制作过程:

1.指定动画

animation: animationName .5s linear infinite;

2.设置动画:

@keyframes animationName {
0%{transform:rotate(0deg);opacity:0;}
50%{transform:rotate(45deg);opacity:1;}
70%{transform:rotate(135deg);opacity:1;}
100%{transform:rotate(180deg);opacity:0;}
}
animation: name duration timing-function delay iteration-count direction fill-mode play-state;

animation的取值:

说明取值
animation-name指定要绑定到选择器的关键帧的名称none、keyframename
animation-duration动画指定需要多少秒或毫秒完成time(ms、s)、默认 0
animation-timing-function设置动画将如何完成一个周期见下表
animation-delay设置动画在启动前的延迟间隔time(ms、s) 、默认 0
animation-iteration-count定义动画的播放次数见下表、默认 1
animation-direction指定是否应该轮流反向播放动画见下表
animation-fill-mode规定当动画不播放时,要应用到元素的样式见下表
animation-play-state指定动画是否正在运行或已暂停见下表

animation-timing-function的取值:

取值描述
linear动画从头到尾的速度是相同的。
ease默认。动画以低速开始,然后加快,在结束前变慢。
ease-in动画以低速开始。
ease-out动画以低速结束。
ease-in-out动画以低速开始和结束。
cubic-bezier(n,n,n,n)在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值。

animation-iteration-count的取值:

取值描述
n一个数字,定义应该播放多少次动画
infinite指定动画应该播放无限次(永远)

animation-direction的取值:

描述
normal默认值。动画按正常播放
reverse动画反向播放
alternate动画在奇数次(1、3、5…)正向播放,在偶数次(2、4、6…)反向播放
alternate-reverse动画在奇数次(1、3、5…)反向播放,在偶数次(2、4、6…)正向播放
initial设置该属性为它的默认值
inherit从父元素继承该属性

animation-fill-mode的取值

描述
none默认值。动画在动画执行之前和之后不会应用任何样式到目标元素
forwards在动画结束后(由 animation-iteration-count 决定),动画将应用该属性值
backwards动画将应用在 animation-delay 定义期间启动动画的第一次迭代的关键帧中定义的属性值。这些都是 from 关键帧中的值(当 animation-direction 为 “normal” 或 “alternate” 时)或 to 关键帧中的值(当 animation-direction 为 “reverse” 或 “alternate-reverse” 时)
both动画遵循 forwards 和 backwards 的规则。也就是说,动画会在两个方向上扩展动画属性
initial设置该属性为它的默认值
inherit从父元素继承该属性

animation-play-state的取值

描述
paused指定暂停动画
running默认,指定正在运行的动画
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值