常见的 CSS 知识点整理

1. 盒模型(Box Model)是什么?标准盒模型和 IE 盒模型的区别?

  • 答案
    CSS 盒模型将元素视为一个盒子,由内容(content)、内边距(padding)、边框(border)、外边距(margin)组成。
    • 标准盒模型:元素的宽度(width)仅指内容宽度。
    • IE盒模型:元素的宽度包括内容、内边距和边框的总和。
    • 切换方式
      box-sizing: content-box; /* 标准模式(默认) */
      box-sizing: border-box;  /* IE模式(推荐使用) */
      

2. CSS 选择器的优先级如何计算?

  • 答案
    优先级从高到低依次为:
    1. !important(慎用,破坏自然优先级)
    2. 内联样式(如 style="color: red;"
    3. ID 选择器(#id
    4. 类/伪类/属性选择器(.class, :hover, [type="text"]
    5. 元素/伪元素选择器(div, ::before
    • 示例
      .box #title 的优先级高于 div.title(ID > 类 > 元素)。

3. 如何让一个元素水平垂直居中?

  • 答案
    方法 1:Flex 布局(推荐)

    .parent {display: flex;justify-content: center; /* 水平居中 */align-items: center;     /* 垂直居中 */
    }
    

    方法 2:绝对定位 + 平移

    .child {position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%); /* 自身宽高的一半 */
    }
    

4. Flex 布局和 Grid 布局的区别?

  • 答案
    • Flex:一维布局,适合按行或列排列元素(如导航栏、卡片列表)。
    • Grid:二维布局,可以同时控制行和列(如复杂网格、仪表盘)。
    • 比喻
      Flex 像排队,只能横向或纵向对齐;Grid 像棋盘,可以精确控制每个格子的位置。

5. 什么是 BFC?如何触发 BFC?

  • 答案
    • BFC(块级格式化上下文):一个独立的渲染区域,内部元素不会影响外部。
    • 触发条件
      • overflow: hidden
      • float: left/right
      • position: absolute/fixed
      • display: inline-block/flex/grid
    • 作用
      • 解决外边距重叠(如父子元素 margin 合并)。
      • 清除浮动(防止父元素高度塌陷)。

6. 如何实现响应式设计?

  • 答案
    1. 媒体查询(Media Queries)
      @media (max-width: 768px) {/* 手机端样式 */
      }
      
    2. 相对单位:使用 %vwrem 替代固定像素。
    3. 弹性布局:Flex/Grid 自动适应屏幕尺寸。
    4. 图片适配srcset 属性或 max-width: 100% 防止图片溢出。

7. CSS 动画(animation)和过渡(transition)的区别?

  • 答案
    • transition:需要触发条件(如 hover),只能定义开始和结束状态,适合简单变化(如颜色渐变)。
      .box { transition: width 0.5s ease; }
      .box:hover { width: 200px; }
      
    • animation:通过关键帧(@keyframes)控制全过程,可自动播放,适合复杂动画(如旋转、连续运动)。
      @keyframes spin {from { transform: rotate(0deg); }to { transform: rotate(360deg); }
      }
      .box { animation: spin 2s infinite; }
      

8. 如何清除浮动(clearfix)?

  • 答案
    原因:父元素未设置高度时,子元素浮动会导致父元素高度塌陷。
    解决方法
    .parent::after {content: "";display: block;clear: both; /* 清除左右浮动 */
    }
    

9. 伪类(:hover)和伪元素(::before)的区别?

  • 答案
    • 伪类:选择元素的特定状态(如 :hover:focus)。
    • 伪元素:在元素内创建虚拟内容(如 ::before::after)。
    • 示例
      .button:hover { color: red; }          /* 伪类 */
      .button::before { content: "★"; }     /* 伪元素 */
      

10. CSS 如何实现多列等高布局?

  • 答案
    方法 1:Flex 布局

    .parent {display: flex;
    }
    /* 子元素自动等高 */
    

    方法 2:Grid 布局

    .parent {display: grid;grid-auto-flow: column; /* 按列排列 */
    }
    

附:高频进阶问题

  • 层叠上下文(z-index 生效条件):需设置 position 非 static。
  • CSS 预处理器(Sass/Less)的作用:变量、嵌套、混合(mixin)等。
  • CSS 性能优化:减少重排(如用 transform 替代 top/left)、压缩代码。

以上问题覆盖了 CSS 的核心概念和实际应用场景,建议结合代码实践加深理解!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/81029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Educational Codeforces Round 178 div2(题解ABCDE)

A. Three Decks #1.由于最后三个数会相等&#xff0c;提前算出来和&#xff0c;%3判断&#xff0c;再判前两个数是否大于 #include<iostream> #include<vector> #include<stdio.h> #include<map> #include<string> #include<algorithm> #…

如何创建一个导入模板?全流程图文解析

先去找到系统内可以上传东西的按钮 把你的模板上传上去,找到对应的fileName 图里的文字写错了,是复制粘贴"filePath"到URL才能下载

通信原理第七版与第六版区别附pdf

介绍 我用夸克网盘分享了「通信原理 第7版》樊昌信」&#xff0c;链接&#xff1a;https://pan.quark.cn/s/be7c5af4cdce 《通信原理&#xff08;第7版&#xff09;》是在第6版的基础上&#xff0c;为了适应当前通信技术发展和教学需求&#xff0c;并吸取了数十所院校教师的反…

Mysql唯一性约束

唯一性约束&#xff08;Unique Constraint&#xff09;是数据库设计中用于保证表中某一列或多列组合的值具有唯一性的一种规则。它可以防止在指定列中插入重复的数据&#xff0c;有助于维护数据的完整性和准确性。下面从几个方面为你详细解释 作用 确保数据准确性&#xff1a…

测试基础笔记第十六天

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、UI自动化介绍1.认识UI自动化测试2.实施UI自动化测试前置条件3.UI自动化测试执行时机4.UI自动化测试核心作用和劣势 二、认识Web自动化测试工具-Selenium021.Sel…

PaddleX的安装

参考&#xff1a;安装PaddlePaddle - PaddleX 文档 1、安装PaddlePaddle 查看 docker 版本 docker --version 若您通过 Docker 安装&#xff0c;请参考下述命令&#xff0c;使用飞桨框架官方 Docker 镜像&#xff0c;创建一个名为 paddlex 的容器&#xff0c;并将当前工作目…

长效住宅IP是什么?如何获取长效住宅IP?

在当今的互联网世界里&#xff0c;IP地址作为连接用户与网站之间的桥梁&#xff0c;其重要性不言而喻。对于跨境电商、社交媒体运营以及数据采集等领域的专业人士而言&#xff0c;普通的IP地址已无法满足日益复杂的需求。他们更需要一种稳定、安全且持久的长效住宅IP来完成各类…

02 业务流程架构

业务流程架构提供了自上而下的组织鸟瞰图&#xff0c;是业务流程的全景图。根据所采用的方法不同&#xff0c;有时被称为流程全景图或高层级流程图&#xff0c;提供了业务运营中所有业务流程的整体视图。 这样有助于理解企业内部各个业务流程之间的相互关系以及它们如何共同工…

jenkins slave节点打包报错Failed to create a temp file on

jenkins slave节点打包报错 一、报错信息 FATAL: Unable to produce a script file Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to slave-83at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)at hudson.remoting.UserRequest$…

什么是 Swagger 以及如何在 Spring Boot 中实现 Swagger:配置与实践指南

在现代 RESTful API 开发中&#xff0c;Swagger 是一种广泛使用的工具&#xff0c;用于生成、描述和可视化 API 文档。它极大地简化了 API 的开发、测试和维护过程。结合 Spring Boot&#xff0c;Swagger 可以快速集成到项目中&#xff0c;生成交互式 API 文档&#xff0c;方便…

Xilinx FPGA支持的FLASH型号汇总

以博主这些年的FPGA开发使用经验来看&#xff0c;FPGA开发的主流还是以Xilinx FPGA为主&#xff0c;贸易战关税战打了这么多年&#xff0c;我们做研发的也不可避免的要涉及一些国产替代的工作&#xff1b;这里把Xilinx FPGA官方支持的各类&#xff08;国产和非国产&#xff09;…

第3讲:ggplot2完美入门与美化细节打磨——从基础绘制到专业级润色

目录 1. 为什么选择ggplot2? 2. 快速了解ggplot2绘图核心逻辑 3. 基础绘图示范:柱状图、折线图、散点图 (1)简单柱状图 (2)折线图示范 (3)高级散点图 + 拟合线 4. 精细美化:细节打磨决定专业感 5. 推荐的美化小插件(可选进阶) 6. 小练习:快速上手一幅美化…

Vue3 上传后的文件智能预览(实战体会)

目录 前言1. Demo12. Demo2 前言 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 爬虫神器&#xff0c;无代码爬取&#xff0c;就来&#xff1a;bright.cn 此处的基本知识涉及较少&#xff0c;主要以Demo的形式供大…

transformer-实现单层Decoder 层

Decoder Layer 论文地址 https://arxiv.org/pdf/1706.03762 解码器层结构 Transformer解码器层由三种核心组件构成&#xff1a; Masked多头自注意力&#xff1a;关注解码器序列当前位置之前的上下文&#xff08;因果掩码&#xff09; Encoder-Decoder多头注意力&#xff1a;关…

设计模式每日硬核训练 Day 16:责任链模式(Chain of Responsibility Pattern)完整讲解与实战应用

&#x1f504; 回顾 Day 15&#xff1a;享元模式小结 在 Day 15 中&#xff0c;我们学习了享元模式&#xff08;Flyweight Pattern&#xff09;&#xff1a; 通过共享对象&#xff0c;分离内部状态与外部状态&#xff0c;大量减少内存开销。适用于字符渲染、游戏场景、图标缓…

大数据开发环境的安装,配置(Hadoop)

1. 三台linux服务器的安装 1. 安装VMware VMware虚拟机软件是一个“虚拟PC”软件&#xff0c;它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比&#xff0c;VMWare采用了完全不同的概念。 我们可以通过VMware来安装我们的linux虚拟机…

多模态大语言模型arxiv论文略读(四十九)

When Do We Not Need Larger Vision Models? ➡️ 论文标题&#xff1a;When Do We Not Need Larger Vision Models? ➡️ 论文作者&#xff1a;Baifeng Shi, Ziyang Wu, Maolin Mao, Xin Wang, Trevor Darrell ➡️ 研究机构: UC Berkeley、Microsoft Research ➡️ 问题背…

【深度学习与大模型基础】第14章-分类任务与经典分类算法

Part 1&#xff1a;什么是分类任务&#xff1f; 1.1 分类就是“贴标签” 想象你有一堆水果&#xff0c;有苹果&#x1f34e;、橘子&#x1f34a;、香蕉&#x1f34c;&#xff0c;你的任务是让机器学会自动判断一个新水果属于哪一类——这就是分类&#xff08;Classification&…

LeetCode 2906 统计最大元素出现至少K次的子数组(滑动窗口)

给出一个示例&#xff1a; 输入&#xff1a;nums [1,3,2,3,3], k 2 输出&#xff1a;6 解释&#xff1a;包含元素 3 至少 2 次的子数组为&#xff1a;[1,3,2,3]、[1,3,2,3,3]、[3,2,3]、[3,2,3,3]、[2,3,3] 和 [3,3] 。该题也是一个比较简单的滑动窗口的题目&#xff0c;但是…

使用 Spring Boot 进行开发

✨ 使用 Spring Boot 进行开发 ✨ &#x1f4cc; 本节将深入介绍如何高效使用 Spring Boot&#xff0c;涵盖以下核心主题&#xff1a; 1️⃣ &#x1f527; 构建系统 深入了解 Spring Boot 的项目结构和依赖管理 2️⃣ ⚙️ 自动配置 探索 Spring Boot 的自动化配置机制和原…