面试 CSS 框架八股文十问十答第一期

面试 CSS 框架八股文十问十答第一期

作者:程序员小白条,个人博客

相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新!

⭐点赞⭐收藏⭐不迷路!⭐

1)CSS选择器及其优先级

CSS选择器用于选择页面上的元素,它们可以根据元素的标签名、类名、ID等属性进行选择。选择器的优先级决定了当多个规则同时匹配一个元素时,哪一个规则会被应用。优先级从高到低分为四个级别:

  • 内联样式(Inline Styles):使用style属性直接在HTML元素上定义的样式,具有最高优先级。
  • ID选择器:通过元素的ID属性选择元素(例如,#myElement),比类选择器具有更高的优先级。
  • 类选择器、属性选择器、伪类选择器:通过类名、属性或伪类选择元素。
  • 元素选择器、伪元素选择器:通过元素名或伪元素选择元素。

2)CSS中可继承与不可继承属性有哪些

  • 可继承属性:部分样式属性的值会被子元素继承。例如,font-familycolorline-height等都是可继承的属性。子元素会继承父元素的这些样式值,除非子元素被明确设置了相应的样式。
  • 不可继承属性:有些样式属性的值不会被子元素继承,需要子元素自行设置。例如,borderpaddingmargin等都是不可继承的属性。

3)display的属性值及其作用

display属性用于定义元素的显示类型,常用的取值有:

  • block:元素会被显示为块级元素,独占一行,宽度自动填满父元素。
  • inline:元素会被显示为行内元素,不会独占一行,宽度根据内容自动调整。
  • inline-block:元素会被显示为行内块级元素,同行显示,但可以设置宽高等属性。
  • none:元素会被隐藏,不占用空间。
  • flex:定义一个弹性容器,子元素可以通过设置弹性属性进行伸缩。
  • grid:定义一个网格容器,子元素可以按照网格布局进行排列。

4)display的block、inline和inline-block的区别

  • block:元素会被显示为块级元素,独占一行,宽度自动填满父元素,可以设置宽高、内外边距等属性。
  • inline:元素会被显示为行内元素,不独占一行,宽度根据内容自动调整,不能设置宽高、上下边距。
  • inline-block:元素会被显示为行内块级元素,同行显示,可以设置宽高、内外边距等属性。

5)隐藏元素的方法有哪些

  • display: none;:将元素完全隐藏,不占用页面空间。

    .hidden-element {display: none;
    }
    
  • visibility: hidden;:将元素隐藏,但仍然占用页面空间。

    .hidden-element {visibility: hidden;
    }
    
  • opacity: 0;:将元素设为完全透明,但仍然占用页面空间。

    .hidden-element {opacity: 0;
    }
    
  • position: absolute; left: -9999px;:将元素移出可视区域,但仍然占用页面空间。

    .hidden-element {position: absolute;left: -9999px;
    }
    

选择隐藏的方法取决于需求,例如,如果希望元素在布局中不占用空间,可以使用display: none;。如果希望元素占用空间但不可见,可以使用其他方法。

6)link和@import的区别

  • link是HTML中的标签,用于引入外部样式表,通过rel属性指定样式表的关系,可以同时引入多个样式表。link标签会在页面加载时同时加载,可以影响页面的渲染速度。
  • @import是CSS中的语法规则,用于引入外部样式表,通过在样式表中使用@import语句来引入其他样式表。@import语句只能在样式表中使用,而不能在HTML中使用。@import会在页面加载完毕后再加载,对页面的渲染速度没有直接影响。

7)transition和animation的区别

  • Transition:用于控制元素从一种样式逐渐变为另一种样式的过程。它需要指定过渡的属性、持续时间、过渡效果的速度曲线等。
  • Animation:更灵活,可以定义更复杂的动画效果。可以控制动画的每一帧,包括起始状态、结束状态和中间状态,可以定义关键帧。

8)display:none与visibility:hidden的区别

  • display: none;:完全从文档流中移除元素,不占据任何空间,元素及其子元素都不可见,并且不会触发重排和重绘。
  • visibility: hidden;:元素在页面中隐藏,但仍然占据着它在文档流中的空间,元素不可见但仍保留在文档中,会触发重排和重绘。

9)伪元素和伪类的区别和作用?

  • 伪类(Pseudo-classes):是用于向某些选择器添加特殊的效果的关键词,它们不是真正意义上的元素,而是元素的特殊状态。常见的伪类有:hover:active:focus等,用于根据用户的行为来改变元素的样式。
  • 伪元素(Pseudo-elements):是用于向某些选择器添加特殊效果的关键词,它们允许你为元素的特定部分设置样式。常见的伪元素有::before::after,用于在元素的内容前面或后面插入生成的内容。

10)对requestAnimationframe的理解

requestAnimationFrame 是浏览器提供的一个 API,用于优化 JavaScript 动画的性能。它告诉浏览器希望执行动画,并请求浏览器在下次重绘之前调用指定的函数来更新动画。

与传统的定时器(如 setTimeoutsetInterval)相比,requestAnimationFrame 更加智能和高效,它能够自动调整动画的帧速率以匹配浏览器的刷新率,从而提供更流畅的动画效果,并且在页面不可见时自动停止,节省了资源。

使用 requestAnimationFrame,开发者可以编写更加流畅、更高性能的 JavaScript 动画。

开源项目地址:https://gitee.com/falle22222n-leaves/vue_-book-manage-system

已 300 + Star!

⭐点赞⭐收藏⭐不迷路!⭐

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

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

相关文章

两个五层决策树和一个十层决策树的区别

随机森林的弹性: 随机森林中的多个决策树是相互独立构建的,因此两个五层决策树和一个十层决策树之间的区别可能在于它们对训练数据的不同学习。这种弹性有助于模型更好地适应不同的数据模式。 过拟合风险: 十层决策树可能更容易过拟合训练数据,尤其是在数…

vivado 配置内存IP

配置内存IP UltraScale体系结构内存IP支持DDR3和DDR4 SDRAM的配置,QDRIIPLUS SRAM和RLDRAM3型接口。截至2015.3,内存IP已被拆分基于内存接口标准和工具流,将其划分为不同的IP。“自定义IP”对话框框包含基本和高级配置选项,其中包…

【C/C++ 05】快速排序

快速排序是Hoare于1962年提出的一种二叉树结构的交换排序算法,其基本思想是:任取待排序序列中的某元素作为基准值,按照该基准值将待排序集合分割成两个子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于…

数据在网络传输中为什么要加密?

在信息化浪潮席卷全球的今天,数据如同流淌在信息高速公路的生命血液,其安全传输的重要性不言而喻。随着网络空间中各种威胁与挑战日益凸显,加密技术已成为保护数据安全、维护用户隐私、确保业务连续性的关键手段。它就如同一道无形的防护盾&a…

Nestjs 全局拦截器

一、拦截器 拦截器作用: 在函数执行之前、之后绑定额外的逻辑转换函数的返回结果转换从函数抛出的异常扩展基本函数的行为根据所选条件重写函数 期望接口返回一个标准的json格式,利用拦截器对数据做全局的格式化 {code: "200",data: [],mess…

【文本到上下文 #7】探索 NLP 中的 Seq2Seq、编码器-解码器和注意力机制

一、说明 今天,我们将探讨序列到序列 (seq2seq) 模型的复杂工作原理,特别关注编码器-解码器架构和注意力机制。这些概念是各种 NLP 应用的基础,从机器翻译到问答系统。 这是可以期待的: Seq2Seq模型中的编码…

基于stm32的伸缩晒衣架的设计

标题:基于STM32F103单片机的智能伸缩晒衣架控制系统设计与实现 摘要: 本论文探讨了一种基于STM32F103微控制器设计的智能伸缩晒衣架系统,该系统集成了环境感知、智能控制和无线通信等功能,以适应现代生活对便捷化、智能化家居产品…

数据结构之单链表详解

前言 之前大摆了5天多,没怎么学编程,自昨日起,觉不可如此,痛定思痛,开始继续学习,昨天刷了20多道简单级别的力扣,今天想把链表好好巩固一下,于是乎,把单链表的增删查改搞…

力扣100215-按键变更的次数

按键变更的次数 题目链接 解题思路 我们发现只要相邻的两个字母不一样(大小写算一样)&#xff0c;那么按键变更次数就要加1 class Solution { public:int countKeyChanges(string s) {int ans 0;for(int i 1;i<s.size();i){if(s[i] - s[i-1] 32 || s[i] - s[i-1] -32 |…

基础算法之Huffman编码

// Type your code here, or load an example. #include<iostream> #include<string> #include<queue> #include <unordered_map> #include <vector>using namespace std;//树节点结构 struct Node {char ch;int freq;Node *left;Node *right;No…

数据结构3、基于栈的后缀算术表达式求值

1 题目描述 图1 中缀表达式转化为后缀表达式题目描述 图2 基于栈的后缀算术表达式求值题目描述 2 题目解读 借助一个运算符栈&#xff0c;可将中缀表达式转化为后缀表达式&#xff1b;借助一个运算数栈&#xff0c;可对后缀表达式求值。借助一个运算符栈和一个运算数栈&#xf…

Java基础数据结构之哈希表

概念 顺序结构以及平衡树 中&#xff0c;元素关键码与其存储位置之间没有对应的关系&#xff0c;因此在 查找一个元素时&#xff0c;必须要经过关键 码的多次比较 。 顺序查找时间复杂度为 O(N) &#xff0c;平衡树中为树的高度&#xff0c;即 O( log2N ) &#xff0c;搜索的效…

防火墙用户认证、NAT、策略路由、DNS透明代理以及双机热备笔记

用户认证 防火墙管理员登录认证 --- 检验身份的合法性&#xff0c;划分身份权限 用户认证 --- 上网行为管理的一部分 用户&#xff0c;行为&#xff0c;流量 --- 上网行为管理三要素 用户认证的分类 上网用户认证 --- 三层认证 --- 所有的跨网段的通信都可以属于上网行为。…

mapString转换成Map类型

问题描述 需要实现mapString转换成Map类型&#xff0c;对过程进行一下记录 /*** 将Map字符串转换为Map** param str* return*/private static Map<String, String> mapStringToMap(String str) {if (StringUtils.isEmpty(str)) {return null;}str str.substring(1, str…

【Web前端实操19】商城官网_分析与顶部广告

本次实操主要是借用小米之前的网站来进行参考&#xff0c;达成网站静态页面开发的目的&#xff0c;而新学者想要一次性直接开发整个网站&#xff0c;肯定会很懵圈&#xff0c;因此&#xff0c;这个商城官网我会一部分一部分地进行拆分来写&#xff0c;最后合成整个界面。 本次…

国企重组整合后,如何严把“选人用人”关?

三年国企改革之后&#xff0c;新一轮国企改革明确重组方向&#xff0c;强调将“战略性重组和专业化整合”作为深化供给侧结构性改革从而建设世界一流企业的重要抓手&#xff0c;推动了国有资源的高效运转流动。在很多企业兼并、重组后&#xff0c;成立了新的集团性公司&#xf…

Mysql查询数据

1 基本查询语句 MySQL从数据表中查询数据的基本语句为SELECT语句。SELECT语句的基本格式是&#xff1a; 2 单表查询 2.1 查询所有字段 SELECT * FROM 表名; 2.2 在SELECT语句中指定所有字段 SELECT f_id, s_id ,f_name, f_price FROM fruits; 2.3 查询单个字段 SELECT 列名FR…

nginx部署前端(vue)项目及配置修改

目录 一、前端应用打包 二、部署前端应用 1、上传前端文件夹 2、修改nginx配置文件 3、重启nginx 三、查看效果 nginx安装参考&#xff1a;linux安装nginx-CSDN博客 一、前端应用打包 打包命令 npm run build 打包成功如下&#xff0c;会在项目路径下生成dist文件夹 二…

Windows Server 2003 Web服务器搭建

系列文章目录 目录 系列文章目录 前言 一、Web服务器是什么&#xff1f; 二、配置服务器 1.实验环境搭建 2.服务器搭建 1)控制面板中找到增加或删除程序打开 2)点击增加程序 3)安装Web服务器 4)查看安装是否成功 5)打开Internet信息服务(IIS)管理器,进行配置 6)找…

【开源之美】:cppcheck

一、项目链接 https://github.com/danmar/cppcheck/tree/main 二、效果示例