news 2026/2/2 18:58:54

[css特性]HTML Learn Data Day 3

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[css特性]HTML Learn Data Day 3

这两天真有点忙,期末的实验最难做了!

了解了css的一些特性,一直没觉得css没多难,但是学着学着发现,选择器这东西像是石山

尤其是选择器权重更是重量级的石山,就没有更简单一点的办法?

有没有懂的能告诉我?

选择器

1. 复合选择器

复合选择器是由两个或多个基础选择器,通过特定的方式组合而成,用于更精准地定位 HTML 元素。

  • 后代选择器 (Descendant Selector):用空格隔开(如.box p),选择父元素内所有的后代元素。
  • 子代选择器 (Child Selector):用>隔开(如.box > p),只选择亲儿子层级的元素。
  • 并集选择器 (Union Selector):用逗号,隔开,集体声明,多个选择器共享同一套样式。
  • 交集选择器 (Intersection Selector):紧密相连(如div.red),既是 div 又是 .red 的元素(注意:标签名必须写在前面)。

2. 伪类选择器 (Pseudo-classes)

伪类本质上是用来描述元素处于某种特定状态的类。

链接伪类(遵循 LVHA 顺序编写):

  • :link:未访问的链接状态。
  • :visited:已访问后的链接状态。
  • :hover:鼠标悬停状态(最常用)。
  • :active:鼠标点击按下但未松开的状态。

补充知识:除了链接,还有结构伪类(如:first-child,:nth-child(n))和行为伪类(如:focus焦点状态),它们在布局中也非常高效。

CSS 三大特性

1. 继承性

子元素会继承父元素的某些样式。

  • 哪些能继承:主要是文本相关的属性,如font-size,font-family,color,line-height,text-align
  • 哪些不能继承:布局相关的属性,如margin,padding,border,width,height等。

2. 层叠性

当同一个元素被设置了多个相同的属性时,CSS 的冲突处理机制。

  • 如果选择器权重相同,则遵循就近原则:写在 CSS 样式表下方的属性会覆盖上方的属性。

3. 优先级/权重

优先级决定了哪条规则最终生效。我们可以用一套“权重权重计分表”来快速判断:

选择器类型权重权重(数值表示)说明
!important∞\infty(无穷大)强制生效,尽量少用
行内样式(1,0,0,0)(1, 0, 0, 0)(1,0,0,0)写在标签style属性里
ID 选择器(0,1,0,0)(0, 1, 0, 0)(0,1,0,0)#header
类/伪类/属性选择器(0,0,1,0)(0, 0, 1, 0)(0,0,1,0).content,:hover
标签选择器(0,0,0,1)(0, 0, 0, 1)(0,0,0,1)div,p
通配符/继承(0,0,0,0)(0, 0, 0, 0)(0,0,0,0)*权重最低
  • 口诀:选中的范围越精确,优先级越高。
  • 复合选择器计算:权重会累加。例如nav ul li的权重是0,0,0,30,0,0,30,0,0,3;而.nav ul li0,0,1,20,0,1,20,0,1,2。后者胜出。

背景属性

CSS 的background属性不仅能设置颜色,还能精细控制图片的显示。

CSS

.the-image{width:300px;height:300px;background-color:pink;/* 背景颜色 */background-image:url(../image/cuteReisentyan.jpg);/* 背景图片路径 */background-repeat:no-repeat;/* 不平铺/不重复 */background-size:contain;/* 图片缩放模式:cover(充满) 或 contain(完整显示) */background-position:center center;/* 图片水平垂直居中 */background-attachment:fixed;/* 背景固定,不随页面滚动 */}

补充:背景复合写法(Shorthand)为了简化代码,通常写成一行:background: 背景颜色 背景图片地址 背景平铺 背景滚动 背景位置 / 背景尺寸;(注:背景尺寸必须紧跟在位置后面并用斜杠隔开)

元素显示模式 (Display Mode)

理解显示模式是掌握网页布局(尤其是后续 Flex 布局)的前提。

  1. 块级元素 (Block-level)
    • 代表div,h1~h6,p,ul,li
    • 特点:独占一行;宽度默认是父级 100%;可以设置宽、高、内外边距。
  2. 行内元素 (Inline)
    • 代表span,a,i,em
    • 特点:一行可以显示多个;设置宽高无效;大小由内容撑开。
  3. 行内块元素 (Inline-block)
    • 代表img,input,td
    • 特点:一行显示多个,但可以设置宽高和内外边距。

模式转换:使用display属性

  • display: block;:转换为块级(常用:让<a>标签可设置宽高)。
  • display: inline;:转换为行内。
  • display: inline-block;:转换为行内块。
  • display: none;隐藏元素(不占位)。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/1 8:21:48

如何设计一个数据驱动的故事

原文&#xff1a;towardsdatascience.com/how-to-design-a-data-driven-story-c46400afcbb9 https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/042dba457ebcfca4580cfb96647e0f5a.png 来源&#xff1a;作者在 ChatGPT 中生成的图片。 这篇…

作者头像 李华
网站建设 2026/1/31 12:15:30

购买服务器,选择按流量计费的含义,优缺点分析~

在阿里云、腾讯云等平台购买云服务器时&#xff0c; 带宽计费方式通常有两个选项&#xff1a; 按固定带宽 或 按使用流量计费。 很多人被“按流量计费”吸引—— “带宽可任选高达1-200Mbps&#xff0c;用多少付多少”&#xff0c;听起来很灵活。 但背后的风险&#xff0c;你真…

作者头像 李华
网站建设 2026/1/30 1:40:30

[Linux外设驱动详解]PWM Backlight 驱动详解

PWM Backlight 驱动详解 1. 概述 pwm_bl.c 是 Linux 内核中基于 PWM 的背光控制驱动程序。该驱动通过 PWM(脉冲宽度调制)信号来控制 LCD 屏幕的背光亮度,是嵌入式系统中常用的背光控制方案。 文件位置: linux-4.19.125/drivers/video/backlight/pwm_bl.c 主要功能: 通过…

作者头像 李华
网站建设 2026/1/29 19:12:26

GPT 系列学习总结(1-3)

GPT(Generative Pre-Trained Transformer)&#xff1a; GPT 系列是 OpenAI 的一系列预训练模型&#xff0c;GPT 的目标是通过 Transformer&#xff0c;使用预训练技术得到通用的语言模型(目前已经公布论文的有 GPT-1、GPT-2、GPT-3) 核心架构&#xff1a;仅解码器&#xff08;…

作者头像 李华
网站建设 2026/1/30 5:12:15

当测试遇到产品经理:用测试思维评审需求文档的核心方法论

一、需求评审的测试思维转型 传统认知中&#xff0c;测试是开发流程的末端环节。但现代敏捷实践要求测试人员前置介入需求评审&#xff0c;通过四大核心思维重构评审逻辑&#xff1a; 可测性思维&#xff1a;立即识别模糊表述&#xff08;如"快速响应""用户体验…

作者头像 李华