CSS三种样式表、样式表优先级、CSS选择器

这篇具有很好参考价值的文章主要介绍了CSS三种样式表、样式表优先级、CSS选择器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、CSS介绍:

1.1、CSS介绍:

CSS,全称是:Cascading Style Sheets,层叠样式表,用于修饰HTML页面的。

CSS编写规则如下所示:

CSS编写的规则分为两部分,分别是:选择器、声明块。

  • 声明块,需要使用【{}】大括号包裹,括号里面使用【key: value;】的格式定义属性。

选择器,表示需要对哪个HTML标签添加CSS样式,声明块表示要给选择的标签添加什么样式效果。例如:

h1 {
    color: blue;
    font-size: 20px;
}

1.2、CSS三种使用方式:

CSS有三种使用方式,这三种方式在不同地方使用,分别是:内联样式、内部样式、外部样式。

(1)内联样式:

内联样式,是直接在需要添加样式的HTML标签上面,使用【style】属性进行样式修饰。如下所示:

<body>
    <div style="color: blue; font-size: 20px;">内联CSS样式</div>
</body>

(2)内部样式:

内部样式,是在head标签之前,使用【

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <style>
        .box {
            color: blue;
            font-size: 20px;
        }
    </style>
</head>
<body>
    <div clas="box">内联CSS样式</div>
</body>
</html>

(3)外部样式:

外部样式,就是将所有的CSS代码统一的写到一个CSS文件里面,然后哪个HTML要使用,就通过【】标签引入即可。

<!-- 引入外部CSS样式 -->
<link rel="stylesheet" href="./cssdemo.css">

rel属性,用于指定是CSS样式表,href属性用于指定CSS文件的路径。

1.3、CSS样式表的优先级:

上面三种CSS样式表的使用方式,是具有优先级,浏览器会使用优先级越高的CSS样式。

CSS样式表优先级:

  • 内联样式 > 内部样式 和 外部样式,即:标签上面使用的style属性优先级最高。
  • 内部样式 和 外部样式 的优先级,最后读取的样式,优先级更高,即:哪个最后定义,就使用哪个样式。
    • 也可以理解为后定义的样式,会覆盖前面定义的样式。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <!-- 引入外部CSS样式 -->
    <link rel="stylesheet" href="./cssdemo.css">
    <style>
        div {
            color: blue;
        }
    </style>
</head>
<body>
    <!-- <div style="color: red;">三种CSS样式表优先级</div> -->
    <div clas="box">三种CSS样式表优先级</div>
</body>
</html>

定义的CSS外部样式。

div {
    color: orange;
    font-size: 20px;
}

二、CSS选择器:

2.1、简单选择器:

(1)元素选择器:

根据HTML标签名称来选择元素。

<style>
    div {
        color: blue;
    }
</style>

(2)id选择器:

id选择器,需要给HTML标签添加id属性,然后再通过指定的id名称来选择到这个HTML标签,一个HTML里面,id属性应该是唯一的。

id选择器使用格式:#id名称 {样式属性}

CSS三种样式表、样式表优先级、CSS选择器,前端,css,前端

(3)class类别选择器:

class类别选择器,给需要添加样式的标签设置【class】属性,一个HTML页面里面,可以有多个相同名称的class选择器,也就是说,class类别选择器可以被重复使用。class选择器也支持同时设置多个,使用空格隔开即可。

class选择器使用格式:【.class名称 { 样式属性 } 】(注意:使用点号开头)

CSS三种样式表、样式表优先级、CSS选择器,前端,css,前端

(4)通用选择器:

通用选择器是对HTML中的所有标签添加CSS样式的,通用选择器使用【*】星号通配符定义。

CSS三种样式表、样式表优先级、CSS选择器,前端,css,前端

2.2、组合选择器:

(1)后代选择器:

后代选择器,通过【空格】将每个选择分隔,格式如下所示:

后代选择器:【选择器1 空格 选择器2 空格 选择器3…】

后代选择器,可以将所有指定的后代标签获取到。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <!-- 引入外部CSS样式 -->
    <link rel="stylesheet" href="./cssdemo.css">
    <style>
        /* 获取 div 标签下的所有 p 标签 */
        div p {
            color: red;
        }
    </style>
</head>
<body>
    <div>
        <div>
            <p>后代选择器</p>
        </div>
        <p>后代选择器</p>
        <p>后代选择器</p>
    </div>
</body>
</html>

(2)子选择器:

子选择器,通过【>】箭头将每个选择分隔,格式如下所示:

子选择器:【选择器1 > 选择器2 > 选择器3…】

子选择器,只能够获取到选择器下直接子元素,不能包含孙子元素。

CSS三种样式表、样式表优先级、CSS选择器,前端,css,前端

也就是某个选择器下面,第一层的标签。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <style>
        /* 获取 .box 选择器下的直接 p 标签 */
        .box > p {
            color: red;
        }
    </style>
</head>
<body>
    <div class="box">
        <div>
            <p>后代选择器</p>
        </div>
        <p>后代选择器</p>
        <p>后代选择器</p>
    </div>
</body>
</html>

(3)相邻兄弟选择器:

相邻兄弟选择器,通过【+】加号将每个选择器分隔,格式如下所示:

相邻兄弟选择器:【选择器1 + 选择器2 + 选择器3…】

待解锁_

(4)一般兄弟选择器:

一般兄弟选择器,通过【~】波浪线将每个选择器分隔,格式如下所示:

一般兄弟选择器:【选择器1 ~ 选择器2…】

待解锁_

2.3、伪类选择器:

伪类选择器,是根据元素的状态来选择元素。伪类选择器,是属于类别选择器的一种,它能够根据元素的状态来选择标签元素。

伪类选择器的格式如下:

伪类选择器:【选择器名称:状态 { 属性样式 }】

常见的伪类选择器,有如下几个:

伪类选择器:

  • 【:link】这是鼠标点击之前显示的样式。
  • 【:visited】这是鼠标点击之后显示的样式。
  • 【:hover】这是鼠标悬浮上面显示的样式。
  • 【:active】这是鼠标点击的那一刻显示的样式。

上面四个伪类选择器,一般情况下,都是使用在超链接上面,并且四个的使用顺序(l、v、h、a)必须按照上面定义的先后顺序编写,否则在浏览器中可能不能生效。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <style>
        a {
            font-size: 30px;
        }
        a:link {
            color: red;
        }
        a:visited {
            color: blue;
        }
        a:hover {
            color: yellow;
        }
        a:active {
            color: green;
        }
    </style>
</head>
<body>
    <a href="#">伪类选择器</a>
</body>
</html>

上面四个伪类选择器也可以使用在其他标签上面,但是只能使hover和active生效。

2.4、伪元素选择器:

伪元素选择器,可以在标签的前后添加额外的内容,伪元素选择器的使用格式:

伪元素选择器:【选择器名称::选择器类型 { 样式属性 }】

伪元素选择器有五种:

伪元素选择器:

  • 【::first-letter】在第一个字符之前添加样式(样式只能够对第一个字符生效)。
  • 【::first-line】在第一行之前添加样式(样式只能够对第一行文本生效)。
  • 【::before】在指定元素之前添加样式。
  • 【::after】在指定元素之后添加样式。
  • 【::selection】在元素选中之后显示的样式(这个只能支持:color、backgroud、cursor、outline四个属性)。

伪元素选择器添加文本内容是通过【content】属性。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <style>
        div {
            width: 100px;
            height: 100px;
            border: 2px solid blue;
        }
        .box1::first-letter {
            font-size: 30px;
            color: red;
        }
        .box2::first-line {
            font-size: 20px;
            color: green;
        }
        .box3::before {
            content: '***';
            color: red;
            font-size: 20px;
        }
        .box4::after {
            content: 'XXX';
            font-size: 30px;
            color: green;
        }
        .box5::selection {
            color: white;
            background: black;
        }
    </style>
</head>
<body>
    <div class="box1">
        伪元素选择器first-letter
    </div>
    <div class="box2">
        伪元素选择器first-line
    </div>
    <div class="box3">
        伪元素选择器before
    </div>
    <div class="box4">
        伪元素选择器aftre
    </div>
    <div class="box5">
        伪元素选择器selection
    </div>
</body>
</html>

2.5、结构伪类选择器:

结构伪类选择器,可以从多个元素中,选择指定的元素进行操作,常见的结构伪类选择器有如下这些:

结构伪类选择器:

  • :empty:选择内容是空的元素标签的选择器。
  • :root:匹配文档的根元素,即:html标签。
  • :first-child:选择第一个孩子元素。
  • :last-child:选择最后一个孩子元素。
  • :nth-child(n):选择索引值是n的孩子元素,索引值从1开始。
    • :nth-child(2n)、:nth-child(even):选择索引值是偶数的。
    • :nth-child(2n-1)、:nth-child(2n+1)、:nth-child(odd):选择索引值是奇数的。

2.6、目标伪类选择器:

目标伪类选择器,一般是锚点结合使用,语法格式:

  • 【XXX:target】:当选择对应目标之后,会触发。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选择器</title>
    <style>
        body>div>div {
            height: 600px;
            border: 1px solid black;
        }
        ul {
            position: fixed;
            top: 0;
        }
        /* 目标伪类选择器 */
        div:target {
            background-color: lightblue;
        }
    </style>
</head>
<body>
 
    <ul>
        <li><a href="#one">第一页</a></li>
        <li><a href="#two">第二页</a></li>
        <li><a href="#three">第三页</a></li>
    </ul>
    <div>
        <div id="one">第一页</div>
        <div id="two">第二页</div>
        <div id="three">第三页</div>
    </div>
</body>
</html>

2.7、UI元素状态选择器:

UI元素状态选择器,是针对表单元素设置的,有下面四种选择器:

UI元素状态选择器

  • :enabled:匹配所有处于可用状态的元素。
  • :disabled:匹配所有处于禁用状态的元素。
  • :checked:匹配所有选择状态的元素。
  • ::selection:匹配所有处于选中、高亮状态的元素(选中文本时候,注意是两个冒号)。
  • :focus:获得焦点时候的选择器。

案例代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>UI状态选择器</title>
    <style>
        input:enabled {
            background-color: lightblue;
        }
        input:disabled {
            background-color: pink;
        }
        input[type=checkbox]:checked {
            /* 去掉默认样式 */
            appearance: none;
            width: 20px;
            height: 20px;
            background: red;
        }
        input:focus {
            background-color: aqua;
        }
        div::selection {
            background-color: lightblue;
        }
    </style>
</head>
<body>
<form action="#">
    用户名:<input type="text"> <br>
    密码: <input type="text"> <br>
    多选<input type="checkbox"> <br>
    <input type="button" value="提交" disabled>
</form>
<div>
    BBBBBBBBBBBBBB
</div>
</body>
</html>

2.9、否定伪类选择器:

否定伪类选择器,语法格式:

  • 【:not(s)】:对指定的选择器,进行否定选中。
div:not(:first-child) {
	background-color: aqua;
}

2.10、属性选择器:

根据元素的属性或者属性值来选择元素。一般情况下,是针对表单、超链接采用属性选择器居多。属性选择器的使用格式:

属性选择器:

  • 第一种方式:【[属性名称]】,通过中括号包裹属性名称(查找含有指定属性名称的标签元素)。
  • 第二种方式:【[属性名称=“value”]】,通过中括号,包裹属性名称和属性值,查找含有指定属性名称,并且属性值等于给定的标签元素,(这种只能匹配单个属性值)。
  • 第三种方式:【[属性名称**~=****“value”]】,查找包含指定属性名称,并且属性值中包含给定值value的标签元素(这种是能够从多个属性值中进行匹配)。**
  • 第四种方式:【[属性名称**|=****“value”]】,查找包含指定属性名称,并且属性值是以【value】或者【value-】开头的元素(这种只能匹配单个属性值)。**
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>属性选择器</title>
    <style>
        input {
            display: block;
            margin: 10px;
        }
        /* 属性选择器 */
        /* 查找所有包含type属性的input标签 */
        input[type] {
            border: 2px solid blue;
            padding: 5px 10px;
        }
        /* 查找所有type属性等于text的input标签 */
        input[type='text'] {
            background-color: lightgray;
        }
        /* 查找所有class属性包含box2值的input标签 */
        input[class~='box2'] {
            width: 200px;
        }
        /* 查找所有class属性值是以box01开头的input标签 */
        input[class|='box'] {
            width: 300px;
        }
    </style>
</head>
<body>
    <input type="text" name="age">
    <input type="text" name="uname">
    <input type="password" class="box1 box2">
    <input type="text" class="box-css01">
</body>
</html>

运行效果如下:

CSS三种样式表、样式表优先级、CSS选择器,前端,css,前端文章来源地址https://www.toymoban.com/news/detail-705693.html

到了这里,关于CSS三种样式表、样式表优先级、CSS选择器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CSS 选择器优先级

    声明:本文参考来源于MDN CSS 优先级(80%)和B站尚硅谷的课程(20%) 我想你一定是来进行速查的,所以我会尽量精简文章内容,保证不浪费时间,不说废话 文章包括新的 :is 和 :where(实验性) 的说明 优先级就是分配给 CSS 声明的一个权重,由 匹配的选择器中的 每一种选

    2024年02月13日
    浏览(50)
  • 7 CSS选择器优先级

    7 选择器优先级 所谓CSS优先级,即是指CSS样式在浏览器中被解析的先后顺序。样式表中的特殊性描述了不同规则的相对权重。

    2024年02月12日
    浏览(38)
  • css选择器分类及优先级判断

    目录 选择器分类 全局选择器 元素选择器 类选择器 ID选择器 合并选择器 内联选择器  选择器的优先级 css语法规则由两个主要部分构成:选择器,以及一条或多条样式声明。 全局选择器:* 元素选择器:标签名称 类选择器:class属性名(.) ID选择器:id属性名(#) 内联选择

    2023年04月09日
    浏览(43)
  • CSS选择器和优先级权重

    标签选择器、伪元素选择器:1 类选择器、属性选择器、伪类选择器:10 id 选择器:100 内联样式:1000 选择器 格式 优先级权重 id选择器 #id 100 类选择器 .class 10 属性选择器 a[ref=“eee”] 10 伪类选择器 div:last-child 10 标签选择器 div 1 伪元素选择器 div:after 1 相邻兄弟选择器 h1+p

    2024年02月10日
    浏览(73)
  • css中选择器的优先级

    CSS 的优先级是由选择器的 特指度(Specificity) 和 重要性(Importance) 决定的,以下是优先级规则: 特指度 : ID 选择器 (#id) : 每个ID选择器计为100。 类选择器 (.class)、属性选择器 ([attr]) 和伪类选择器 (:hover, :focus 等) : 每个此类选择器计为10。 元素选择器 (p, div, span 等)  和伪

    2024年02月22日
    浏览(52)
  • CSS快速入门-选择器和优先级

    CSS是一种用于样式化网页的语言,全称为“层叠样式表”(Cascading Style Sheets)。 它可以控制网页中元素的外观和布局,例如颜色、字体、大小、边距、对齐等,让网页变得更加美观和易于阅读。 使用CSS可以将样式与网页内容分离开来,从而使网页结构更加清晰,减少HTML代码

    2023年04月22日
    浏览(55)
  • CSS_三大特性下_优先级

    CSS_特性继承和层叠 - Bublly - 博客园 (cnblogs.com) CSS_特性继承和层叠 - Bublly - 博客园 (cnblogs.com) 1特性: 不同选择器具有不同的优先级,优先级高的选择器样式会覆盖优先级低选择器样式 2优先级公式: 继承通配符选择器标签选择器类选择器id选择器行内样式!important 3注意点:

    2024年02月08日
    浏览(60)
  • CSS 的 折叠性、继承性、优先级

    折叠性是指当多个CSS属性应用到同一个元素上时,它们如何相互作用以确定最终的样式。当不同的规则决定同一个属性的值时,折叠性规定了哪个规则的值会被应用。 折叠性的规则如下: 样式冲突,遵循的原则是就近原则,哪个样式离结构近,就执行哪个样式 样式不冲突,

    2024年02月15日
    浏览(64)
  • CSS 中的优先级规则是怎样的?

    前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而又亲切的学习平台。在这个

    2024年02月13日
    浏览(34)
  • CSS3-三大特性-继承性、层叠性、优先级

        CSS三大特性         1 继承性         2 层叠性         3 优先级         1 继承性             特性:子元素有默认继承父元素样式的特点(子承父业)             可以继承的常见属性:                 1 color                 2 font-style、font-weight、font-size、fo

    2024年02月11日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包