2024前端面试题-css篇

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.rhkb.cn/news/406167.html

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

相关文章

2024最新Python+PyCharm保姆级安装教程【附激活码】

PyCharm 是由捷克的 JetBrains 公司开发的一款强大的 Python 集成开发环境(IDE),它为 Python 开发者提供了一个全面的编程工具集,支持从代码编写到代码测试、调试和优化等各个环节 ,它支持代码自动完成、代码检查、实时…

OpenDDS的Rtps_Udp传输协议可靠性QoS收发基本流程

OpenDDS中,实现了Rtps_Udp传输协议(非纯udp)的可靠性传输。传输的线程包括: 1)发送方线程主要线程和定时器 《1》应用线程 《2》网络异步发送线程 《3》Heartbeat定时器 《4》Nak_response定时器 2)接收方主要线程和定时器 《1》网络异步接收线程 《2》heartbeat_respons…

下载官方llama

1.官网.pth格式 去官网(Download Llama (meta.com))申请 具体可以看这个B站视频 Llama2模型申请与本地部署详细教程_哔哩哔哩_bilibili(视频是llama2,下载llama3是另外一个git) 相关代码如下 git clone https://g…

【C++例题 / 训练】二分算法(模板 例题)

引言 二分也就是二分查找,又叫折半查找。这种算法正如其名,每一次都要分一半。 二分算法可以分为二分查找和二分答案。 以在一个升序数组中查找一个数为例,每次考察数组当前部分的中间元素,如果中间元素刚好是要找的&#xff0…

Java MessagePack序列化工具(适配Unity)

Java MessagePack序列化工具(适配Unity) 前言项目代码编写 结 前言 前后端统一用MessagePack,结果序列化的结果不一样,发现C#侧需要给每个类增加描述字段数量的Head,而Java却不用,所以在Java侧封装一下序列…

运行微信小程序报错:Bad attr data-event-opts with message

问题 使用uniapp 编译,运行微信小程序环境时,报错 Bad attr data-event-opts with message。(这个错误报错原因很多,这里只解决一个) 原因 原因是:代码中有: :key"swiperList i"…

近年国际重大网络安全事件深度剖析:安全之路任重道远

引言 在当今数字化时代,网络安全已成为全球关注的焦点。随着信息技术的飞速发展,网络攻击的手段和规模也在不断升级,给个人、企业和国家带来了巨大的威胁。本文将盘点近年来国际上发生的重大网络安全事件,分析其影响和教训&#…

虚幻引擎游戏开发 | 程序化生成道具位置 Randomize Height

当地图上有无数个收集物【如水晶】,一键随机化高度 应用前 应用后 这时候水晶的高度是离散型地在0和110两个数中平均概率地选择。 如果要有权重地分布高度,减少高位水晶的比例(由于过多连续跳跃会让玩家无聊和难以持续专注)可以加…

什么是制造业项目管理软件?适合制造企业的项目管理软件具备哪些特征

当前,我国的制造业呈现出稳步增长与风险并存的现象。经济构建以国内大循环为主体,国产替代的浪潮正在席卷国内制造业,越来越多的制造领域企业开始启动数字化变革来支撑企业的迅猛发展,进一步优化项目管理流程,促进研发…

深入理解HTTP的基础知识:请求-响应过程解析

首先,我们从网络协议的最顶层开始讲解,即应用层。在网络通信中,应用层是最接近用户的一层,它负责为特定的网络应用提供服务和功能。应用层协议定义了数据交换的规则和格式,以便不同的应用程序能够相互通信和交换信息。…

[数据集][目标检测]航拍屋顶检测数据集VOC+YOLO格式458张3类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):458 标注数量(xml文件个数):458 标注数量(txt文件个数):458 标注类别…

03 C语言实现单向循环链表

#include "stdio.h" #include "stdlib.h"typedef int datatype_t;typedef struct node {datatype_t data;struct node *next; } looplist_t;// 单向循环链表创建 looplist_t *looplist_create() {looplist_t *head (looplist_t *) malloc(sizeof(looplist…

【Orb-Slam3学习】 ORBextractor类主要成员函数调用关系

简介 主要是介绍一下ORBextractor类的函数简要流程以及调用关系。 构造函数 ORBextractor::ORBextractor 主要作用是初始化一下ORBextractor类的成员函数 列表初始化部分: nfeatures(_nfeatures), scaleFactor(_scaleFactor), nlevels(_nlevels), iniThFAST(_in…

Ansys Zemax|如何自定义优化操作数

虽然Zemax OpticStudio有300多个内建优化操作数,但是还是会有一些特殊情况是这300多个操作数无法涵盖的。这就要求使用者根据要求计算出某些特定的数值,将这些数值返回到某个操作数,再对此操作数进行优化。 Zemax OpticStudio支持用户编程&a…

plsql表格怎么显示中文 plsql如何导入表格数据

在Oracle数据库开发中,PL/SQL Developer是一款广泛使用的集成开发环境(IDE),它提供了丰富的功能来帮助开发人员高效地进行数据库开发和管理。在使用PL/SQL Developer时,许多用户会遇到表格显示中文的问题,以…

针孔相机模型(Pinhole Camera Model)详解:三维世界到二维图像的映射

针孔相机模型(Pinhole Camera Model)详解:三维世界到二维图像的映射 针孔相机模型(Pinhole Camera Model)是计算机视觉和计算机图形学中的一个基础且重要的概念,它描述了三维空间中的点与它们在理想针孔相…

C/C++控制台贪吃蛇游戏的实现

🚀欢迎互三👉:程序猿方梓燚 💎💎 🚀关注博主,后期持续更新系列文章 🚀如果有错误感谢请大家批评指出,及时修改 🚀感谢大家点赞👍收藏⭐评论✍ 一、…

【Ansible】Ansible playbook

Ansible playbook简介 Ansible playbook是一种用于描述和自动化IT基础设施配置和管理的工具。它使用YAML格式来定义一系列任务和配置项,并利用Ansible的执行引擎自动执行这些任务。 Playbook包含一个或多个play,每个play定义了一组任务,这些…

基于STM32开发的智能家居安防系统

目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 系统初始化传感器数据采集与处理安防控制与报警机制Wi-Fi通信与远程监控应用场景 家庭安防系统办公室与商铺的安全监控常见问题及解决方案 常见问题解决方案结论 1. 引言 随着智能家居技术的…

WPF 动画 插值动画、关键帧动画、路径动画

WPF动画,分为三种:插值动画、关键帧动画、路径动画 2.1 插值动画:     1)定义:插值动画是指,属性值从某一个值,经过一段时间后,连续变化值另一个值的动画。         例…