Bootstrap

CSS样式

CSS(层叠样式表,Cascading Style Sheets)是用来描述HTML或XML(包括SVG、MathML或XHTML等)文档的外观和格式的语言。它提供了强大的功能来控制网页的布局、颜色、字体、间距等视觉效果,从而使得网页不仅内容丰富而且美观。CSS 的主要使用场景就是美化网页,布局页面的,CSS 规则由两个主要的部分构成:选择器以及一条或多条声明。

<style type="text/css">

             h1 (选择器) { color(属性):red(值); (声明).....}

             p { color: blue; font-size: 16px; }

<style>

  • 选择器是用于指定CSS 样式的 HTML 标签,花括号内是对该对象设置的具体样式。
  • 属性和属性值以“键值对”的形式出现。
  • 属性是对指定的对象设置的样式属性,例如字体大小、文本颜色等。
  • 属性和属性值之间用英文" : "分开。

书写规范

  • 展开格式
  • 使用英文小写
  • 属性值前面,冒号后面,保留一个空格
  • 选择器(标签)和大括号中间保留空格

选择器分基础选择器复合选择器两个大类

基础选择器是由单个选择器组成的

一、CSS的基础选择器

基础选择器包括:标签选择器、类选择器、id选择器和通配符选择器

1.标签选择器

标签选择器(元素选择器)是指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的 CSS 样式。

标签名 {

        属性1:属性值1;

        属性2:属性值2;

        属性3:属性值3;

        .......

}

2.类选择器

如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用类选择器,以.开头,用于选择具有特定类名的所有元素。

. 类名 {

        属性1:属性值1;

        属性2:属性值2;

        …..

}

.red { color: red; }

.font { font-size: 16px; }

结构需要用 class 属性来调用 class 类的意思

<div class='red'>变红色</div>

注意

  • 类选择器使用“.”(英文点号)进行标识,后面紧跟类名(自定义,自己命名的)
  • 可以理解为给这个标签起了一个名字,来表示。
  • 长名称或词组可以使用中横线来为选择器命名。
  • 不要使用纯数字、中文等命名,尽量使用英文字母来表示。
  • 命名要有意义,尽量使别人一眼就知道这个类名的目的。
  • 命名规范

多类名

可以把一些标签元素相同的样式(共同的部分)放到一个类里面。这些标签都可以调用这个公共的类,然后再调用自己独有的类。从而节省CSS代码,统一修改也非常方便。

使用方式

<div class="red  font">优秀</div>

  • 在标签class 属性中写 多个类名
  • 多个类名中间必须用空格分开

3.Id选择器

id 选择器可以为标有特定id的 HTML元素指定特定的样式。

HTML 元素以id 属性来设置id 选择器,CSS 中 id 选择器|以“#"来定义。

# id名 {

        属性1:属性值1;

        属性2:属性值2;

        …...

}

注意:id 属性只能在每个HTML 文档中出现一次。

id 选择器和类选择器的区别

  • 类选择器(class)可以多次使用
  • id 选择器只能用一次

4.通配符选择器

在CSS中,通配符选择器使用它表示选取页面中所有元素(标签)

* {

        margin: 0px;

        padding: 0px;

}

通配符选择器不需要调用,自动就给所有的元素使用样式

基础选择器

作用

特点

使用

用法

标签选择器

可以选出所有相同的标签,比如p

不能差异化选择

较多

p{ color: red;}

类选择器

可以选出1个或者多个标签

可以根据需求选择

非常多

.nav { color:red; }

id选择器

一次只能选择1个标签

ID属性只能在每个 HTML文档中出现一次

一般和js搭配

#nav {color:red;}

通配符选择器

选择所有的标签

选择的太多,有部分不需要

特殊情况使用

* {color: red;}

二、CSS复合选择器

在 CSS 中,可以根据选择器的类型把选择器分为基础选择器复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的。

  • 复合选择器可以更准确、更高效的选择目标元素(标签)。
  • 复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的。
  • 常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器等等。

1.后代选择器

后代选择器又称为包含选择器,可以选择父元素里面子元素。其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌时,内层标签就成为外层标签的后代。

元素1 元素2 {  样式声明  }

( 上述语法表示选择元素 1里面的所有元素2(后代元素)。)

ul li { 样式声明 }     /* 选择 ul 里面所有的 li标签元素 */

  • 元素1和 元素2 中间用空格隔开。
  • 元素1是父级,元素2是子级,最终选择的是元素2。
  • 元素2 可以是儿子,也可以是孙子等,只要是元素1的后代即可。

2.子选择器

子元素选择器(子选择器)只能选择作为某元素的最近一级子元素。

元素1 > 元素2 { 样式声明 }

(上述语法表示选择元素1 里面的所有直接后代(子元素) 元素2。

div > p { 样式声明 }  /+ 选择 div 里面所有最近一级 p 标签元素*/

  • 元素1和 元素2 中间用 大于号 隔开。
  • 元素1是父级,元素2是子级,最终选择的是元素2。

3.并集选择器

并集选择器可以选择多组标签,同时为他们定义相同的样式。通常用于集体声明。

并集选择器是各选择器通过英文逗号(,)连接而成,任何形式的选择器都可以作为并集选择器的一部分。

元素1 , 元素2 { 样式声明 }

上述语法表示选择元素1和元素2。

ul , div{ 样式声明 } /*选择ul和 div标签元素古*/

  • 元素1和元素2中间用英文逗号隔开
  • 逗号可以理解为和的意思
  • 并集选择器通常用于集体声明

4.伪类选择器

伪类选择器用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第1个,第n个元素。

伪类选择器书写最大的特点是用冒号( : )表示,比如 : hover、: first-child。

因为伪类选择器很多,比如有链接伪类、结构伪类等。

a : link

/*选择所有未被访问的链接*/

a : visited

/*选择所有已被访问的链接*/

a : hover

/*选择鼠标指针位于其上的链接*/

a : active

/*选择活动链接(鼠标按下未弹起的链接)*

链接伪类选择器注意事项:

按照 LVHA 的循顺序声明 : link - : visited - : hover- : active

5. : focus 伪类选择器

: focus 伪类选择器用于选取获得焦点的表单元素。

焦点就是光标,一般情况<input>类表单元素才能获取,因此这个选择器也主要针对于表单元素来说。

Input : focus {

        background-color : yellow ;

}

总结

选择器

作用

特征

使用情况

隔开符号及用法

后代选择器

用来选择后代元素

可以是所有的

较多

符号是空格 .nav a

子代选择器

选择最近一级元素

只选最靠近的一个

较少

符号是大于 .nav>p

并集选择器

选择某些相同样式的元素

可以用于集体声明

较多

符号是逗号.nav,.header

链接伪类选择器

选择不同状态的链接

跟链接相关

较多

重点记住 a{ } 和 a:hover 实际开发的写法

:focus 选择器

选择获得光标的表单

跟表单相关

较少

input:focus 记住这个写法

三、引入方式

按照 CSS 样式书写的位置(或者引入的方式),CSS样式表可以分为三大类。

  • 行内样式表(行内式)
  • 内部样式表(嵌入式)
  • 外部样式表(链接式)

1 内部样式表

内部样式表(内嵌样式表)是写到html页面内部,是将所有的 CSS 代码抽取出来,单独放到一个<style>标签中。

  • <style> 标签理论上可以放在HTML 文档的任何地方,但一般会放在文档的 <head> 标签中。
  • 通过此种方式,可以方便控制当前整个页面中的元素样式设置。
  • 代码结构清晰,但是并没有实现结构与样式完全分离。
  • 使用内部样式表设定CSS,通常也被称为嵌入式引入,这种方式是我们练习时常用的方式

2 行内样式表

行内样式表(内联样式表)是在元素标签内部的 style 属性中设定 CSS 样式。适合于修改简单样式。

<div style= "color : red ; font-size :12px ; ">2025新年快乐</div>

  • style 其实就是标签的属性。
  • 在双引号中间,写法要符合CSS规范。
  • 可以控制当前的标签设置样式。
  • 由于书写繁琐,并且没有体现出结构与样式相分离的思想,所以不推荐大量使用,只有对当前元素添加简单样式的时候,可以考虑使用。
  • 使用行内样式表设定CSS,通常也被称为行内式引入。

3 外部样式表

实际开发都是外部样式表,适合于样式比较多的情况,核心是:样式单独写到CSS 文件中,之后把CSS文件引入到 HTML页面中使用.

引入外部样式表分为两步

1.新建一个后缀名为.css 的样式文件,把所有 CSS 代码都放入此文件中。

2.在 HTML页面中,使用<link>标签引入这个文件。

<link rel="stylesheet" href="css文件路径">

四、CSS特性

CSS 有三个非常重要的三个特性:层善性、继承性、优先级。

1 层叠性

相同选择器给设置相同的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式。层叠性主要解决样式冲突的问题。

层曼性原则:

  • 样式冲突,遵循的原则是就近原则,哪个样式离结构近,就执行哪个样式
  • 样式不冲突,不会层叠。

2 继承性

CSS中的继承: 子标签会继承父标签的某些样式,如文本颜色和字号。简单的理解就是:子承父业。

  • 恰当地使用继承可以简化代码,降低CSS样式的复杂性。
  • 子元素可以继承父元素的样式( text-,font-,line- 这些元素开头的可以继承,以及color属性)

行高的继承性

body {

        font : 12px/1.5 Microsoft YaHei ;

}

1.5:指行高是当前文字大小的1.5倍的 1.5*12=18px

  • 行高可以跟单位也可以不跟单位
  • 如果子元素没有设置行高,则会继承父元素的行高为1.5
  • 此时子元素的行高是:当前子元素的文字大小*1.5

3 优先级

当同一个元素指定多个选择器,就会有优先级的产生

  • 选择器相同,则执行层叠性
  • 选择器不同,则根据选择器权重执行

选择器

选择器权重

继承 或者 *

0.0.0.0

元素选择器

0.0,0 1

类选择器,伪类选择器

0.0.1.0

ID选择器

0.1.0.0

行内样式 style=""

1.0.0.0

!important 重要的

∞ 无穷大

注意点:

1.权重是有4组数字组成,但是不会有进位。

2.可以理解为类选择器永远大于元素选择器,id选择器永远大于类选择器,以此类推。

3.等级判断从左向右,如果某一位数值相同,则判断下一位数值。

4.可以简单记忆法: 通配符和继承权重为0,标签选择器为1,类(伪类)选择器为10,id选择器 100,行内样式表为1000,!important无穷大.

5.继承的权重是0,如果该元素没有直接选中,不管父元素权重多高,子元素得到的权重都是 0。

权重叠加 : 如果是复合选择器,则会有权重叠加,需要计算权重。


CSS是一个强大的工具,有丰富的特性和功能,包括但不限于动画、转换、网格布局、Flexbox等,这些特性使得Web界面的设计更加动态和互动。

;