当前位置: 首页 > news >正文

CSS面试题---基础

1、css选择器及优先级

        

        选择器优先级:内联样式>id选择器>类选择器、属性选择器、伪类选择器>标签选择器、微元素选择器

        注意:

                !important优先级最高;

                如果优先级相同,则最后出现的样式生效;

                继承得到的样式优先级最低;

                通用选择器、子选择器和相邻兄弟选择器的权重均为0;

                样式表的优先级:内敛样式>内部样式>外部样式>浏览器用户自定义样式>浏览器默认样式

2、css中可继承与不可继承的属性有哪些

         不可继承的属性:

                a、display

                b、文本属性:vertical-align,text-decoration,text-shadow,white-space,unicode-bidi

                c、盒子模型的属性:width、height、margin、border、padding

                d、背景属性

                f、定位属性

                g、生成内容属性:content,counterr-reset,counter-increment

                h、轮廓样式属性:outline-style,outline-width,outline-color、outline

                i、页面样式属性:size、page-break-before,page-break-after

                j、声音样式属性

        可继承属性:

                a、字体系列属性:font-family,font-weight,font-size,font-style

                b、文本系列属性:text-indent,text-align,line-height,word-spacing,letter-spacing,text-transform,color

                c、元素可见性:visibility

                d、列表布局属性:list-style

                f、光标属性:cursor

3、display的属性值及其作用

        

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

        block:块级元素,独占一行

        inline:行内元素

        inline-block:行内块元素

5、行内元素、块级元素

        行内元素:设置宽高无效;可以设置水平方向的margin和padding,不能设置垂直方向的margin和padding;不会自动换行。

        块级元素:可以设置宽高;水平和垂直均可设置margin和padding;可以自动换行;多个块状,默认排列从上到下。

6、隐藏元素的办法

        a、display:none:渲染树不会包含该渲染对象,因此该元素不会再页面中占位置,也不会响应绑定的监听事件,会造成文本的重排

        b、visibility:hidden:元素在页面中仍占据空间,但不会响应绑定的监听事件,不会造成文本的重排

        c、opacity:0:将元素的透明度设置为0,元素在页面中仍占据空间,会响应绑定的监听事件

        d、position:absolute:使用绝对定位将元素从可视区域内移除

        e、z-index:负值:用其他元素遮盖本元素

        f、clip/clip-path:使用元素裁剪来实现,元素在页面中仍占据空间,不会响应监听事件

        g、transform:scale(0,0):将元素缩放为0,元素在页面仍占据空间,不会响应监听事件

7、link和@import的区别

        都是外部引用css的方式:

                link是xhtml标签,除了加载css外,还可以定义rss等其他事务,@import只能加载css;

                link引用css时,在页面载入时同时加载,@import需要页面完全载入以后加载;

                link无兼容问题,@import低版本的浏览器不兼容;

                link支持使用js控制DOM去修改样式,@import不支持。

8、transition和animation的区别

        transition是过渡属性,强调过渡,需要一个触发事件才执行动画。类似于flash的补帧动画,设置一个开始关键帧,一个结束关键帧。

        animation是动画属性,无需触发事件设定好时间后,就可自行执行,且可以循环一个动画。可以设置多个关键帧来完成动画。

9、伪元素和伪类的区别

        伪元素:在内容前后插入额外的元素或样式,但是这些元素实际上不在文档中生成。它们只在外部可见,在文档中无法找到它们。

p::before {content:"伪元素:";}

        伪类:将特殊的效果加到特定的选择器上,是给已有元素添加类别,不会产生新的元素。

p:hover { color: red; }

10、对盒模型的理解 

        css3中的盒模型分为标准盒模型、怪异盒模型(IE盒模型)。

        盒模型都是由margin、border、padding、content组成的。

        在标准盒模型中,width的宽度指的是content的宽度。

        在怪异盒模型(IE盒模型)中,width的宽度等于content+border+padding。

        可以通过设置box-sizing属性来改变盒模型属性:

                content-box:标准盒模型;

                border-box:怪异盒模型(IE盒模型)

11、为什么有时候用translate来改变位置而不是改变定位

        translate是transform属性的一个值,改变transform或opacity不会触发浏览器重新布局或重绘,只会触发复合。而改变绝对定位会触发重新布局,进而触发重绘和复合。使用translate会更高效,可以缩短平滑动画绘制时间。translate改变位置时,元素依然会占据原始空间,绝对定位不会

12、li和li之间有看不见的空白间隔是什么原因引起的?如何解决

        浏览器会把inline内联元素间的空白字符(空格、换行、tab等)渲染成一个空格。为了美观,通常是一个li放在一行,这导致li换行后产生的换行字符,会变成一个空格,占用一个字符的宽度。

        解决办法:

          a、为所有的li设置float:left,有些情况是不能设置浮动的

          b、将所有的li写在同一行,不美观

          c、给ul设置font-size:0,ul内其余字符还需重新设置大小,且safiri浏览器问题依旧存在

          d、给ul设置letter-spacing:-8px,给li设置letter-spacing:normal

13、css3的新特性

        新增各种css选择器,圆角,多列布局,阴影和反射,文字特效,文字渲染,线性渐变,旋转,缩放,定位,倾斜,动画,多背景

14、对css精灵图的理解

        优点:减少http请求,提高了页面的性能,能减少图片的字节

        缺点:测量背景位置时不好测量,维护图片也麻烦

15、什么是物理像素、逻辑像素和像素密度

        以iphoneXS为例,当以px为单位书写css时,其宽度为414px*896px,也就是说当赋予一个div的宽度为414px时,这个div就会填满手机的宽度;

        用尺子测量这部手机的物理像素为1242*2688,1242/414=3,也就是说,在单边上,一个逻辑像素=三个物理像素,就说这个屏幕的像素密度为3,也就是常说的3倍屏。

        对于图片来说,若想不失真,1个图片像素至少要对应1个物理像素,假如原始图片是500*300,那么在3倍屏上,就要放一个1500*900的图片才能不失真。

16、margin和padding的使用场景

        在border外侧添加空白,且空白处不需要背景(色)时,使用margin;

        在border内侧添加空白,且空白处需要背景(色)时,使用padding。

17、对line-height的理解

        line-height指一行文本的高度,包含了字间距,实际上是下一行基线到上一行基线的距离;

        如果一个标签没有定义height属性,那么其最终表现的高度由line-height决定;

        把line-height值设置为height一样大小的值可以实现单行文字的垂直居中。

18、css的预处理器/后处理器时什么?为什么使用他们

        预处理器:如less、sass等,用来预编译,增加了css的复用性、层级性、变量、循环等,让css更加的简洁,增加适应性以及可读性,可维护性等。

        后处理器:如postCss,通常是在完成的样式表中根据css规范处理css,让其更加有效。目前最常做的是给css属性添加浏览器私有前缀,实现跨浏览器兼容性的问题。

        使用原因:结构清晰,易于拓展;可以很方便的屏蔽浏览器私有语法的差异;可以轻松实现多重继承;完美的兼容了css,可用于老项目中。

19、display:inlie-block什么时候回显示间隙

        有空格的时候会有间隙,可以删除空格解决;

        margin正值时,可以使用margin负值解决;

        使用font-size时,可以通过设置font-size:0、letter-spacing、word-spacing解决。

20、单行、多行文本溢出隐藏

        单行文本:

overflow: hidden;            // 溢出隐藏
text-overflow: ellipsis;      // 溢出用省略号显示
white-space: nowrap;         // 规定段落中的文本不进行换行

        多行文本: 

overflow: hidden;            // 溢出隐藏
text-overflow: ellipsis;     // 溢出用省略号显示
display:-webkit-box;         // 作为弹性伸缩盒子模型显示。
-webkit-box-orient:vertical; // 设置伸缩盒子的子元素排列方式:从上到下垂直排列
-webkit-line-clamp:3;        // 显示的行数

21、判断元素是否到达可视区域

         window.innerHeight是浏览器可视区域的高度;

        document.body.scrollTop/document.documentElement.scrollTop是浏览器滚动过的距离;

        offsetTop是元素顶部距离文档顶部的高度(包括滚动条的高度);

        内容到达显示区域:offsetTop < window.innerHeight + document.body.scrollTop

22、z-index在什么情况下会失效

        z-index通常用在有两个重叠的标签,在一定情况下,一个标签显示在另一个标签上的情况。z-index值越大,就越在上层。z-index元素的position需要时absolute、relative、fixed。

        失效的情况:

            父元素position:relative时,子元素z-index失效。将父元素改为absolute或static;

            元素没有设置position属性;

            元素在设置z-index时还设置了float。去除float,改为display:inline-block。

 

     

相关文章:

CSS面试题---基础

1、css选择器及优先级 选择器优先级&#xff1a;内联样式>id选择器>类选择器、属性选择器、伪类选择器>标签选择器、微元素选择器 注意&#xff1a; !important优先级最高&#xff1b; 如果优先级相同&#xff0c;则最后出现的样式生效&#xff1b; 继承得到的样式优先…...

OpenHarmony实战开发-分布式数据管理

​介绍 本示例展示了在eTS中分布式数据管理的使用&#xff0c;包括KVManager对象实例的创建和KVStore数据流转的使用。 通过设备管理接口ohos.distributedDeviceManager &#xff0c;实现设备之间的kvStore对象的数据传输交互&#xff0c;该对象拥有以下能力详见 ;1、注册和解…...

微服务(基础篇-007-RabbitMQ部署指南)

目录 05-RabbitMQ快速入门--介绍和安装_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1LQ4y127n4?p65&vd_source60a35a11f813c6dff0b76089e5e138cc 1.单机部署 1.1.下载镜像 1.2.安装MQ 2.集群部署 2.1.集群分类 2.2.设置网络 视频地址&#xff1a; 05-Rab…...

C语言一维数组及二维数组详解

引言&#xff1a; 小伙伴们&#xff0c;我发现我正文更新的有些慢&#xff0c;但相信我&#xff0c;每一篇文章真的都很用心在写的&#xff0c;哈哈&#xff0c;在本篇博客当中我们将详细讲解一下C语言中的数组知识&#xff0c;方便大家后续的使用&#xff0c;有不会的也可以当…...

11.图像边缘检测的原理与实现

数字图像处理(19): 边缘检测算子(Roberts算子、Prewitt算子、Sobel算子 和 Laplacian算子) 数字图像处理(20): 边缘检测算子(Canny算子) 1.边缘检测介绍 1.1 边缘检测的基本原理 边缘是图像的基本特征&#xff0c;所谓的边缘就是指的图像的局部不连续性。灰度或者结构等信息的…...

RVM安装ruby笔记

环境 硬件&#xff1a;Macbook Pro 系统&#xff1a;macOS 14.1 安装公钥 通过gpg安装公钥失败&#xff0c;报错如下&#xff1a; 换了几个公钥地址&#xff08;hkp://subkeys.pgp.net&#xff0c;hkp://keys.gnupg.net&#xff0c;hkp://pgp.mit.edu&#xff09;&#xff0c;…...

电力系统负荷预测方法

电力系统负荷是什么&#xff1f; 所谓的电力负荷预测是指以电力负荷变化以及外界因素变化为基础&#xff0c;以特定的数学方法或者建立数学模型的方式为手段&#xff0c;通过对电力负荷历史数据进行分析&#xff0c;对电力系统的需求做出估计以及研究相关因素对电力负荷的影响…...

electron打包桌面版.exe之vue项目踩坑(vue3+electron 解决打包后首页打开空白,打包后路由不跳转及请求不到后端数据等问题)

vue项目https://www.qingplus.cn/components-web/index打包桌面版问题集合 一、静态资源加载问题 npm run electron_dev桌面版运行后页面空白&#xff0c;内容未加载。 填坑&#xff1a; 打包配置要用相对路径 vite.config.ts文件中的base要改成./&#xff0c;之前加了项目…...

MySQL学习笔记(持续更行ing)

级别&#xff1a; 1. 了解&#xff0c;面试概率10% 2. 掌握&#xff0c;面试概率50% 3. 重点&#xff0c;面试概率80% 目录 1. 数据库**** 1.1. 概念**** 1.2. 分类**** 1.2.1. 关系型数据库**** 1.2.1.1. SQL**** 1.2.2. 安装**** 1.2.2.1. Navicat**** 1.2.3. 非…...

服务器配置Huggingface并git clone模型和文件

服务器配置Huggingface并git clone模型和文件 参考&#xff1a;https://huggingface.co/welcome 1 注册hugging face 官网注册&#xff0c;并获取token【https://huggingface.co/settings/tokens】&#xff0c;用于登录 2 安装 2.1 安装lfs https://stackoverflow.com/qu…...

Rust 开发的高性能 HTTP 请求工具

一、简述 在现在的软件开发领域&#xff0c;HTTP请求的快速验证变得越来越重要。特别是对于后端开发人员和测试工程师来说&#xff0c;能够快速创建、执行并验证HTTP请求对于提升开发效率至关重要。近期有一个名为Hurl的开源项目&#xff0c;它被设计来高效执行HTTP请求&#…...

Android Studio 通过 WIFI 调试手机 app

操作流程 首先第一步&#xff0c;PC 和手机都需要连在同一个局域网 WIFI。 第二步&#xff0c;手机 USB 连上 PC&#xff0c;确保能查看到通过 USB 连上的设备&#xff1a; >>adb devices List of devices attached CSXasjdhwjqwjhqdh device (最好只看到一个连上的设置…...

RabbitMQ高级笔记

视频链接&#xff1a;【黑马程序员RabbitMQ入门到实战教程】 文章目录 1.发送者的可靠性1.1.生产者重试机制1.2.生产者确认机制1.3.实现生产者确认1.3.1.开启生产者确认1.3.2.定义ReturnCallback1.3.3.定义ConfirmCallback 2.MQ的可靠性2.1.数据持久化2.1.1.交换机持久化2.1.2.…...

【Qt】QtCreator交叉编译环境配置Qt mkspec

1、问题描述 在QtCreator中配置TI AM437x的交叉编译环境后,编译时报错,错误信息如下 error: gnu/stubs-soft.h: No such file or directory2、原因分析 1)环境变量CC 搜索网络,解决方法为修改交叉编译工具目录下环境配置脚本,即执行source时的文件。 本人环境为:linux…...

点点数据K参数加密逆向分析(RPC方案跟加密算法还原)

文章目录 1. 写在前面2. 接口分析3. 断点分析4. RPC调用5. 算法还原 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长…...

考研数学|《1800》+《660》精华搭配混合用(经验分享)

肯定不行&#xff0c;考研数学哪有这么容易的&#xff01; 先说说这两本习题册&#xff0c;李永乐老师推出的新版660题&#xff0c;相较于18年前的版本&#xff0c;难度略有降低&#xff0c;更加适合初学者。因此&#xff0c;对于处于基础阶段的学习者来说&#xff0c;新版660…...

【Redis 二】Redis客户端(Jedis、SpringDataRedis、RedisTemplate)

1. Redis客户端 Jedis 以redis命令作为方法名称&#xff0c;学习成本低&#xff0c;但是Jedis实例是线程不安全的&#xff0c;多线程环境下需要基于连接池来使用&#xff08;必须为每个线程分配独立的Jedis连接&#xff09; lettuce 基于Netty实现&#xff0c;支持同步、异步和…...

Java中Filter和Interceptor的区别

概述 本文阐述Java中Filter和Interceptor的区别。 执行顺序不同 FIlter->Servlet->Interceptor->Controller 配置方式不同 FIlter在web.xml中配置 Interceptor在spring中的配置文件中、使用注解 是否依赖servlet Filter依赖servlet&#xff0c;而Interceptor不…...

记一次 pdfplumber 内存泄漏导致的服务器宕机

有一个项目需求&#xff0c;要在每天凌晨5点的时候执行一个任务&#xff0c;获取一系列的PDF文件并解析。 后端是Django框架&#xff0c;定时任务用Celery来实现的。 本地跑没什么问题&#xff0c;但是一放到服务器上跑就会宕机&#xff0c;而且是毫无征兆的宕机&#xff0c;…...

SpringBoot单元测试剖析

SpringBoot作为一种流行的Java框架&#xff0c;其单元测试的重要性不言而喻。在这篇博客中&#xff0c;我们将深入剖析SpringBoot单元测试的底层原理。 单元测试的概念 单元测试是软件开发过程中的一个重要环节&#xff0c;它是对软件中的最小可测试单元进行检查和验证。对于…...

【华为OD机试C++】计算某字符出现次数

文章目录 描述输入描述输出描述示例代码 描述 写出一个程序&#xff0c;接受一个由字母、数字和空格组成的字符串&#xff0c;和一个字符&#xff0c;然后输出输入字符串中该字符的出现次数。&#xff08;不区分大小写字母&#xff09; 数据范围&#xff1a; 1 \le n \le 1000 …...

ORA-01779 BYPASS_UJVC 11.2后废弃了

有这么个update语句 update A t set status 1 where exists (select 1 from B B where B.code A.code) 因性能问题需要修改写法。 在oracle10G这么update是没问题的&#xff1a; update( select …...

验证码demo(简单实现)

前言 我们注意到我们登录网站的时候经常会用到网络验证码,今天我们就简单实现一个验证码的前后端交互问题,做一个小demo 准备 我们这里并不需要依靠原生的java来实现,而是只需要引入一个maven依赖,使用现成的封装好的即可,这是我使用的是hutool工具包 网址:Hutool&#x1f36c;…...

C#面:虚函数和抽象函数的区别

C#中的虚函数和抽象函数都是实现多态性的重要概念&#xff0c;但它们有一些区别。 定义方式&#xff1a; 虚函数&#xff1a;在基类中使用 virtual 关键字定义&#xff0c;可以在派生类中被重写。抽象函数&#xff1a;在抽象类或接口中使用abstract 关键字定义&#xff0c;必…...

Vidmore Video Fix for Mac 视频修复工具

Vidmore Video Fix for Mac是一款功能强大且易于使用的视频修复工具&#xff0c;专为Mac用户设计。它凭借先进的视频修复技术&#xff0c;能够帮助用户解决各种视频问题&#xff0c;如视频文件损坏、无法播放、格式不支持等。 软件下载&#xff1a;Vidmore Video Fix for Mac v…...

Docker容器与虚拟化技术:OpenEuler 部署 Docker UI

目录 一、实验 1.环境 2.OpenEuler 部署 docker-compose-ui 2.OpenEuler 部署 docker ui 3.使用cpolar内网穿透 二、问题 1.docker run -w 的作用 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 系统架构版本IP备注LinuxopenEuler22.03 LTS SP2 192.168…...

328——二维矩阵值变为1最小操作次数 next、nextInt、nextLine

一、next、nextInt、nextLine区别 1.next() next()不光是接收键盘输入的内容&#xff0c;而且还进行分割。例如默认分隔符为空格 Scanner sc new Scanner(System.in);while (true){String str sc.next();System.out.println(str "A");}// 输出结果 input&#…...

HarmonyOS 应用开发之同步任务开发指导 (TaskPool和Worker)

同步任务是指在多个线程之间协调执行的任务&#xff0c;其目的是确保多个任务按照一定的顺序和规则执行&#xff0c;例如使用锁来防止数据竞争。 同步任务的实现需要考虑多个线程之间的协作和同步&#xff0c;以确保数据的正确性和程序的正确执行。 由于TaskPool偏向于单个独…...

基于MiniExcel的三种常用导出Excel方法(固定列导出、动态列导出、按模板导出)

为了方便代码编写和测试&#xff0c;把很多代码都放在一个class里面&#xff0c;实际开发根据需要放到对应的目录下即可。 1.使用nuget下载安装miniexcel&#xff1b; 2.编写对应的测试接口&#xff0c;具体代码如下: using Microsoft.AspNetCore.Authorization; using Micr…...

MATLAB科研绘图与学术图表绘制从入门到精通

&#x1f482; 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】&#x1f91f; 一站式轻松构建小程序、Web网站、移动应用&#xff1a;&#x1f449;注册地址&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交…...

网站怎么做动效/星沙网站优化seo

2019独角兽企业重金招聘Python工程师标准>>> #include<stdio.h> #include<stdlib.h> main() { char string[100]; int i0,len; printf("请输入中文汉字&#xff1a;\n"); while(1) { if(string[i]\n)break; i; scanf("%c",&str…...

魔方网站建设/关键词优化

目录&#xff1a;一 Web应用的组成二 开发一个Web应用2.1 S端的简单开发与Http协议2.2 结合http协议改进S端2.3 返回Html2.4 jinja2模块三 Web框架的由来3.1 wsgiref模块3.2 简单Web框架实现3.3 简单web框架的使用3.4 三大web框架简介与wsgi协议一 Web应用的组成​ 我们接下来学…...

仿站网站开发/怎样建网站赚钱

机器学习&#xff1a;我们为什么要参数初始化为什么要初始化&#xff1f; 上图是一个神经网络的基本结构&#xff0c;深度学习的初始化参数指的是在网络训练之前&#xff0c;对各个节点的权重和偏置进行初始化的过程&#xff0c;很多时候我们以为这个初始化是无关紧要的&…...

做网站无需备案/做网站企业

本篇文章给大家带来的内容是关于如何清理浮动&#xff1f;清除浮动的4种方式&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。套路1&#xff1a;给浮动元素的父元素添加高度(扩展性不好)如果一个元素要浮动&#xff0c;那么它…...

小程序做网站/怎样让自己的网站排名靠前

早上客户反应&#xff0c;其网站无法访问&#xff0c;无限转圈上服务器&#xff0c;查看磁盘空间df -h&#xff0c;内存使用率free -m&#xff0c;网络流量iftop均正常然后使用top查看时&#xff0c;发现mysql的cpu使用率上升到200%。解决过程回放进入mysql查看正在执行的sqlmy…...

百色高端网站建设/优化大师的三大功能

目录知识点总结&#xff1a; Note&#xff1a; 1.创建一个/server/scripts目录,用于存放脚本&#xff08;命令&#xff1a;mkdir -p /server/scripts&#xff09; 2.安装软件时&#xff0c;安装路径统一为/usr/local/软件名-版本号 3.安装完软件后&#xff0c;需做软链接&#…...