2024前端面试题-css篇

news2024/11/25 14:20:06

1.p和div区别

p自带有一定margin-top和margin-bottom属性值,而div两个属性值为0,也便是两个p之间有不一定间距,而div没有。

2.对css盒模型的理解

标准盒模型:content不包括padding、border、margin
ie盒模型:content包括padding、border、margin
在不设置的情况下,默认为W3C盒模型(标准盒模型)。
标准盒模型:box-sizing: content-box;
IE模型:box-sizing: border-box;

3.清除浮动有哪些方式

1.clear:both;
2.父元素添加overflow:hidden;
3.使用伪元素清除浮动;

4.重绘和回流的区别

重绘:只改变样式,大小、宽高、位置不变
回流:元素的大小或者位置发生改变
回流一定会触发重绘,而重绘不一定会回流

5.渐进增强和优雅降级

渐进增强:一开始对低版本浏览器进行构建页面,再针对高级浏览器提升展示效果
优雅降级:一开始就构建完整功能,然后针对低版本浏览器进行兼容

6.BFC

BFC是属于普通流的
特性:1.每一个BFC区域只包含其子元素,不包含其子元素的子元素。2.每一个BFC区域相互独立,互不影响。
作用:避免外边距重叠
案例:https://blog.csdn.net/weixin_57677300/article/details/129046793
触发BFC:
‌1.使用overflow属性‌:将元素的overflow属性设置为auto、hidden、scroll或overlay可以触发BFC。这是最常见的触发BFC的方式。‌
‌2.使用float属性‌:将元素的float属性设置为left或right也可以触发BFC,但这种方法通常不是解决margin塌陷的最佳选择,因为它可能导致其他布局问题。
‌3.使用display属性‌:将元素的display属性设置为inline-block、table-cell、table-caption、flex或grid等也可以触发BFC。
‌4.使用position属性‌:将元素的position属性设置为absolute或fixed也可以触发BFC。

7.如何画一条0.5px的线

CSS transform 缩放法:
创造一个1px的线条然后通过CSS的transform: scale(0.5)将其宽度缩小一半。

.half-pixel-line {
  height: 1px; /* 或者你需要的长度 */
  background-color: black; /* 或你想要的颜色 */
  transform: scaleY(0.5); /* 对高度进行垂直方向的缩放 */
}
如果需要水平方向的0.5px线条,则使用 transform: scaleX(0.5)。

伪元素叠加法:
使用两个相邻的1px线条,并利用负margin让它们重叠起来,形成视觉上的0.5px效果。

.line::before,
.line::after {
  content: "";
  display: block;
  height: 1px;
  background-color: black;
  width: 100%; /* 或者指定宽度 */
}

.line::after {
  margin-top: -0.5px; /* 调整此值使得两条线刚好重合 */
}


box-shadow 方法:
使用 box-shadow 属性模拟线条效果,特别适用于边框样式复杂的场景。

.line {
  height: 1px;
  box-shadow: 0 0 0 0.5px black; /* 下偏移量为0,颜色为你想要的线条颜色 */
}

背景渐变法:
通过background-image设置一个极窄的渐变色带。

.line {
  height: 1px;
  background-image: linear-gradient(to right, black 50%, transparent 50%);
  background-size: 100% 1px;
}

8.px、em、rem的区别及使用场景

  • px是固定的像素,一旦设置了就无法因为适应页面大小而改变。
  • em是相对长度单位,其值并不固定,继承父级元素的字体大小。任意浏览器的默认字体高都是16px,所有未经调整的浏览器都符合: 1em=16px。但如果父级设置了其他字体高度,那此时的1em就等于父级设置好的字体高度。一般用到段落的首行缩进 2em 
  • 和em不同的是,rem不用时时去关注父级的情况。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。常被用来做移动适配,pc端页面不推荐使用rem。

9.水平垂直居中的设置

display: flex;
justify-content:center;
align-items:center;
.parent {   
    position: relative;
}

.child {    
    position: absolute;  
    left: 50%;   
    top: 50%; 
    transform: translate(-50%,-50%);
}

10.实现一个三角形

div {
    width: 0;
    height: 0;
    border-bottom: 50px solid red;
    border-right: 50px solid transparent;
    border-left: 50px solid transparent;
}

11.设置小于12px的字体

  • 使用Webkit的内核的-webkit-text-size-adjust的私有CSS属性来解决,只要加了-webkit-text-size-adjust:none;字体大小就不受限制了。但是chrome更新到27版本之后就不可以用了。所以高版本chrome谷歌浏览器已经不再支持-webkit-text-size-adjust样式,所以要使用时候慎用。
  • 使用css3的transform缩放属性-webkit-transform:scale(0.5); 注意-webkit-transform:scale(0.75);收缩的是整个元素的大小,这时候,如果是内联元素,必须要将内联元素转换成块元素,可以使用display:block/inline-block/...;
  • 使用图片:如果是内容固定不变情况下,使用将小于12px文字内容切出做图片,这样不影响兼容也不影响美观。

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

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

相关文章

关于我的生信笔记开通《知识星球》

关于知识星球 1. 为什么到现在才开通《知识星球》 从很早关注我的同学应该了解小杜的知识分享历程,小杜是从2021年11月底开始进入此“坑”,一直坚持到现在,马上3年了(24年11月底到期)。自己也从一个小青年&#xff0…

【图文并茂】ant design pro 如何统一封装好 ProFormSelect 的查询请求

你仔细看上面的图片吧 经常有这样的需求吧。 这些列表都是查询出来的。 后端 你的后端必须要有 api 。 const getUsers handleAsync(async (req: Request, res: Response) > {const { email, name, live, current 1, pageSize 10 } req.query;const query: any {};…

的卢易表:批量处理Excel数据的自动化工具

的卢易表:批量处理Excel数据的自动化工具 简介 的卢易表是一个可以批量批量处理Excel数据的自动化工具。 自动化是其最大的特点,因为它可以根据配置好的选项自动处理excel数据。 批量是它另一个特点,因为可以做到自动化,所以你可…

JavaScript语法基础之DOM基础

目录 1. DOM 基础 1.1. DOM 是什么? 1.1.1. DOM 对象 1.1.2. DOM 结构 1.2. 节点类型 1.3. 获取元素 1.3.1. getElementById() 1.3.2. getElementsByTagName() 1.3.3. getElementsByClassName() 1.3.4. getElementsByName() 1.4.如何去操作对象 修改属性…

代驾系统源码开发中的用户体验优化:从设计到实现的全方位解析

在当今数字化时代,代驾服务已经成为城市生活中不可或缺的一部分。为了帮助开发者和企业快速搭建代驾服务平台,许多开源的代驾系统源码应运而生。这些源码不仅节省了开发时间,还为进一步的定制化开发提供了坚实的基础。本文将以“开源代驾系统…

Git使用——将GitHub设置成Token

GitHub提供了一种授权方式,使用Token来代替用户名和密码进行身份验证; 下面是将GitHub设置成Token的方法和操作流程; 一、登录GitHub账户 1. GitHub官网:https://github.com 2. 点击右上角的“Sign in”按钮,输入Gi…

遗传算法与深度学习实战(7)——使用遗传算法解决N皇后问题

遗传算法与深度学习实战(7)——使用遗传算法解决N皇后问题 0. 前言1. N 皇后问题2. 解的表示3. 遗传算法解决 N 皇后问题小结系列链接 0. 前言 进化算法 (Evolutionary Algorithm, EA) 和遗传算法 (Genetic Algorithms, GA) 已成功解决了许多复杂的设计…

Leetcode JAVA刷刷站(74)搜索二维矩阵

一、题目概述 二、思路方向 要在一个满足上述条件的矩阵中查找一个整数 target,我们可以利用矩阵的排序和递增特性来优化搜索过程。由于矩阵的每一行都是非严格递增的,且后一行的第一个元素大于前一行的最后一个元素,我们可以将矩阵视为一个…

Enhancing Octree-Based Context Models for Point Cloud Geometry Compression 论文笔记

1. 论文基本信息 发布于: IEEE SPL 2024 2. 创新点 分析了基于 one-hot 编码的交叉熵损失函数为什么不能准确衡量标签与预测概率分布之间的差异。介绍了 ACNP 模块,该模块通过预测占用的子节点数量来增强上下文模型的表现。实验证明了ACNP模块在基于八…

Linux --- 文件系统

1. 文件系统的概念 Linux 文件系统是一种用于管理、存储和组织数据的层次结构,用于在 Linux 操作系统中管理磁盘上的数据存储。它定义了如何在存储介质(如硬盘、固态硬盘或 USB 闪存)上组织文件和目录,以及如何读取、写入和操作这…

【时间序列预测_python_jupyter】使用neuralforecast包在jupyter-lab上预测并绘图

neuralforecast包有很多引入好的时间序列预测算法模型,可以直接通过接口调用。 支持的算法模型有: __all__ [RNN, GRU, LSTM, TCN, DeepAR, DilatedRNN,MLP, NHITS, NBEATS, NBEATSx, DLinear, NLinear,TFT, VanillaTransformer, Informer, Autoforme…

wsl2 airsim wairing for connect (Windows11 UE4.27)问题解决

一、概述 这里记述我遇到我在使用wsl2子系统与Windows11上进行交互时候,遇到的一些我之前没有遇到过的问题。 之前的我写的配置链接在这里。 UE5 with plugins AirSim in Windows & ROS in WSL2-Ubuntu 20.04配置过程记录_airsim ue5-CSDN博客文章浏览阅读455次…

Linux云计算 |【第二阶段】SECURITY-DAY2

主要内容: Zabbix报警机制(创建触发器、设置邮箱、执行动作),Zabbix进阶操作(主动发现、主被动监控模式、拓扑图、聚合图形)、监控案例(监控Nginx服务状态、监控TCP连接状态) 一、Z…

C#开发基础之100个常用的C#正则表达式

前言 正则表达式是处理字符串的强大工具,特别是在文本搜索、替换和验证中。本文将100个常用的C#正则表达式进行分类,以帮助我们更快速地找到适合的正则表达式解决方案。 1. 基础匹配 这些正则表达式用于匹配一些基本的字符或字符串模式。 匹配任意字…

MATLAB-PSO-BiTCN-BiLSTM-Attention多变量分类

一、数据集 数据特征:12个多分类:4分类 ​ 二、PSO-BiTCN-BiLSTM-Attention网络 PSO-BiTCN-BiLSTM-Attention 网络是一种结合了多种深度学习技术和优化算法的复杂模型,用于处理时序数据任务,如时间序列预测、分类或其他相关问题…

IntelliJ IDEA ideaIU-2024.2.0.2.exe 启动 IDE 失败

以下是一些可能会导致 IDE 启动失败的问题的情况和解决方案: 启动 IDE 时弹出 Start Failed 的对话框,并且对话框内的信息中含有 crack 相关的内容 请在以下位置找到 .vmoptions 文件,打开并查看有没有 -javaagent 这行内容,如果…

gpt-4o-mini 等大模型的第三方中转API接口教程

How to use gpt-4o-mini by Python 文章目录 1 python环境安装1.1 anaconda 添加到系统变量1.2 anaconda 创建新的python虚拟环境 2 langchain 与 openai python包安装3 openai API 接入3.1 第三方API站点3.2 windows配置3.3 大模型API调用消费估算 4 相关教程重要事项 1 pyth…

【六】阿伟开始搭建Kafka学习环境

阿伟开始搭建Kafka学习环境 概述 上一篇文章阿伟学习了Kafka的核心概念,并且把市面上流行的消息中间件特性进行了梳理和对比,方便大家在学习过程中进行对比学习,最后梳理了一些Kafka使用中经常遇到的Kafka难题以及解决思路,经过上…

PDPS软件 那智机器人 (丰田版)离线程序导出处理

在PDPS仿真软件中导出的那智机器人离线程序,一般是无法直接给TFD控制装置-那智机器人(丰田式样版)导入及识别使用。因此要对导出的程序进行转换编译处理,才能给TFD那智机器人(丰田式样版)导入离线程序。以下…

comfyUI工作流-Flux大模型应用/黑神话悟空角色生成(附lora)

​ 是什么让悟空开始搬砖,这莫不是新的副本 其实我们用AI就能生成这种黑神话悟空的衍生图片 让悟空做ceo,做老师,上工地搬砖 七十二变,体验人生百态 操作很简单,只需要一个comfyUI工作流,你就能任意生成…