Web前端之CSS(1)——概述

一.CSS3概述

1.什么是CSS
Cascading style sheets 层叠样式表、级联样式表.简称样式表

2.CSS的作用
设置HTML网页中元素的样式

3.HTML与CSS的关系
HTML:负责网页的搭建,内容展示-----一个页面骨架
CSS:负责网页的修饰,样式的构建-----给网页化妆

4.HTML属性与CSS的使用原则
W3C建议我们尽量使用css的方式来取代HTML属性
CSS样式:
a.样式代码高度重用
b.方便后期的维护,提高了可维护性

二.CSS的语法规范

1.使用css的方式
(1)行内样式/内联样式
将css样式定义在html标签中

<any style="样式声明" ></any>

样式声明:样式属性:值;
样式属性:值 color:red;
内联样式开发中基本不用,只在学习和测试的使用
内联样式无法重用,内联样式优先级最高

常用的样式:
1°设置文本颜色
color:合法的颜色值(颜色的单词)
2°设置字体的大小
font-size:以px为单位的数字
3°背景颜色
background:合法的颜色值

<!DOCTYPE html>
<html>
<head>
	<title>zzz</title>
	<meta charset="utf-8"/>
	<!-- 内部样式 --> 
	<style >
		div{
			color: purple;
		}
		
	</style>
</head>
<body>
	<!--内部样式结果  -->
	<div>陟罚臧否</div>
	<div>魑魅魍魉</div>

</body>
</html>

2.内部样式
在网页head标签中创建style标签,在style标签内部定义样式

<style>
  样式规则1;
  样式规则2;
</style>

样式规则:由选择器和样式声明组成。

div{color:purple;}

元素选择器,由元素名称作为选择器。
页面上匹配这个元素的名称元素,都可以使用该样式。
特点:
只能在本页面重用,其它页面无法重用,重用效果有限。
开发中少用,学习和测试中使用较多。

3.外部样式
独立于任何网页,声明一个样式文件(*.css)
在.css中保存样式规则
使用步骤
(1)创建样式表文件.css
(2)在css文件中编写样式规则
(3)在网页的头部引入css文件

<link href="css的url"  rel="stylesheet">

练习
创建01_ex.html,ex1.css
在ex1.css中,h4字体颜色为橙色orange 背景使用绿色
字体大小36px
在01_css.html和01_ex.html中引用ex1.css
并编写h4标签,内容随意
更改css中的字体大小为24px,字体颜色为红色,观察效果

2.CSS特性
(1)继承性
大部分的css效果是可以直接被继承的。
必须父子结构(有层级嵌套),子继承父。
(注:a标签的color不继承)

(2)层叠性
可以为一个元素定义多个样式规则。
规则中属性不冲突(不重复)时,多个样式可以同时应用到当前元素上。

(3)优先级
如果多个样式声明冲突,按照样式规则的优先级应用样式。
最高:内联样式
内部样式和外部样式,就近原则
最低:浏览器默认样式

(4)调整样式优先级
!important规则
放在属性值之后,与值之间用空格隔开。
作用:调整优先级,使用之后优先级提升。

练习
02_ex.html添加一个p元素,内容自定,
内部样式设置文字颜色blue,字体大小24px
外部样式设置字体大小40px,字体颜色red,引用外部样式
查看页面效果,改变内部样式与外部样式调用的位置
再次查看页面效果
尝试使用!important改变样式优先级

三.基础选择器(重点*********)

1.选择器的作用
规范了页面中哪些元素能够使用定义好的样式,的条件
为了匹配元素

2.选择器详解
(1)通用选择器
匹配页面上所有的元素

*{样式声明}

效率极低,项目中少用,
唯一使用的方式

*{margin:0;padding:0}所有元素内外边距清0      !!!必须记下来!!!

(2)元素选择器,标签选择器
设置页面中某种元素的默认样式

div{}
p{font-size:12px;}

(3)id选择器
设置指定id元素的样式(专属的定制)

#d1{color:red;}
<div id="d1"></div>

(4)类选择器
定义页面上某个或者某类元素的样式(公共样式,谁想用都可以)
.类名{样式声明}

<any class="类名"></any>

!!!注意:类名
1°点不能省略
2°不能以数字开头
3°不能包含特殊字符(除了- _)

多类选择器
让一个元素引用多个类选择器,多个类名之间使用空格隔开

<p class="my_font   my_color    my_bg">

分类选择器
将元素选择器和类选择结合的一种使用方式

元素选择器.类选择器{样式声明}

<h4 class="my_font">

h4.my_font{background:pink;}

特点:
1.指向更精准
2.优先级更高

练习
03_ex.html 添加div和p,内容随意
用类选择器为所有元素设置字体颜色为红色.fontcolor
用分类选择器为p标签设置背景颜色为yellow

5.群组选择器
将多个选择器放到一起定义公共的样式
选择器1,选择器2,选择器3,…{样式声明}

div,p,#s1,p.my_font{
  color:#006699;
  background:#990066;
}

6.后代选择器
通过元素的后代关系匹配元素
后代:一级或者多于一级的嵌套关系

语法:选择器1 选择器2 选择器3....{样式的声明}

7.子代选择器
通过元素的子代(一级嵌套)关系匹配元素

选择器1>选择器2>选择器3....{样式声明}

练习

<div  id='d1'>
  <span>111</span>
  <div>
     <span>222</span>
  </div>
  <div>
     <div>
        <span>333</span>
     </div>
  </div>
</div>

1.所有span
div span{}或者span{}

2.只修改第一个span
#d1>span{color:red;}

3.只修改第二个span
#d1>div>span{color:red;}

4.只修改第三个span
#d1>div>div>span{color:red;}

5.修改后两个span
#d1>div span{color:red;}

8.伪类选择器
匹配元素的不同状态的选择器
选择器:伪类选择器{} 在这个标签的某一个状态下,才应用此样式
(1)链接伪类
a:link{color:red;} 没有被访问过的状态
a:visited{color:pink;}被访问之后的状态

(2)动态伪类
a:active{font-style:italic;}元素被激活状态
input:focus{background:black;color:white;}匹配元素获取焦点时
img:hover{width:100px;}匹配元素被鼠标悬停时

爱恨原则:love——先写link再写visited 而 hate——先写hover再写active

练习
1.在03_ex中,添加一个a标签,内容随意。
未访问时,字体为黑色,去掉下滑线(text-decoration:none)
鼠标悬停时,文本变成红色,字体变成40px
被激活后, 文字变成绿色,字体大小80px
访问后,颜色变为橙色

2.创建一个文本框输入框,默认字体为灰色gray,斜体
被激活是,字体为非斜体 font-style:normal
获取焦点时,字体变为红色

9.选择器的权值
权值,表示当前选择器的重要程度,权值越大优先级越高
!important >1000
内联样式 1000
id选择器 100
类和伪类 10
元素选择器 1
*通用选择器 0
继承的样式 无

(1)当一个选择器含有多个选择器时,需要将所有的选择器的权值进行相加
然后再比较,权值高的优先级高

(2)分组选择器权值不相加,单独计算

(3)权值的计算不会超过其最大数量(100个1加在一起,不会大于一个10)

(4)样式后面添加!important,该样式直接获得最高优先级

内联样式不能添加!important

(5)权值相同,按照就近原则

四.尺寸和边框

1.尺寸属性
width
最大宽度max-width
最小宽度min-width
height
max-height
min-height

取值:
(1)以px为单位的数字
(2)%,相对单位,占据父元素尺寸的百分比

总结:页面中允许设置尺寸的元素
1.所有的块级元素都可以设置
2.行内块都可以设置
input(单选框和复选框不能设置)
3.本身具有width和height属性的元素,可以设置
table,img
大部分的行内元素都不允许设置尺寸

❤附加知识点 单位
1.px 像素
2.in 英寸 1in=2.54cm
3.pt 磅值,一般修饰字体大小 1pt=1/72in
4.cm
5.mm
6.em 相对于父级设置的尺寸乘以的倍数(1.5em)
7.rem相对于根元素设置的尺寸乘以的倍数(1.5rem)
8.%

❤附加知识点 合法颜色值
1.颜色的英文单词 red blue yellow gray …
2.#rrggbb 取值 16进制 r:0~ff g:0~ff b:0~ff
3.#aabbcc 简写成#abc
4.rgb(0255,0255,0~255);
5.rgb(r%,g%,b%);
6.rgba(r,g,b,a)
a:alpha 透明度(0-1) 1:不透明 0:透明

五、作业

1.创建a标签,定义id=a1
未被访问,字体红色,字号32px,斜体,无下划线
激活,字体蓝色,字号50px,取消斜体,添加背景色黄色
访问后,字体#0ff 字号24px ,取消斜体
鼠标悬停,字体#f0f 字号80px 取消斜体,添加背景色原谅色

text-decoration:none;//取消下划线
italic  //斜体   
normal  //常体

2.8种选择器,总结到脑图
3.优先级+权值
4.合法的颜色值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值