博主信息
博文 29
粉丝 1
评论 0
访问量 44490
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
css 规则的三种导入方式以及几类基础的选择器
祥子弟弟
原创
1144人浏览过

一、css 规则的三种导入方式

1. 内部样式

内部样式是通过 style 标签引入的,这种样式导入仅在当前页面适用,一旦跳转到其他页面,想要引入当前页面的样式还得重新用 style 标签导入重新写一遍,这样会形成代码冗余。
页面样式示例:

  1. <h1>这是一个测试标题</h1>

<style>
h1 {
color: lightblue;
border: 1px solid;
}
</style>

浏览器效果如下:

2. 外部样式

外部样式是使用 link 标签引入的已经写好的 css 样式表。它适用于所有引入了这个 css 样式表的 html 文档。

使用同一个页面样式示例,仅是将 style 标签中的 css 样式代码重写到一个 css 文件中,然后使用 link 标签导入就好。
示例:

<link rel="stylesheet" href="style/style.css" />

3. 行内样式

行内样式的话,它有点类似私人定制的意思。它的使用范围是仅限于当前页面的特定元素,使用 style 属性去定义。

样式示例:

<h1 style="border: 1px solid #000">这是一个测试标题</h1>

二、css 的几类基础选择器

1. 简单选择器

  • 标签选择器

样式案例:

p {
background-color: lightblue;
}

  • 类选择器

样式案例:(此处的 class 是 class 属性的值)

.calss {
color: lightblue;
}

  • id 选择器

样式案例:(此处的 id 是 id 属性的值)

#id{
border: 1px solid #000;
}

2. 上下文选择器

  • 后代选择器(关键字:空格符)

选择范围是:所定位的标签下的所有后代标签

样式案例:

ul li {
background-color: lightgoldenrodyellow;
}

  • 子元素选择器(关键字:“>”)

选择范围是:所定位标签的子标签

样式案例:

ul > li {
color: red;
}

  • 同级之后紧邻选择器(关键字:“+”)

选择范围是:与所定位标签紧邻的之后的第一个兄弟元素

样式案例:

.a + li {
background-color: lightgreen;
}

  • 同级之后所有选择器(关键字:“~”)

选择范围是:与所定位标签紧邻的之后的所有兄弟元素

样式案例:

.a ~ li {
background-color: yellow;
}

3.伪类选择器

使用 “:nth-of-type(an+b)” 以及其衍生物可以匹配到页面内任意一个位置的元素(an: 起始点; b:偏移量)

以以下 html 代码为示例

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8" />
  5. <title>伪类选择器</title>
  6. </head>
  7. <body>
  8. <ul>
  9. <li>item1</li>
  10. <li>item2</li>
  11. <li>item3</li>
  12. <li>item4</li>
  13. <li>item5</li>
  14. <li>item6</li>
  15. <li>item7</li>
  16. <li>item8</li>
  17. <li>item9</li>
  18. <li>item10</li>
  19. </ul>
  20. <ul>
  21. <li>这是唯一的</li>
  22. </ul>
  23. </body>
  24. </html>
  • 匹配到单个元素

此时的 a 为 0,b 是要匹配到的位置

示例:(匹配到第三个 li 元素)

ul li :nth-of-type(3) {
background-color: lightgoldenrodyellow;
}

浏览器效果:

  • 匹配多个元素

此时 a 不为 0,按照所选择的规则适当的改变 a 的值

示例:(匹配第三个及之后的所有元素)

ul li :nth-of-type(n + 3) {
background-color: lightgoldenrodyellow;
}

浏览器效果:

如果想只选中前两个元素,除了用添加 class 属性以外还可以用 nth-of-type(an+b),此时的 a 为-1,所选取的内容为偏移量之前的所有内容

示例:(匹配前两个元素)

ul li:nth-of-type(-n + 2) {
background-color: lightgoldenrodyellow;
}

浏览器效果:

(此处的唯一元素会被包含是因为它属于 ul 下第一个 li 的位置,同时也是最后一个 li 的位置)

  • 反向获取元素位置 (nth-last-of-type(an+b))

当一列元素特别多无法知道具体数值,但是想定位到尾部元素的时候用这个方法,原理和 nth-of-type(an+b)相同,不过是要反过来理解。

示例:(匹配最后一个元素)

ul li:nth-last-of-type(-n + 2) {
background-color: lightgoldenrodyellow;
}

浏览器效果:

匹配最后一个元素还可以用:last-of-type 来定义,相同的,匹配第一个元素也可以用:first-of-type 来定义,这都是:nth-of-type()的语法糖

  • 匹配元素位置为偶数/奇数的元素(关键字:even 代表偶数,odd 代表奇数)

示例:(选择偶数位置的元素)

ul li:nth-of-type(even) {
background-color: lightgoldenrodyellow;
}

浏览器效果:

当然这个偶数位置还可以用 2n 表示,奇数位置也可以用 2n+1 或者 2n-1 表示

  • 匹配父元素中唯一子元素(only-of-type)

ul li:only-of-type {
background-color: rgb(183, 221, 247);
}

浏览器效果:

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学