CSS day_01(6.10) CSS概述

CSS是一门新的语言

知识点非常零散

勤做注释 知识点多但是看注释就想起来了

CSS的单词很多,没有逻辑上的难度,只有互相排列组合搭配

一、 CSS概述

CSS:Cascading Style Sheet 级联样式表

1995诞生,2010年左右陆续推出CSS3

样式:元素的颜色 背景 位置 大小 边框 阴影...

HTML--人的本体 CSS--人的穿着打扮

简单说,CSS就是一种用来修饰HTML标签的语言

同样的HTML,不同的CSS会导致页面的效果千差万别

操作:打开www.tmooc.cn删除head中所有的link,观察效果

二、CSS在页面中的位置

1. inner style 行内/内联样式

<开始标签 style="color:red;backgroud:yellow;"></结束标签>

style=""给当前元素设置样式

color 属性名 red属性值

注意:属性名与属性值使用冒号连接,并且一对属性写完后要加分号

2.inner style内部样式

在html中的head标签中加入style标签,在style标签内部写CSS样式

<style>

       选择器 {

               color: red;

       }

</style>

3.outer style 外部样式

把样式独立声明在一个CSS文件中

需要这个样式的HTML文件加link标签,将其引入

<link rel="stylesheet" href="xx.css">

4. 小结

CSS基础语法:

属性名:属性值;

CSS编写的三种位置:

1.行内样式inline style:写在HTML标签中(给标签加style="")

2.内部样式inner style:写在head标签中的style标签中

3.外部样式outer style:写在独立的CSS文件中,HTML通过<link>引入

注意:style和link标签必须写在html的head标签中,防止页面重绘

作用范围:

行内样式 < 内部样式 < 外部样式

行内元素只能作用于当前元素,不能被其它元素共享

内部样式可以供当前页面多个元素共享,不能给其它页面的元素共享

外部样式可以被多个HTML页面引入共享

样式的优先级:

!important>行内样式>(内部样式=外部样式)>浏览器默认样式User Agent StyleSheet

内部样式与外部样式的优先级是一样的,谁后写,谁生效(后写的会把先写的覆盖掉)

还可以给样式提升优先级:!important强制当前的优先级为最高

color: green !important;

但注意:尽量不要使用,都是VIP就没有VIP了

使用场景:

行内样式:会和HTML代码混杂在一起,不好修改,后期复用性很差,一般测试时使用,项目中很少用

内部样式:很多首页(比如百度)都在head中写了很多的内部样式,减少请求次数,加载速度快

外部样式:作用范围很大,但会增加页面的请求次数,从而拖累页面性能,常在二三级页面中使用(分享样式)

三、CSS选择器(Selector)

CSS选择器可以用在内部/外部样式,告诉浏览器这些样式要渲染在哪些元素上

选择器 {

     CSS样式

}

先来讲几种简单的选择器:

1. 通用选择器

* 表示所有,表示当前页面中所有的元素都被选中应用此样式

/* 通用选择器:选中页面中的所有元素 */

* {

    /* 选中页面中所有的元素,将字体颜色改为红色 */

    color: red;

}

因为它要选中所有的元素,所以优先级非常低

2. 标签选择器

选中某类特定的HTML元素,选择器的名字就是标签的名字,注意标签不加尖括号

/* 标签选择器:选中指定的标签 */

div {

    /* 选中页面中所有的div元素,将背景颜色修改为黄色 */

    background-color: yellow;

}

优点:非常快捷的选中一类标签

缺点:选择太广泛,不利于项目中使用

优先级权重值为1

3.ID选择器

选中某一个指定的元素#ID值{},ID值不允许重复

/* id选择器:选中指定id值的元素 */

#d2 { 注意#与d2之间不能有空格!

    /* 将id值为d2的元素 背景颜色修改为蓝色 */

    background-color: blue;

}

要先给HTML元素设置ID值,再被CSS选中

优点:能够非常直观的找到指定的那个元素,权重值较高,100

4. 类选择器

选中一类指定的元素.class值{ },这个类名是自定义的

一个HTML元素的class值可以写多个 多个值之间使用空格分开

注意:点与类名之间不能有空格!

<span class="text-msg text-danger">用户名不能为空</span>

.text-msg {color: white;}

要先给HTML元素设置class值,再被CSS选中

优点:复用性很高,在项目中经常使用,权重值10

5. 群组选择器

一次使用多种选择器选中多个元素,多种选择器间使用逗号分开,可以有空格

/* 把标签选择器h4,class选择器.r,id选择器#r都选中,设置同一个效果 */

h4, .r, #r {

    color: red;

}

注意:群组选择器不限定选择器必须是同一个类型的,比如上面就同时使用了3种类型的选择器

6. 伪类选择器

"假的类"--伪类选择器的名字不可以自定义,是固定的,用于选中某个时刻/某种状态

我们先学5个:

:hover{} 选中“鼠标悬停在元素上方”时的状态

/* 增加伪类,设置div鼠标悬停时的样式 */

.box:hover {

    background-color: red;

}

:active { } 选中“元素被激活时的状态”(鼠标选中元素不松开)

/* 增加伪类,设置div激活时的样式 */

.box:active {

    background-color: blue;

}

:link {} 选中"超链接未被访问过的状态"

:visited{} 选中"超链接被访问过后的状态"

注意:a标签伪类的优先级::link > :visited > :hover >:active

如果希望超链接有以上4种方式的改变,必须使用上面的这个顺序来写

默认:超链接未访问时是蓝色,激活时红色,访问过后是紫色,悬停状态没有设置效果

:focus{ } 选中"获得了输入焦点的输入框"

/* 设置输入框获得焦点:输入框背景颜色改为黄色 */

input:focus {

    background-color: yellow;

}

7. 属性选择器

[HTML标签的属性名] { }   选中包含指定属性名的元素

[HTML标签的属性名="值"] { } 选中包含指定属性名与属性值的元素

/* 选中包含属性名readonly的输入框 */

input[readonly] {

    border: 3px solid red;

}

/* 前面加个input选中更为准确,是并列选择器

但是由于我们只有一个readonly属性,所以此处的input可以省略*/

[readonly] {

    background-color: yellow

}

/* 选中包含name属性且属性值为uname的元素 */

[name="uname"] {

       background-color: green;

}

上面写一个的选择器都是简单选择器,下面我们来介绍一些复杂选择器:

8.并列选择器

选中可以同时被多个选择器选中的元素

选择器1选择器2 {   }  注意:选择器间不能有空格!

/* 选中class为.danger的span元素 */

            span.danger {

                color: red;

            }

            /* 选中同时具有btn与succ class值的元素 */

            .btn.succ {

                color: green;

            }

9.后代(包含)选择器

选中某个元素的儿子 孙子 重孙子.... 元素

祖先选择器 后代选择器 { }

div span { } 选中div下的所有span后代

注意:空格千万别忘记写!!!

10.直接子代选择器

选中当前元素下面的直接儿子元素

div>span { } 选中div下的儿子span

/* 选中div里所有的span 2 3 4 */

div span {

    background-color: pink;

}

/* 选中div的直接儿子span 2 4 */

div>span {

    border: 2px solid green;

}

/* 选中div下p中的span3 */

div>p>span {

    color: red;

}

11.兄弟选择器

选中元素后面的兄弟元素--不要前面的兄弟,也不选子代

p ~ span { }  选中p后面的span兄弟元素

12.相邻兄弟选择器

选中元素后面紧挨着的相邻兄弟元素--不要前面的,也不要有间隔的,也就是说最多选中一个

p + span { }  选中p元素后面紧挨着的那一个span元素


【拓展】CSS 禅意花园: CSS 设计之美

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值