【CSS操作指南----上】

一、CSS的基本了解

CSS代码,主要由两部分构成:

选择器{

      属性:值;

}

选择器:决定针对哪些元素进行修改

属性和值都是针对被选中的元素进行的。

举个例子:

 

 style标签里面就可以放置CSS代码,一个html文件中可以把style放到任意位置,但是一般习惯上放到head标签中,并且style可以存在多份~

二、CSS的另外两种使用规则

1.行内样式表-内联样式表

通过标签的style 属性来设置的样式,不需要写选择器(只是针对当前标签生效)

 

注意:行内样式的优先级高于上面所说的内部样式(即使用选择器),如果两边同时尝试设置不同的属性值时,行内样式会覆盖内部样式~

 

可以看到,内部样式和行内样式同时针对p标签的颜色、字体大小进行了设置,但此时在页面中起到作用的是行内样式~

2.外部样式表

当CSS进一步的复杂了之后,就可以把CSS单独放到一个文件中,然后再html中单独引入~

 

 此时在html中引入TEST1.CSS,TEST1.CSS就称为外部样式表,通过实验link标签来引入一个外部的CSS,href属性就描述了css的位置,rel属性表示引入的文件类型,stylesheet就表示“样式表”。此时就说明了引入了一个名叫TEST1.CSS的外部样式表。我们可以看到,在压面中div标签中的内容就是通过这个TEST1.CSS中的内容来设置的~

 注意:外部样式写的代码,如果代码修改了,不一定为立即生效!!!(受限于游览器缓存的影响)

原因是:当浏览器首次访问网站的时候,就会下载这下css到本地,后面第二次再访问的时候,这些css就不必再重新下载(浏览器缓存),存在的意义就是为了提高访问速度~

解决措施:强制让浏览器刷新就OK,强制浏览器从服务器重新下载CSS(ctrl + F5)~

有没有什么措施能够避免这种情况呢?当然有,对于小白来说,可能并不知道这里的强制刷新操作,那么在实际开发中,采取的思路就是,如果CSS文件修改了,就改一下css文件的名字,此时当浏览器在加载css的时候发现这个新的css文件之前没有缓存过,就会自动去重新加载CSS,这样就能保证新版本的CSS一定会被浏览器加载!

三、CSS选择器

1.基础选择器

(1).标签选择器

选中一类标签,就会让当前页面的所有这类标签都被选中~选择器部分直接写标签名~

 此时可以看到所有的p标签都按照CSS中的标签选择器所修改~

(2).类选择器

在标签选择器中,范围太大了,有的时候,希望只修改其中的一个元素,其他的元素不修改,因此,就需要使用类选择器~这里的类仅仅是一个分类的效果。

在CSS中创建“类”通过这个类来手动指定哪些元素要遵守该样式~

 

.开头表示的是类,.后面的部分是类的名字。

在具体要应用选择器的元素上,通过class属性来引入,引入的时候不需要加点

类选择器一般就是有一些元素都需要使用相同样式的时候使用,就可以给多个元素都引用同一个类~

应当注意的是:一个类可以被多个标签使用,一个标签也可以使用多个类~

 

 此时我们可以看见,“明天见”这个p标签,不仅使用了green类,还使用了font类!类和类之间通过空格来分割,类名不可以是数字、中文开头,也不能是标签名! 

(3).id选择器

每个html元素都有一个id属性,要求这个属性是整个页面中唯一的值,也可以通过这个值来找到对应的元素!

 

 id选择器在创建的时候要#开头,引用的时候,id属性中也不需要加#。

id选择器相当于是按照“身份证”来找,而类选择器相当于按照“类别”来找,一个类别下可以有很多元素,一个元素也可以属于多个类别~

(4).通配符选择器

*{

}

选中页面中所有的元素,存在的意义往往是“消除浏览器默认样式”,

 

 2.复合选择器

把基础选择器组合起来,达到一个更精准更快速的定位元素的效果。

(1).后代选择器

先指定一个父元素,然后再指定一个子元素

后代并不一定非的是子元素,也可以是孙子元素

 

 后代选择器不一定非得是标签选择器的组合,也可以是任意的基础选择器的组合~

 

后代选择器可以有很多层

先找到类名为list的元素,然后再找到里面的li标签,再找到里面的a标签。

li不一定是.list的子元素,也可以是孙子元素等。

a也不一定是li的子元素,也可以是孙子元素等。

嵌套关系可以是多层的,并非只有一层~

(2).子选择器

只能选中子标签

元素1>元素2{

            属性:值;

}

 先找到元素1,然后在元素1里面找元素2,元素2必须是元素1的子元素,不能是孙子元素等。

 

 此时就是先从类为list的元素,然后再在里面找li元素,再在li元素里面找a元素,必须是层层嵌套的,不能越过哪一级~

 扩展知识:使用Emmet快捷键生成html代码:

 

 扩展技巧:“列模式”:VSCode通过alt同时选中多个列,多列同时输入

(3).并集选择器

一次选中多个标签

元素1,元素2{

          属性:值;

}

 元素1和元素2被共同设置了一样的样式~

元素1和元素2之间使用逗号隔开~

同时元素1和元素2都可以是一些复杂的选择器~

(4).伪类选择器

带:的就是“伪类选择器”

4.1、链接伪类选择器

和a标签搭配使用

根据a标签的状态来选择

a标签的几种状态:

1.未被访问过   :link

2.已经被访问过     :visited

3.鼠标悬停   :hover

4.活动链接(点下之后没松手)    :active

其中第三点和第四点不仅仅是针对a标签,针对其他标签也适用~

 例子:

 

 

 

 4.2、:force伪类选择器

表示获取焦点的时候被选中,尤其是针对输入框,就需要知道哪个输入框是获取到了焦点~

 此时鼠标点哪个输入框,哪个输入框的光标就显示红色~拿走就恢复原本的颜色~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值