首页 > 其他分享 >CSS样式

CSS样式

时间:2025-01-01 22:54:44浏览次数:3  
标签:样式 标签 元素 样式表 选择器 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界面的设计更加动态和互动。

标签:样式,标签,元素,样式表,选择器,CSS
From: https://blog.csdn.net/weixin_70633211/article/details/144872683

相关文章

  • 大学生HTML期末大作业——HTML+CSS+JavaScript购物商城
    HTML+CSS+JS【购物商城】网页设计期末课程大作业web前端开发技术web课程设计网页规划与设计......
  • 大学生HTML期末大作业——HTML+CSS+JavaScript购物商城(篮球)
    HTML+CSS+JS【购物商城】网页设计期末课程大作业web前端开发技术web课程设计网页规划与设计......
  • 730. 大学生HTML5期末大作业 ―【可爱的草莓熊网站首页(1页)】 Web前端网页制作 html5
    目录一、网页概述二、网页文件三、网页效果四、代码展示1.html2.CSS五、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强六、更多推荐欢迎光临仙女的网页世界!这里有各行各业的Web前端网页制作的案例,样式齐全新颖,并持续更新!感谢CSDN,提供了这么好的......
  • 基于html+css+js实现的登录注册静态网页
    基于html+css+js实现的登录注册静态网页添加了登录注册的丝滑切换,页面出现的效果,动态背景,纯css的响应式布局效果图展示:登录效果图展示:注册html部分代码:`<divclass="container"><divclass="forms-container"><divclass="for......
  • 说说你对css中属性pause-after的理解
    在CSS中,pause-after并不是一个标准的属性。可能你把它与某些特定的CSS属性或者与WebSpeechAPI、媒体播放相关的属性混淆了。CSS标准属性:CSS目前并没有名为pause-after的标准属性。CSS主要用于描述文档的样式,如布局、颜色、字体等,而不涉及动画或音频播放的控制流程......
  • 说说你对css中属性cue-before的理解
    首先,需要澄清一点:在标准的CSS属性中,并不存在一个名为cue-before的属性。可能你是指::cue伪元素和与之相关的样式设置,或者是其他某种特定上下文中的非标准属性。在Web开发中,::cue是一个用于样式化HTML5<track>元素中WebVTT(WebVideoTextTracks)提示文本的伪元素。WebVTT通常用于......
  • 说说你对css中属性cue的理解
    在CSS中,并没有名为cue的标准属性。可能你是指的其他某个属性,或者是与WebVTT(WebVideoTextTracks)相关的cue,它是一个用于展示视频文本轨道(如字幕、标题或说明)的HTML5API的一部分。如果你是在提及CSS与WebVTT结合使用的上下文中的cue,那么它通常指的是视频中的字幕或提示。WebVTT......
  • 说说你对css中属性cue-after的理解
    首先,需要澄清一点:cue-after并不是CSS的标准属性。可能你指的是::cue伪元素和content属性或其他类似的自定义属性,但cue-after本身并不存在于CSS规范中。然而,如果我们从一个更宽泛的角度来解释,并假设这是一个自定义属性或特定环境下的扩展,那么cue-after可能代表在某种......
  • 说说你对css中属性play-during的理解
    在CSS中,play-during属性并不是一个标准的或广泛支持的属性。实际上,在CSS的官方规范或常见的前端开发实践中,并没有play-during这个属性。可能你是想要提到与动画或音频/视频播放相关的某个属性,但play-during并不属于CSS的标准属性集。如果你是在寻找控制动画在特定时间内播放的......
  • 说说你对css中属性list-style-type的理解
    list-style-type是CSS中的一个属性,它用于指定HTML列表项(<li>元素)前面的标记(bulletpoint)的样式。这个属性主要应用于有序列表(<ol>)和无序列表(<ul>),以改变它们默认的列表项标记样式。值list-style-type属性可以接受多个不同的值,每个值都会改变列表项的显示方式。以下是一些......