常见的css面试题(持续更新,欢迎补充)

embedded/2024/10/25 16:24:28/

总结面试常问的css相关面试题~

1. 什么情况下设置margin会造成margin塌陷? 怎么解决?

通常遇见margin塌陷,是我们同时给父子元素都设置的margin, 此时元素不会像我们想的那样撑开,而是选取最大margin去显示。

如何解决这个问题呢?

  1. 父元素不设置margin,使用padding
  2. 使用伪元素给父元素设置清除浮动
    .clearfix {&::after { clear: both; display: block; content: ''; }}
  3. 给父元素设置浮动

  4. 给父元素设置:overflow:hidden

  5. 给元素设置为绝对定位

2. css的选择器的优先级,怎么判断谁的优先级更高?

一般来说:行内样式> id选择器 > class选择器 > 类型(标签)选择器和伪元素选择器 > 属性选择器.

当上述只有一个的时候,很明显就能看出来谁的优先级高, 但是当同时存在id选择器 、 class选择器 、标签选择器 、 属性选择器时,他们的优先级是什么样子呢?这时,我们就需要计算对应的权重了, 需要我们去按照权重的每一位数值去比较,相等则比较下一位值。eg: 

  1. 第一等:内联样式,如:style="color: blue;",权值为1000.(不推荐使用)
  2. 第二等:ID选择器,如:#header,权值为0100.
  3. 第三等:类选择器、如:.name, 权值为0010.
  4. 第四等:类型(标签)选择器和伪元素选择器,如:div ::first-children权值为0001.
  5. 通配符,子选择器,相邻选择器等。如*,>,+, 权值为0000.

有时候我们面对明明设置了属性却没有作用到的时候,可以直接importment来强制优先级~

持续更新中~ 以上问题均为面试后总结,如有不足,敬请指出,共同进步~


http://www.ppmy.cn/embedded/10373.html

相关文章

XUbuntu18.04 源码编译Qt4.5.3的过程

由于新公司很多旧的软件都是基于这个版本做的嵌入式开发。 所以想要自己搭一套基于Linux的非嵌入式开发环境,方便用来调试和编译代码。 这样就可以完成在linux下开发,然后直接嵌入式打包,涉及到界面的部分就不需要上机调试看问题了。 所以…

vue项目全局挂载函数 — webpack.ProvidePlugin

ProvidePlugin:(官方文档解释) 自动加载模块,而不必在任何地方 import 或 require 它们。 理解:在项目中,存在业务逻辑相同的功能,为了减少代码的书写,我们一般会选择抽离出复用的代…

Spring源码中的简单工厂模式

Spring 源码中广泛运用了各种设计模式,其中包括简单工厂模式。简单工厂模式在 Spring 中主要用于简化对象的创建过程,将对象的创建逻辑集中管理,从而使得客户端代码无需关心具体的对象创建细节,只需与工厂交互就能获取所需的对象实例。这种设计有助于提高代码的可读性、可维…

记录如何用php做一个网站访问计数器的方法

简介 创建一个简单的网站访问计数器涉及到几个步骤,包括创建一个用于存储访问次数的文件或数据库表,以及编写PHP脚本来增加计数和显示当前的访问次数。 方法 以下是使用文件存储访问次数的基本步骤: 创建一个文本文件来存储计数&#xff1a…

1125页Go语言技术手册,涵盖Go语言所有核心知识点,限时免费下载!

从Docker的兴起,到Kubernetes的冲击,让Go语言在后端的地位,尤其在偏中高级业务需求(对性能、代码质量、架构设计等)中已经不可撼动。后端开发工程师逐渐开始对Go语言产生兴趣,无论是擅长何种语言的后端工程师,个人认为…

【Linux】认识文件(二):重定向

【Linux】认识文件&#xff08;二&#xff09;&#xff1a;重定向 一.stdout,stderr,stdin二.重定向1.什么是重定向i.输出重定向>ii.追加重定向>>iii.输入重定向< 2.重定向原理3.dup2的使用 三.理解linux中的一切皆文件 上篇文件博客中&#xff0c;讲了进程管理已打…

基于mmdetection3d框架完成nvx-net算法的训练和推理

文章目录 写在前面1.安装cuda和cudnn2.配置mmdetection3d环境3.测试mmdetection3d中的多模态3D目标检测算法4.下载kitti数据集5.基于kitti数据集对多模态3D目标检测算法进行复现6.基于kitti数据集训练结果进行推理7.问题与思考 写在前面 参考链接&#xff1a; MMdetection3d环…

【Linux开发 第十二篇】搭建JavaEE环境

搭建开发环境 搭建javaEE环境 搭建javaEE环境 在Linux下开发JavaEE需要安装软件包&#xff1a; 安装jdk 安装步骤&#xff1a; 在opt目录下创建jdk目录通过xftp上床到jdk目录中进入到jdk目录中&#xff0c;解压jdk压缩包在/usr/local下创建java目录将解压完成的jdk文件移动…