前端八股CSS:盒模型、CSS权重、+与~选择器、z-index、水平垂直居中、左侧固定,右侧自适应、三栏均分布局

一、盒模型

题目:简述CSS的盒模型

答:盒模型有两种类型,可以通过box-sizing设置
1.标准盒模型(content-box):默认值,宽度和高度只包含内容区域,不包含内边距、边框和外边距。

2.边框盒模型(border-box):宽度和高度包括内容区域、内边距和边框,但不包括外边距。

盒模型中元素的总宽度=内容宽度+左右内边距+左右边框+左右外边距
盒模型中元素的总高度=内容高度+上下内边距+上下边框+上下外边距

 二、CSS specificity (权重)

题目:简述下CSS权重

答:CSS权重是用于确定当多个CSS规则应用到同一元素时,哪个规则最终会生效。

权重优先级:
1.!important(最高)

2.内敛样式

3.ID选择器

4.类选择器、伪类选择器、属性选择器

5.标签选择器、伪元素

其中通配符选择器 *,组合选择器 + ~ >,否定伪类选择器 :not() 对优先级无影响

 三、’+’ 与 ’~’ 选择器有什么不同

答:

  • + 选择器匹配紧邻的兄弟元素

  • ~ 选择器匹配随后的所有兄弟元素

四、z-index 与层叠上下文

  • 题目:如何更好地给元素设置 z-index

  • 题目:z-index: 999 元素一定会置于 z-index: 0 元素之上吗

 答:1.z-index用于控制元素的堆叠顺序,决定哪些元素会出现在其他元素之上。

为了更好的使用z-index,可以合理划为堆叠上下文,还可以避免使用过高的z-index,同时要层级清晰

2.不一定,虽然 z-index: 999 的元素通常会被放置在 z-index: 0 的元素之上,但这也有条件。

z-index仅在元素处于同一堆叠上下文中有效

五、水平垂直居中

题目:如何实现一个元素的水平垂直居中

答:1. 使用flex布局:justify-content:center,align-content:center

.container {
  display: flex;
  justify-content: center; /* 水平居中 */
  align-items: center;     /* 垂直居中 */
  height: 100vh;           /* 设置容器的高度为视口高度 */
}

.content {
  /* 可以设置内容的宽高 */
  width: 200px;
  height: 100px;
  background-color: lightblue;
}


       2.使用grid布局:place-items:center

.container {
  display: grid;
  place-items: center; /* 水平垂直居中 */
  height: 100vh;
}

.content {
  width: 200px;
  height: 100px;
  background-color: lightcoral;
}

       3.使用绝对定位:子绝父相,top:50%,left:50%,transform: translate(-50%, -50%) 通过移动元素自身的一半宽度和高度来使元素居中。

.container {
  position: relative;
  height: 100vh;
}

.content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 200px;
  height: 100px;
  background-color: lightgreen;
}

六、左侧固定、右侧自适应

题目:css如何实现左侧固定300px,右侧自适应的布局

答:使用flex和grid布局
1.flex:

  • .container 使用 display: flex,将子元素放入 flex 布局中。
  • .left 设置固定宽度 300px。
  • .right 使用 flex: 1,表示它会占据剩余的空间并自适应宽度。
    .container {
      display: flex;
    }
    
    .left {
      width: 300px;  /* 左侧固定宽度 */
      background-color: lightblue;
    }
    
    .right {
      flex: 1;  /* 右侧自适应宽度 */
      background-color: lightgreen;
    }
    

2.grid:

  • .container 使用 display: grid,并通过 grid-template-columns 定义了两列布局,第一列宽度为 300px,第二列使用 1fr 表示占据剩余空间并自适应宽度。
    .container {
      display: grid;
      grid-template-columns: 300px 1fr;  /* 左侧300px,右侧自适应 */
    }
    
    .left {
      background-color: lightblue;
    }
    
    .right {
      background-color: lightgreen;
    }
    

七、三栏均分布局

题目:如何实现三栏均分布局

答:使用flex和grid布局

  • flex:
    • 方案一: flex: 1;
    • 方案二: flex-basis: calc(100% / 3)
      .container {
        display: flex;
        justify-content: space-between; /* 保证各栏之间有间距 */
      }
      
      .column {
        flex: 1;  /* 每一栏宽度相等 */
        padding: 10px;
        background-color: lightgray;
        margin: 0 5px; /* 增加栏间距 */
      }
      
  • grid:
    • 父容器: grid-template-columns: 1fr 1fr 1fr
      .container {
        display: grid;
        grid-template-columns: 1fr,1fr,1fr;  /* 创建三列,宽度均分 */
        gap: 10px;  /* 每列之间的间距 */
      }
      
      .column {
        background-color: lightgray;
        padding: 10px;
      }
      

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MapReduce简单应用(一)——WordCount

目录 1. 执行过程1.1 分割1.2 Map1.3 Combine1.4 Reduce 2. 代码和结果2.1 pom.xml中依赖配置2.2 工具类util2.3 WordCount2.4 结果 参考 1. 执行过程 假设WordCount的两个输入文本text1.txt和text2.txt如下。 Hello World Bye WorldHello Hadoop Bye Hadoop1.1 分割 将每个文…

PPT演示设置:插入音频同步切换播放时长计算

PPT中插入音频&同步切换&放时长计算 一、 插入音频及音频设置二、设置页面切换和音频同步三、播放时长计算 一、 插入音频及音频设置 1.插入音频:点击菜单栏插入-音频-选择PC上的音频(已存在的音频)或者录制音频(现场录制…

32.Word:巧克力知识宣传【32】

目录 NO1.2.3 NO4.5 NO5制表位设置​ ​NO6.7​ NO8.9图表 NO10​ NO11.12 NO1.2.3 FnF12或另存为:考生文件夹:Word.docx布局→纸张大小→页面设置对话框→页边距:上下左右ctrlx剪切文本→插入→文本框选择对应的→手动拖拉文本框到合…

【零拷贝】

目录 一:了解IO基础概念 二:数据流动的层次结构 三:零拷贝 1.传统IO文件读写 2.mmap 零拷贝技术 3.sendFile 零拷贝技术 一:了解IO基础概念 理解CPU拷贝和DMA拷贝 ​ 我们知道,操作系统对于内存空间&…

数据分析系列--⑨RapidMiner训练集、测试集、验证集划分

一、数据集获取 二、划分数据集 1.导入和加载数据 2.数据集划分 2.1 划分说明 2.2 方法一 2.3 方法二 一、数据集获取 点击下载数据集 此数据集包含538312条数据. 二、划分数据集 1.导入和加载数据 2.数据集划分 2.1 划分说明 2.2 方法一 使用Filter Example Range算子. …

vsnprintf() 将可变参数格式化输出到字符数组

vsnprintf{} 将可变参数格式化输出到一个字符数组 1. function vsnprintf()1.1. const int num_bytes vsnprintf(NULL, 0, format, arg); 2. Parameters3. Return value4. Example5. llama.cppReferences 1. function vsnprintf() https://cplusplus.com/reference/cstdio/vs…

Jenkins未在第一次登录后设置用户名,第二次登录不进去怎么办?

Jenkins在第一次进行登录的时候,只需要输入Jenkins\secrets\initialAdminPassword中的密码,登录成功后,本次我们没有修改密码,就会导致后面第二次登录,Jenkins需要进行用户名和密码的验证,但是我们根本就没…

【Arxiv 大模型最新进展】TOOLGEN:探索Agent工具调用新范式

【Arxiv 大模型最新进展】TOOLGEN:探索Agent工具调用新范式 文章目录 【Arxiv 大模型最新进展】TOOLGEN:探索Agent工具调用新范式研究框图方法详解 作者:Renxi Wang, Xudong Han 等 单位:LibrAI, Mohamed bin Zayed University o…

数据库内存与Buffer Pool

数据库内存与Buffer Pool 文章目录 数据库内存与Buffer Pool一:MySQL内存结构1:MySQL工作组件2:工作线程的本地内存3:共享内存区域4:存储引擎缓冲区 二:InnoDB的核心:Buffer Pool1:数…

[CVPR 2022]Cross-view Transformers for real-time Map-view Semantic Segmentation

论文网址:Cross-View Transformers for Real-Time Map-View Semantic Segmentation 论文代码:cross_view_transformers/cross_view_transformer at master bradyz/cross_view_transformers GitHub 英文是纯手打的!论文原文的summarizing …

Java 中线程的使用

文章目录 Java 线程1 进程2 线程3 线程的基本使用(1)继承 Thread 类,重写 run 方法(2)实现 Runnable 接口,重写 run 方法(3)多线程的使用(4)线程的理解&#…

手撕Vision Transformer -- Day1 -- 基础原理

手撕Vision Transformer – Day1 – 基础原理 目录 手撕Vision Transformer -- Day1 -- 基础原理Vision Transformer (ViT) 模型原理1. Vit 网络结构图2. 背景3. 模型架构3.1 图像切块(Patch Embedding)3.2 添加位置编码(Positional Encoding…

【AI】DeepSeek 概念/影响/使用/部署

在大年三十那天,不知道你是否留意到,“deepseek”这个词出现在了各大热搜榜单上。这引起了我的关注,出于学习的兴趣,我深入研究了一番,才有了这篇文章的诞生。 概念 那么,什么是DeepSeek?首先百…

Java锁自定义实现到aqs的理解

专栏系列文章地址:https://blog.csdn.net/qq_26437925/article/details/145290162 本文目标: 理解锁,能自定义实现锁通过自定义锁的实现复习Thread和Object的相关方法开始尝试理解Aqs, 这样后续基于Aqs的的各种实现将能更好的理解 目录 锁的…

html的字符实体和颜色表示

在HTML中,颜色可以通过以下几种方式表示,以下是具体的示例: 1. 十六进制颜色代码 十六进制颜色代码以#开头,后面跟随6个字符,每两个字符分别表示红色、绿色和蓝色的强度。例如: • #FF0000:纯红…

Golang 并发机制-1:Golang并发特性概述

并发是现代软件开发中的一个基本概念,它使程序能够同时执行多个任务,从而提高效率和响应能力。在本文中,我们将探讨并发性在现代软件开发中的重要性,并深入研究Go处理并发任务的独特方法。 并发的重要性 增强性能 并发在提高软…

three.js用粒子使用canvas生成的中文字符位图材质

three.js用粒子使用canvas生成中文字符材质 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Three.…

《逆向工程核心原理》第三~五章知识整理

查看上一章节内容《逆向工程核心原理》第一~二章知识整理 对应《逆向工程核心原理》第三章到第五章内容 小端序标记法 字节序 多字节数据在计算机内存中存放的字节顺序分为小端序和大端序两大类 大端序与小端序 BYTE b 0x12; WORD w 0x1234; DWORD dw 0x12345678; cha…

2025年数学建模美赛 A题分析(4)楼梯使用人数模型

2025年数学建模美赛 A题分析&#xff08;1&#xff09;Testing Time: The Constant Wear On Stairs 2025年数学建模美赛 A题分析&#xff08;2&#xff09;楼梯磨损分析模型 2025年数学建模美赛 A题分析&#xff08;3&#xff09;楼梯使用方向偏好模型 2025年数学建模美赛 A题分…

【cocos creator】【模拟经营】餐厅经营demo

下载&#xff1a;【cocos creator】模拟经营餐厅经营