微信公众号
扫描关注微信公众号

什么是 BFC(块级格式化上下文)?如何创建 BFC?

BFC(块级格式化上下文,Block Formatting Context)是 CSS 中的一个重要概念,它是一个独立的渲染区域,内部的元素布局不会影响到外部元素。BFC 可以解决一些常见的布局问题,如浮动、外边距折叠等。 BFC:是一个独立的渲染区域,内部的元素布局不会影响到外部元素。 创建 BFC:可以通过设置 float、position、display、overflow 等属性来创建 BFC。 应用场景:BFC 可以用于清除浮动、防止外边距折叠、阻止元素被浮动元素覆盖等。

什么是浮动(float)?如何清除浮动?

浮动(float)是 CSS 中的一种布局方式,最初设计用于实现文本环绕图片的效果。通过 float 属性,可以使元素向左或向右浮动,脱离正常的文档流,其他内容会围绕它排列。 浮动:通过 float 属性使元素脱离文档流,常用于实现文字环绕效果。 清除浮动:可以使用 clear 属性、overflow 属性、伪元素或现代布局方式(如 Flexbox 或 Grid)来清除浮动,避免父容器高度塌陷。

如何实现水平居中和垂直居中?

在 CSS 中,实现元素的水平居中和垂直居中有多种方法,具体取决于布局需求和元素的类型。 Flexbox 和 Grid 是最现代和灵活的方法,适合大多数场景。 绝对定位和 transform 适用于需要绝对定位的元素。 表格布局 适用于需要兼容旧版浏览器的情况。 margin 适用于已知元素尺寸的块级元素。

什么是盒模型?标准盒模型和怪异盒模型的区别是什么?

盒模型(Box Model)是 CSS 中用于描述元素布局的基本概念。每个元素都被视为一个矩形盒子,这个盒子由四个部分组成:内容(content)、内边距(padding)、边框(border)和外边距(margin)。 标准盒模型:width 和 height 仅包括内容区域,内边距和边框是额外添加的。 怪异盒模型:width 和 height 包括内容、内边距和边框。 box-sizing 属性:用于控制盒模型的计算方式,content-box 为标准盒模型,border-box 为怪异盒模型。

如何隐藏一个元素?

在 CSS 中,有几种常见的方法可以隐藏一个元素。每种方法有不同的效果和适用场景。 display: none;:彻底隐藏元素,不占空间。 visibility: hidden;:隐藏元素,保留空间。 opacity: 0;:隐藏元素,保留空间和交互功能。 position: absolute; left: -9999px;:将元素移出可视区域。 clip-path: inset(100%);:通过裁剪路径隐藏元素。 height: 0; overflow: hidden;:隐藏元素内容,保留空间。

CSS 的优先级是如何计算的?

CSS 的优先级决定了当多个规则应用于同一个元素时,哪个规则会生效。优先级通过选择器的特异性(Specificity)来计算,特异性越高,优先级越高。 内联样式优先级最高。 ID 选择器优先级高于类选择器和元素选择器。 类选择器、属性选择器、伪类优先级高于元素选择器和伪元素。 !important 可以覆盖所有其他规则,但应谨慎使用。

CSS 选择器有哪些类型?

CSS 选择器用于选择需要样式化的 HTML 元素。见的 CSS 选择器类型包括: 基本选择器:元素、类、ID、通配符 组合选择器:后代、子元素、相邻兄弟、通用兄弟 属性选择器:存在、属性值、属性值包含 伪类选择器:状态、结构 伪元素选择器:元素的特定部分

CSS 的三种引入方式是什么?它们的优先级如何?

CSS 有三种引入方式:内联样式、内部样式表和外部样式表。 内联样式优先级最高,适合单个元素的样式。 内部样式表适合单个页面的样式。 外部样式表适合多个页面共享样式,优先级最低但最易维护。

什么是 CSS?它的作用是什么?

CSS(层叠样式表,Cascading Style Sheets)是一种用于描述HTML或XML文档外观的样式表语言。它定义了网页的布局、颜色、字体等视觉表现。 CSS 是网页设计中的关键工具,用于控制网页的外观和布局,提升开发效率和用户体验。

如何优化 TypeScript 编译性能?

优化 TypeScript 编译性能是提高开发效率的重要步骤。你可以通过使用 incremental 编译、项目引用、skipLibCheck、isolatedModules、transpileOnly、fork-ts-checker-webpack-plugin、tsc --watch、esbuild 或 swc、减少 include 和 exclude 范围以及使用 noEmitOnError 来优化 TypeScript 编译性能。理解这些方法的使用场景和语法,可以帮助你编写出更高效和可维护的 TypeScript 代码。