前端八股文(CSS篇)二

目录

1.css中可继承与不可继承属性有哪些

2.link和@import的区别

3.transition和animation的区别

4.margin和padding的使用场景

5.::before和:after的双冒号和单冒号有什么区别?

6.display:inline-block什么时候会显示间隙

7.如何判断元素是否到达可视区域

8.z-index属性在什么情况下会失效

9. Sass,Less是什么?为什么要使用它们?

10.对媒体查询的理解?


1.css中可继承与不可继承属性有哪些

一,无继承性的属性:

  1. display:规定元素应该生成的框类型
  2. 文本属性:
  • vertical-align:垂直文本对齐
  • text-decoration:规定添加到文本的装饰
  • text-shadow:文本阴影效果
  • white-space:空白符的处理
  • unicode-bidi:设置文本的方向

     3.盒子模型的属性:width,height,margin,border,padding

     4.背景属性:background,background-color,background-image,background-repeat,background-position,background-attachment

      5.定位属性:float,clear,position,top,right,bottom,left,min-width,min-height,max-width,max-height,overflow,clip,z-index

      6.生成内容属性:content,counter-reset,counter-increment

      7.轮廓样式属性:outline-style,outline-width、outlien-color,outline

      8.页面样式属性:size,page-break-before,page-break-after

      9.声音样式属性::pause-before、pause-after、pause、cue-before、cue-after、cue、play-during

二,有继承性的属性:

      1.字体系列属性:

  • font-family:字体系列
  • font-weight:字体的粗细
  • font-size:字体的大小
  • font-style:字体的风格

      2.文本系列属性:

  • text-indent:文本缩进
  • text-align:文本水平对齐
  • line-height:行高
  • word-spacing:单词之间的简距
  • letter-spacing:中文或字母之间的间距
  • text-transform:控制文本大小
  • color:文本颜色

     3.元素可见性:

  • visibility:控制元素显示隐藏

      4.列表布局属性

  • list-style:列表风格

      5.光标属性

  • cursor:光标显示为何种形态

2.link和@import的区别

两者都是外部引用css的方式,它们区别如下:

  • link是XHTML的标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载css。
  • link引用css时,在页面载入时候同时加载;@import需要页面网页完全载入以后加载。
  • link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持
  • link支持使用JavaScript控制DOM去改变样式;而@import不支持

3.transition和animation的区别

  • transition是过渡属性,强调过渡,它的实现需要触发一个事件(比如鼠标移动上去,焦点,点击等)才执行动画。它类似于flash的补间动画,设置一个开始关键帧,一个结束关键帧。
  • animation是动画属性,它的实现不需要触发事件,设定好时间之后可以自己执行,且可以循环一个动画。它也类似于flash的补间动画,但是它可以设置多个关键帧(用@keyframe定义)完成动画。

4.margin和padding的使用场景

  • 需要在border外侧添加空白,且空白处不需要背景时,使用margin
  • 需要在border内侧添加空白,且空白处需要背景时,使用padding。

5.::before和:after的双冒号和单冒号有什么区别?

1.冒号(:)用于css3伪类,双冒号(::)用于css3伪元素。

2.::before就是以一个子元素的存在,定义在元素主体内容之前的一个伪元素。并不存在于dom之中,只存在于页面之中。

注意: :before 和 :after 这两个伪元素,是在CSS2.1里新出现的。起初,伪元素的前缀使用的是单冒号语法,但随着Web的进化,在CSS3的规范里,伪元素的语法被修改成使用双冒号,成为::before::after


6.display:inline-block什么时候会显示间隙

  • 有空格时会有间隙,可以删除空格解决。
  • margin正值时,可以让margin使用负值解决;
  • 使用font-size时,可通过设置font-size:0,letter-spacing,word-spacing解决。

7.如何判断元素是否到达可视区域

以图片显示为例:

  • window.innerHeight是浏览器可视区的高度;
  • document.body.scrollTop||document.doucmentElement.scrollTop是浏览器滚动过的距离
  • imgs.offsetTop是元素顶部距离文档顶部的高度(包括滚动条的距离)
  • 内容达到显示区域的:img.offsetTop<window.innerHeight+document.body.scrollTop


8.z-index属性在什么情况下会失效

通常z-index的使用是在两个重叠的标签,在一定的情况下控制其中一个在另一个的上方或者下方出现。z-index值越大就越是在上层。z-index元素的position属性需要时relative,absolute或是fixed。

z-index属性在下列情况下会失效:

  • 父元素position为relative时,子元素的z-index失效。解决:父元素position改为absolute或static
  • 元素没有设置position属性为非static属性。解决:设置该元素的position属性为relative,absolute或fixed中的一种;
  • 元素在设置z-index的同时还设置了float浮动。解决:float去除,改为display:inline-block;

9. Sass,Less是什么?为什么要使用它们?

它们都是css预处理器,是css上的一种抽象层。他们是一种特殊的语法/语言编译成css。例如Less是一种动态样式语言,将css赋予了动态语言的特性,如变量,继承,运算,函数,Less既可以在客户端运行,也可以在服务器端运行。

为什么要使用它们?

  • 结构清晰,便于扩展。 可以方便地屏蔽浏览器私有语法差异。封装对浏览器语法差异的重复处理, 减少无意义的机械劳动。
  • 可以轻松实现多重继承。 完全兼容 CSS 代码,可以方便地应用到老项目中。LESS 只是在 CSS 语法上做了扩展,所以老的 CSS 代码也可以与 LESS 代码一同编译。

10.对媒体查询的理解?

媒体查询由一个可选的媒体类型和零个或多个使用媒体功能的限制了样式表范围的表达式组成,例如宽度,高度和颜色。媒体查询,添加自CSS3,允许内容的呈现针对一个特定范围的输出设备而进行裁剪,而不必改变内容本身,适合web网页对应不同型号的设备而做出对应的响应适配。

媒体查询包含⼀个可选的媒体类型和满⾜CSS3规范的条件下,包含零个或多个表达式,这些表达式描述了媒体特征,最终会被解析为true或false。如果媒体查询中指定的媒体类型匹配展示⽂档所使⽤的设备类型,并且所有的表达式的值都是true,那么该媒体查询的结果为true。那么媒体查询内的样式将会⽣效

<!-- link元素中的CSS媒体查询 --> 
<link rel="stylesheet" media="(max-width: 800px)" href="example.css" /> 
<!-- 样式表中的CSS媒体查询 --> 
<style> 
@media (max-width: 600px) { 
  .facet_sidebar { 
    display: none; 
  } 
}
</style>

简单来说,使用@media查询,可以针对不同的媒体类型定义不同的样式。@media可以针对不同的屏幕尺寸设置不同的样式,特别是需要设置响应式的页面,@media是非常有用的。当重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在MySQL中使用VARCHAR字段进行日期筛选

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

从仿写持久层框架到MyBatis核心源码阅读

接上篇手写持久层框架&#xff1a;https://blog.csdn.net/liwenyang1992/article/details/134884703 MyBatis源码 MyBatis架构原理&主要组件 MyBatis架构设计 MyBatis架构四层作用是什么呢&#xff1f; API接口层&#xff1a;提供API&#xff0c;增加、删除、修改、查询…

听GPT 讲Rust源代码--library/panic_unwind

File: rust/library/panic_unwind/src/seh.rs 在Rust源代码中&#xff0c;rust/library/panic_unwind/src/seh.rs这个文件的作用是实现Windows操作系统上的SEH&#xff08;Structured Exception Handling&#xff09;异常处理机制。 SEH是Windows上的一种异常处理机制&#xff…

计算机网络【HTTP 灵魂拷问?】

1. HTTP 报文结构是怎样的&#xff1f; 对于 TCP 而言&#xff0c;在传输的时候分为两个部分:TCP头和数据部分。 而 HTTP 类似&#xff0c;也是header body的结构&#xff0c;具体而言: 起始行 头部 空行 实体由于 http 请求报文和响应报文是有一定区别&#xff0c;因此…

FPGA - 240102 - FPGA期末速成

TAG - F P G A 、期末、速成 FPGA、期末、速成 FPGA、期末、速成 // – 习题1 – //CPLD&#xff08;Complex Programmable Logic Device&#xff09;是 Complex PLD 的简称&#xff0c;一种较 PLD 为复杂的逻辑元件。CPLD 逻辑资源多寄存器少&#xff0c;FPGA 逻辑弱而寄存器…

Zookeeper-Zookeeper选举源码

看源码方法&#xff1a; 1、先使用&#xff1a;先看官方文档快速掌握框架的基本使用 2、抓主线&#xff1a;找一个demo入手&#xff0c;顺藤摸瓜快速静态看一遍框架的主线源码&#xff0c;画出源码主流程图&#xff0c;切勿一开始就陷入源码的细枝末节&#xff0c;否则会把自…

Docker:部署若依前后端分离版

Docker&#xff1a;部署若依前后端分离版 1. 停止天翼云上的原来跑的若依项目2. 停止腾讯云上的若依项目3. 使用Docker部署3.1 天翼云数据库&Redis3.1.1 部署数据库3.1.2 部署Redis数据库3.1.1 部署Nginx(这里被天翼云坑了换的腾讯云运行nginx) 3.2 腾讯云部署后端&前端…

C#编程-使用条件构造

使用条件构造 作判定是人的基本能力。判定也是可收编进程序。这有助于确定程序执行指令的顺序。 您可用条件构造来控制程序的流程。条件构造允许您基于被求职的表达式的结果来执行选定语句。 可以包含在C#程序中的各种条件构造是: if…else 构造switch…case 构造if…else构…

多线程学习笔记(二)

1 .如何实现子线程先执行&#xff0c;主线程再执行&#xff1f; 启动子线程后&#xff0c;立即调用该线程的join()方法&#xff0c;则主线程必须等待子线程执行完成后再执行。 ​ 扩展阅读 ​ Thread类提供了让一个线程等待另一个线程完成的方法——join()方法。当在某个程序…

71内网安全-域横向网络传输应用层隧道技术

必备知识点&#xff1b; 代理和隧道技术的区别&#xff1f; 代理主要解决的是网络访问问题&#xff0c;隧道是对过滤的绕过&#xff0c; 隧道技术是为了解决什么 解决被防火墙一些设备&#xff0c;ids&#xff08;入侵检测系统&#xff09;进行拦截的东西进行突破&#xff0…

大华主动注册协议介绍

一、大华主动注册协议介绍 前面写了一篇文章&#xff0c;介绍一些设备通过大华主动注册协议接入到AS-V1000的文章&#xff0c;很多问我关于大华主动注册协议的相关知识。 由于大华主动注册协议是一种私有协议&#xff0c;通常不对外公开详细的协议规范和技术细节。因此…

UDS诊断(ISO14229-1) 27服务

文章目录 功能简介应用场景安全解锁基本原理请求和响应1、请求2、子功能3、肯定响应4、否定响应 注意报文示例UDS中常用 NRC参考 功能简介 27服务&#xff0c;即 SecurityAccess&#xff08;安全访问&#xff09;服务&#xff0c;安全理念采用的是种子与密钥式关系。 应用场景…

VSCode + vite + vue3断点调试配置

没想到这个配置我搞了一上午&#xff0c;网上很多的配置方案都没有效果。总算搞定了&#xff0c;特此记录一下。 首先需要在.vscode文件夹下面创建launch.json配置文件。然后输入如下配置&#xff1a; {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。//…

萨姆·奥尔特曼的预言

Sam Altman&#xff08;萨姆奥尔特曼&#xff09;是 OpenAI 的首席执行官&#xff0c;这家初创公司开发了众所周知的 ChatGPT。2023年11月&#xff0c;他突然被董事会解雇&#xff0c;并短暂调往微软。在 OpenAI 的每个人都威胁要辞职后&#xff0c;他又回来了。 新的商业模式…

OpenCV-13绘制多边形和文本

一、画多边形 使用API polylines绘制多边形。 polylines&#xff08;img&#xff0c; pts&#xff0c; isClose&#xff0c; color&#xff0c; thickness&#xff0c; lineType&#xff0c; shift&#xff09; 其中&#xff1a; pts&#xff1a;表示多边形的点集&#xff…

Excel报表框架(ExcelReport)极简化解决复杂报表导出问题

Excel Report 耗费了半个月的时间&#xff0c;终于在元旦这三天把报表框架开发完成了&#xff0c;使用该框架你可以非常方便的导出复杂的Excel报表。 项目开源地址&#xff1a; GiteeGithub 前言 不知道各位在使用POI开发报表导出过程中遇到过以下的情况&#xff1a; 频繁…

集成电路模拟设计——【基于Serdes 应用的 串化/解串器 时钟与数据恢复电路CDR】

串化/解串器 & 时钟与数据恢复电路CDR&#xff08;可提供实现过程、仿真波形与具体参数细节 本文内容摘要背景串化/解串器全速树形串化器半速树形串化器全速移位寄存器串化器多级树形解串器 PLL型CDR整体架构实现结果 Bang-Bang型CDR整体架构 PS/PI型CDR电路PS电路设计PI电…

DDD+SOA的事件驱动微服务读写分离架构

DDD DDD是Eric Evans于2003年出版的书名&#xff0c;同时也是这个架构设计方法名的起源 Eric Evans “领域驱动设计之父”&#xff0c;世界杰出软件建模专家。 他创建了Domain Language公司&#xff0c;致力于帮助公司机构创建与业务紧密相关的软件。 他在世界各地宣讲领域驱动…

排序算法之插入排序c++

介绍 插入排序&#xff1a;将数组分成“已排序”和“未排序”两部分。初始时&#xff0c;已排序的部分 包含一个元素&#xff0c;然后从未排序的部分中取出元素&#xff0c;并在已排序的部分中找 到合适的位置进行插入&#xff0c;并保持已排序的部分一直有序。 重复这个过程&…

计算机网络学习笔记(一)

文章目录 1.1 请介绍七层网络体系结构。2 .请介绍五层网络体系结构。3 .了解网络编程协议吗&#xff1f;客户端发送给服务器的请求&#xff0c;怎么确定具体的协议&#xff1f;4. TCP、HTTP、FTP分别属于哪一层&#xff1f;5. 讲一下TCP/IP协议。6 .说一说你对ARP协议的理解。7…