当前位置: 首页 > news >正文

CSS篇——第一章 六十五项关键技能(上篇)

目录

一、交集选择器

二、字体属性

三、字体族(font-family)

四、字体复合属性(font)

五、颜色(color)

六、伪类选择器

七、继承性

八、层叠性

九、优先级

十、复合选择器

十一、伪元素选择器

十二、背景图平铺

十三、背景图位置

十四、背景图缩放

十五、背景图固定

十六、背景复合属性

十七、显示模式转换

十八、结构伪类选择器

十九、:nth-child()公式

二十、显示模式基础

二十一、盒子模型组成

二十二、边框线

二十三、内边距(padding)

二十四、盒子尺寸计算

二十五、元素溢出

二十六、外边距问题

二十七、行内元素边距

二十八、盒子阴影

二十九、浮动基础

三十、清除浮动

三十一、浮动本质


CSS核心知识点摘要(148字)

  1. 选择器:交集选择器、伪类(:hover等)、结构伪类(:nth-child)、伪元素(::before)
  2. 字体控制:font复合属性(顺序:style weight size/line-height family)、多字体备选
  3. 盒模型:组成(content/padding/border/margin)、box-sizing、margin塌陷解决方案
  4. 背景:background复合属性(含position/size/attachment)
  5. 浮动:特点(脱标/行内块特性)、清除浮动4种方法(推荐双伪元素法)
  6. 优先级:!important > 行内 > ID > 类 > 标签 > 继承
  7. 显示模式:block/inline/inline-block特性及转换
一、交集选择器
  1. 作用
    选中同时满足多个条件的元素(如:既是p标签又有.box类)

  2. 写法

    选择器1选择器2 { CSS属性 }
    (选择器之间无符号连写)cssp.box { color: red; } /* 选中类名为box的p标签 */

  3. 注意事项
    ⚠️ 含标签选择器时,标签选择器必须写在最前面


二、字体属性
属性作用控制对象
font-size字体大小文字
font-weight字体粗细文字
font-style字体倾斜文字
line-height行高文字
font-family字体族文字
font复合属性-
text-indent文本缩进段落
text-align文本对齐文本
text-decoration修饰线文字
color颜色文字

三、字体族(font-family)
  1. 基本用法

    font-family: 字体名;示例:font-family: 楷体;

  2. 多字体备选

    font-family: "Microsoft YaHei", "Heiti SC", sans-serif;
    • 从左向右依次查找可用字体

    • ⚠️ 最后必须设置通用字体族(如sans-serif

  3. 字体分类

    类型特点示例
    无衬线字体无笔画装饰Arial
    衬线字体有笔画装饰衬线Times New Roman

四、字体复合属性(font)
  1. 作用
    简写多个字体属性(font-style + font-weight + font-size/line-height + font-family

  2. 标准顺序

    font: 是否倾斜 是否加粗 字号/行高 字体;
    /* 原始写法 */
    div {font-style: italic;font-weight: 700;font-size: 30px;line-height: 2;font-family: 楷体;
    }/* 复合写法 */
    div {font: italic 700 30px/2 楷体;
    }

  3. 注意事项
    ⚠️ 字号和字体值必须书写,否则属性失效


五、颜色(color)
表示方式写法使用场景
颜色关键字redblue学习测试
RGBrgb(255,0,0)了解
RGBArgba(255,0,0,0.5)透明效果
十六进制#FF0000 或 #F00开发常用

六、伪类选择器
  1. 作用
    选中元素的特定状态

  2. 鼠标悬停

    选择器:hover { color: red; /* 鼠标悬停时变红 */
    }

  3. 超链接四大状态

    选择器状态
    :link未访问
    :visited已访问
    :hover悬停
    :active点击时

    ⚠️ 书写顺序必须为 LVHA(link → visited → hover → active)


七、继承性
  1. 规则
    子元素默认继承父元素的文字控制属性

  2. 可继承属性
    font-sizefont-weightfont-styleline-heightfont-familytext-indenttext-aligncolor
    ⚠️ 非文字属性(如宽高)不继承


八、层叠性
  1. 相同属性
    后写的覆盖先写的

    div { color: red; }
    div { color: green; } /* 最终显示绿色 */

  2. 不同属性
    样式叠加生效

    div { color: red; font-weight: 700; }
    div { color: green; font-size: 30px; }
    /* 结果:绿色、700加粗、30px字号 */


九、优先级
  1. 权重规则
    !important > 行内样式 > ID选择器 > 类选择器 > 标签选择器 > 通配符 > 继承
    (选择范围越小,优先级越高)

  2. 叠加计算

    • 格式:(行内, ID个数, 类个数, 标签个数)

    • 比较规则:从左向右逐级比对

      #father #son {}       /* (0,2,0,0) */
      #father p.c2 {}      /* (0,1,1,1) */
      div.c1 p.c2 {}       /* (0,0,2,2) */

  3. 关键规则
    ⚠️ !important权重最高
    ⚠️ 继承权重最低


十、复合选择器
  1. 后代选择器

    父选择器 子选择器 { color: red; /* 选中所有后代 */
    }

  2. 子代选择器

    父选择器 > 子选择器 { color: red; /* 仅选中直接子元素 */
    }

  3. 并集选择器

    选择器1, 选择器2 { color: red; /* 同时选中多组元素 */
    }

  4. 交集选择器

    选择器1选择器2 { color: red; /* 选中同时满足条件的元素 */

十一、伪元素选择器
  1. 作用
    创建虚拟元素用于摆放装饰性内容

  2. 常用伪元素

    选择器说明
    E::before在E元素内部最前面添加伪元素
    E::after在E元素内部最后面添加伪元素
  3. 注意事项
    ⚠️ 必须设置 content: "" 属性(内容为空时引号留空)
    ⚠️ 默认显示模式为行内元素
    ⚠️ 权重等同于标签选择器


十二、背景图平铺
属性名background-repeat
属性值效果
no-repeat不平铺
repeat平铺(默认)
repeat-x水平方向平铺
repeat-y垂直方向平铺

十三、背景图位置
  1. 属性名
    background-position

  2. 属性值写法
    水平位置 垂直位置

    • 关键字left/right/center(水平),top/bottom/center(垂直)

    • 坐标值50px -100px(水平:正右负左;垂直:正下负上)

  3. 特性

    • 关键字顺序可颠倒(center bottom ≡ bottom center

    • 只写一个值时:水平方向使用该值,垂直方向居中


十四、背景图缩放
属性名background-size
属性值效果
cover等比例缩放完全覆盖区域(可能裁剪图片)
contain等比例缩放完全装入区域(可能留白)
百分比按容器尺寸百分比缩放
具体尺寸400px 等具体数值

十五、背景图固定
属性名background-attachment
属性值效果
fixed背景图固定不随内容滚动
应用场景创建视差滚动效果

十六、背景复合属性
  1. 属性名
    background

  2. 标准写法
    背景色 背景图 平铺方式 位置/缩放 固定方式

    background: pink url('./1.png') no-repeat right center/cover fixed;

  3. 特性

    • 属性值顺序可调

    • 非必需值可省略


十七、显示模式转换
属性值效果特点
block块级元素独占一行,可设宽高
inline-block行内块元素同行显示,可设宽高
inline行内元素同行显示,不可设宽高

十八、结构伪类选择器
选择器作用
E:first-child选择父元素中第一个E元素
E:last-child选择父元素中最后一个E元素
E:nth-child(N)选择父元素中第N个E元素

十九、:nth-child()公式
需求公式示例
偶数元素2n2,4,6...
奇数元素2n+1 或 2n-11,3,5...
5的倍数5n5,10,15...
第5个以后n+55,6,7...
第5个以前-n+51,2,3,4,5

二十、显示模式基础
  1. 定义
    元素在页面中的呈现方式

  2. 核心作用
    根据布局需求选择合适的显示模式

  3. 常见模式对比

    <div>块级元素(独占一行)</div>
    <span>行内元素(同行显示)</span>


二十一、盒子模型组成
  1. 核心组成

    • 内容区域(width & height

    • 内边距(padding:内容与边框间距)

    • 边框线(border

    • 外边距(margin:盒子外部间距)


二十二、边框线
  1. 基础属性

    border: 粗细 样式 颜色; /* 顺序可调 */
    样式值效果
    solid实线
    dashed虚线
    dotted点线
  2. 单方向边框

    border-top: 2px solid red;    /* 上边框 */
    border-right: 3px dashed green; /* 右边框 */
    border-bottom: 4px dotted blue; /* 下边框 */
    border-left: 5px solid orange; /* 左边框 */


二十三、内边距(padding)
  1. 作用
    控制内容与边框的间距

  2. 多值写法

    值数量示例含义
    1值padding: 20px;四边相同
    2值padding: 10px 50px;上下 | 左右
    3值padding: 10px 30px 50px;上 | 左右 | 下
    4值padding: 10px 20px 30px 40px;上 | 右 | 下 | 左

二十四、盒子尺寸计算
  1. 默认公式

    数学

    盒子尺寸 = 内容尺寸 + border尺寸 + padding尺寸
  2. 内减模式

    box-sizing: border-box; /* 自动内减不撑大盒子 */

    ⚠️ 不加此属性时,添加border/padding会撑大盒子


二十五、元素溢出
属性值效果
hidden隐藏溢出内容
scroll强制显示滚动条
auto溢出时自动显示滚动条

二十六、外边距问题
  1. 合并现象
    ⚠️ 垂直排列元素:上下margin合并,取较大值生效

    div1 { margin-bottom: 30px; }
    div2 { margin-top: 50px; } /* 实际间距=50px */

  2. 塌陷问题
    ⚠️ 子元素margin-top导致父元素一起下移
    解决

    • 父元素加overflow: hidden

    • 父元素加border-top

    • 父元素用padding替代子元素margin


二十七、行内元素边距
  1. 限制
    行内元素设置margin/padding无法改变垂直位置

  2. 解决方案

    span {line-height: 60px; /* 通过行高调整垂直位置 */
    }


二十八、盒子阴影
  1. 属性
    box-shadow: X偏移 Y偏移 模糊半径 扩散半径 颜色 内外阴影;

  2. 示例

    box-shadow: 5px 5px 10px 2px rgba(0,0,0,0.3) inset;

  3. 注意事项
    ⚠️ X/Y偏移量必须填写
    ⚠️ 默认外阴影,内阴影需添加inset


关键问题总结

问题类型现象解决方案
尺寸撑大添加border/padding后盒子变大box-sizing: border-box
垂直margin合并相邻元素上下margin取最大值避免双margin,使用单方向控制
父子margin塌陷子元素margin-top带动父元素父元素加overflow:hiddenborder
行内元素垂直定位margin/padding无效使用line-height调整

二十九、浮动基础
  1. 作用
    使块级元素水平排列

  2. 属性

    float: left;   /* 左浮动 */
    float: right;  /* 右浮动 */

  3. 核心特点

    • ⚠️ 浮动元素顶对齐

    • ⚠️ 浮动元素具备行内块特性(可设宽高且同行显示)

    • ⚠️ 父级宽度不足时自动换行

    • ⚠️ 浮动后脱标(脱离标准流不占位)


三十、清除浮动
  1. 问题场景
    ⚠️ 父元素无高度时,浮动子元素无法撑开父级高度 → 布局错乱

  2. 解决方法

    方法代码示例特点
    额外标签法<div style="clear:both"></div>在父元素末尾添加空标签
    单伪元素法.clearfix::after {<br> content: "";<br> display: block;<br> clear: both;<br>}最常用
    双伪元素法.clearfix::before,<br>.clearfix::after {<br> content: "";<br> display: table;<br>}<br>.clearfix::after {<br> clear: both;<br>}推荐方案
    overflow法父元素 { overflow: hidden }简单但有裁剪风险

三十一、浮动本质

核心作用:实现图文混排效果(文字环绕图片)

<img src="photo.jpg" style="float: left">
<p>文本内容将自动环绕在图片周围...</p>

关键总结

特性说明
脱标浮动元素不占据标准流位置
行内块特性可设宽高且同行显示
父级高度塌陷必须清除浮动保持布局
清除方案优先级双伪元素法 > 单伪元素法 > overflow法 > 额外标签法

http://www.lryc.cn/news/593825.html

相关文章:

  • Python高级数据类型:集合(Set)
  • 【通识】PCB文件
  • 【Linux服务器】-MySQL数据库参数调优
  • day11 ADC
  • 深入解析Linux文件重定向原理与dup2系统调用
  • MyBatis之缓存机制详解
  • 立创EDA中双层PCB叠层分析
  • 如何快速学习一门新技术
  • Java SE 讨论String类
  • QML 动画效果详解
  • Temperature 是在LLM中的每一层发挥作用,还是最后一层? LLM中的 Temperature 参数 是怎么计算的
  • 车载通信架构 --- DoIP协议通信
  • 2025年睿抗机器人开发者大赛CAIP-编程技能赛(省赛)-RoboCom 世界机器人开发者大赛-本科组
  • 2021 RoboCom 世界机器人开发者大赛-本科组(初赛)解题报告 | 珂学家
  • Lock4j 使用说明
  • 使用Python进行文件拷贝的方法
  • 地图定位与导航
  • Claude Code 最新详细安装教程
  • 研华PCI-1285/1285E 系列------(一概述)
  • 模型自信度提升:增强输出技巧
  • 国产电科金仓数据库金仓KES V9 2025:AI时代的数据库融合标杆
  • docker|Linux|以centos基础镜像为基础制作nmap专用镜像(镜像瘦身计划)
  • 基于大模型打造故障预警服务器巡检机器人
  • CSS面试题及详细答案140道之(81-100)
  • 如何解决AttributeError: ‘NoneType‘ object has no attribute问题
  • 13.5 Meta LLaMA 2核心技术拆解:4T数据训练+30%显存优化,70B模型准确率82.6%
  • 文献阅读:全球农田的植被总初级生产力(GPP)、蒸散发(ET)和水分利用率(WUE)的变化研究
  • 数据分析综合应用 30分钟精通计划
  • 重学Framework Input模块:如何实现按键一键启动Activity-学员作业
  • 纸板制造糊机操作