前端面试题集锦(1)

1、 rem em vw vw 百分比区别

2、app怎么做适配的

3、bfc是什么,清除浮动的原理

4、简单的一个盒子移动到另一个盒子,你用什么方式实现动画效果

5、css 选择器有哪些,权重是什么样的

6、CSS选择符有哪些?哪些属性可以继承?优

先级算法如何计算?

CSS选择符(就是选择器)

基础选择器

结构选择器

属性选择器

结构伪类选择器

目标伪类

UI状态伪类

否定伪类E:

动态伪类

属性继承

选择器优先级的算法

7、css引入的方式有哪些,link和@import的

区别是什么



1rem em vw vw 百分比区别

🌈  相同点:
       rem, em vw vh vw 属于前端开发除了 px单位之外的另外几种单位取值;但是具体含义存在区别
🌈  不同点
       px:是像素单位,属于绝对单位,是一个具体的大小
       rem:相对于根元素进行设置
       em:如果自身有字体大小的设置,那么就相对于自身字体大小设置,如果自身没有字体大小 设置,那么就相当于父元素进行设置。
       vw: 1vw相当于浏览器窗口宽度的百分之一
       vh: 1vh相当于浏览器窗口高度的百分之一
       百分比:相对于父元素宽度或者高度的百分之几
       注意:vw vh 是视口可以观看的区域的大小;如果没有滚动条的话,则宽度设置成 100vw和100%的时候实现的效果一直;如               果有滚动的话,则100vw 中不是包括滚动条的, 100%是包括 滚动条的距离的
<style>
*{margin:0;padding:0}
html,body{
height: 100%;
}
.box1{
width: 100%;
height:500px;
background-color: red;
}
.box2{
width: 100vw;
height:500px;
background-color: green;
}
</style>
<div class="box1"></div>
<div class="box2"></div>750的设计图,20px为多少rem

2、app怎么做适配的

🌈  基于手机系统开发的app( 原生 Android/IOS) ,另外一种是webapp
🌈  设置以下标签:
🌈  具体的含义为:app 完成的页面的宽度等于设备的宽度,页面的缩放比例为 1.0 ,不允许最大缩放;
🌈  使用媒体查询和响应式做适配
🌈  使用媒体查询检测设备屏幕的大小改变布局样式,但是成本耗费比较大不易操作
🌈  使用单位自己单位中经常使用的封装好的flexble.js 文件做适配
🌈  封装好的flexble.js 文件文件可以做到适配,并且原理是已经封装好的视口和设备像素比基于webapp开发

3、bfc是什么,清除浮动的原理

🌈  BFC含义:
块格式化上下文(Block Formatting Context, BFC ) 是 Web 页面的可视 CSS 渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域
🌈  BFC触发条件:
     根元素
     float 属性不为 none (脱离文档流)
     position absolute fixed
     display inline-block,table-cell,table-caption,flex,inine-flex
     overflow 不为 visible
🌈  BFC布局规则:
      内部的 Box 会在垂直方向,一个接一个地放置。
      Box 垂直方向的距离由 margin 决定。属于同一个 BFC 的两个相邻 Box margin 会发生重叠(按照 最大margin 值设置)
      每个元素的 margin box 的左边, 与包含块 border box 的左边相接触
      BFC 的区域不会与 float box 重叠。
      BFC 就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。
      计算 BFC 的高度时,浮动元素也参与计算

4、简单的一个盒子移动到另一个盒子,你用什么方式实现动画效果

🌈  方法一:使用HTML+CSS里面的transition过渡动画结合2d的位移translate设置
<style>
*{margin:0;padding:0}
div{
float: left;
}
.box1{
width: 200px;
height:200px;
background-color: red;
}
.box2{
width: 100px;
height:100px;
background-color: green;
transition: all linear 1s;
}
.box1:hover+.box2{
transform: translateX(-100px);
}
</style>

<div class="box1"></div>
<div class="box2"></div>
🌈  方法二:使用HTML5+CSS3中的animation动画属性结合2d里面的位移translate进行实现
<style>
*{margin:0;padding:0}
div{
float: left;
}
.box1{
width: 200px;
height:200px;
background-color: red;
}
.box2{
width: 100px;
height:100px;
background-color: green;
animation: mover linear 1s;
}
@keyframes mover{
0%{
transform: translateX(0px);
}
100%{
transform: translateX(-100px);
}
}
</style>

<div class="box1"></div>
<div class="box2"></div>
🌈  方法三:复杂方法,可以使用js封装一个动画函数,直接使用鼠标移动移入事件或者点击事件触发移动
<style>
*{margin:0;padding:0}
div{float:left}
.box1{width:300px;height:300px;background-color:red}
.box2{width:100px;height:100px;background-color:green}
</style>

<div class="box1"></div>
<div class="box2"></div>

<script>
//获取元素
//设置x和y的值
//绑定鼠标移入事件==缓慢移动 x的位置进行移动 自减
6、boder实现0.5像素
实现方法:CSS3有缩放的属性,我们可以利用这个属性,缩小50%的1px的边框,来实现这个功能代码如
下:
7、场景题(两个盒子,左边固定宽,右边自适
应,你能想到几种方法)
公共HTML代码部分
方法一:float来和BFC实现
//绑定鼠标移出事件==缓慢移动 x的位置进行移动 自增
</script>

5、css 选择器有哪些,权重是什么样的

选择器含义:选择器是查找页面元素的一种方式方法,选择器的种类有很多种。
常用的选择器有以下内容:
1 ID #id
2 class .class
3 、标签 p
4 、通用 *
5 、属性 type="text"
6 、伪类 :link :visited :hover :active
7 、伪元素 ::first-line :first-letter
8 、子选择器 div>p
9 、后代选择器 div p
10 、相邻兄弟 div+p
11 、通用兄弟 div~p
12 、结构伪类 :nth-child :first-child :last-child
权重计算规则:
1 、第一等:代表内联样式,如 : style=”” ,权值为 1000
2 、第二等:代表 ID 选择器,如: #content ,权值为 0100
3 、第三等:代表类,伪类和属性选择器,如 .content ,权值为 0010
4 、第四等:代表类型选择器和伪元素选择器,如 div p ,权值为 0001
5 、通配符、 * 权值为 0000
6 、继承的样式没有权重值。

important > 内联 > ID > | 伪类 | 属性选择|伪对象 > 标签 > 继承 > 通配符

6、CSS选择符有哪些?哪些属性可以继承?优

先级算法如何计算?

CSS选择符(就是选择器)

基础选择器

通配符选择器 *{}
标签选择器标签名 p{}
class 类选择器 .class 属性值 {}
多类名选择器 . 类名 n{} 标签中 class 属性为 class=" 类名 1 类名 2 ... 类名 n"
id 选择器 #id 属性值 {}
群组选择器 选择器 1, 选择器 2,...{}

结构选择器

子元素选择器 E>F{} F 必须是 E 的子元素
后代选择器 E F{} F 必须是 E 的后代
相邻兄弟选择器 E+F{} F 是紧挨这 E 后面的兄弟元素
通用选择器 E~F{} F E 后面所有的兄弟元素

属性选择器

[Eattr] 元素 E 中存在 attr 属性
[Eattr="value"] 元素 E 中存在 attr 属性 , 并且 attr 的属性值为 value
[Eattr~="value"] 元素 E 中存在 attr 属性 , 并且 attr 的属性值为 value 或者 "value value1 ..." 的形式
[Eattr^="value"] 元素 E 中存在 attr 属性 , 并且 attr 的属性值以 value 开始
[Eattr$="value"] 元素 E 中存在 attr 属性 , 并且 attr 的属性值以 value 结尾
[Eattr*="value"] 元素 E 中存在 attr 属性 , 并且 attr 的属性值存在 value
[Eattr|="value"] 元素 E 中存在 attr 属性 , 并且 attr 的属性值为 value 或者 value- 的形式

结构伪类选择器

X:first-child 匹配子集的第一个元素
X:last-child 匹配父元素中最后一个 X 元素
X:nth-child(n) 用于匹配索引值为 n 的子元素。索引值从 1 开始
X:only-child 这个伪类一般用的比较少,比如上述代码匹配的是 div 下的有且仅有一个的 p ,也就是说,如果
div 内有多个 p ,将不匹配。
X:root 匹配文档的根元素。在 HTML (标准通用标记语言下的一个应用)中,根元素永远是 HTML
X:empty 匹配没有任何子元素(包括包含文本)的元素

目标伪类

E:target 选择匹配 E 的所有元素,且匹配元素被相关 URL 指向

UI状态伪类

E:enabled 匹配所有用户界面( form 表单)中处于可用状态的 E 元素
E:disabled 匹配所有用户界面( form 表单)中处于不可用状态的 E 元素
E:checked 匹配所有用户界面( form 表单)中处于选中状态的元素 E
E:selection 匹配 E 元素中被用户选中或处于高亮状态的部分

否定伪类E:

not(s) IE6-8 浏览器不支持 :not() 选择器。)匹配所有不匹配简单选择符 s 的元素 E

动态伪类

E:link 链接伪类选择器 选择匹配的 E 元素,而且匹配元素被定义了超链接并未被访问过。常用于链接
描点上
E:visited 链接伪类选择器 选择匹配的 E 元素,而且匹配元素被定义了超链接并已被访问过。常用于链接
描点上
E:active 用户行为选择器 选择匹配的 E 元素,且匹配元素被激活。常用于链接描点和按钮上
E:hover 用户行为选择器 选择匹配的 E 元素,且用户鼠标停留在元素 E 上。 IE6 及以下浏览器仅支持
a:hover
E:focus 用户行为选择器 选择匹配的 E 元素,而且匹配元素获取焦点

属性继承

继承: html 元素可以从父元素那里继承一部分 css 属性,即使当前元素没有定义该属性。
1. 字体系列属性 font 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. 表格布局属性 caption-side border-collapse border-spacing empty-cells table
layout
5. 列表布局属性 list-style-type list-style-image list-style-position list-style

选择器优先级的算法

优先级就近原则,同权重情况下样式定义最近者为准 ;
载入样式以最后载入的定位为准 ;
优先级为:同权重 : 内联样式表(标签内部) > 嵌入样式表(当前文件中) > 外部样式表(外部
文件中)。
!important > id > class > tag important 比 内联优先级高

7、css引入的方式有哪些,link@import

区别是什么

区别1 link 属于 XHTML 标签,而 @import 完全是 CSS 提供的一种方式。
区别2 :当一个页面被加载的时候(就是被浏览者浏览的时候), link 引用的 CSS 会同时被加载,而
@import 引用的 CSS 会等到页面全部被下载完再被加载。所以有时候浏览 @import 加载 CSS 的页面时
开始会没有样式(就是闪烁),网速慢的时候还挺明显。
区别3 @import CSS2.1 提出的,所以老的浏览器不支持, @import 只有在 IE5 以上的才能识别,而
link 标签无此问题。
区别4 :使用 dom(document object model 文档对象模型 ) 控制样式时的差别:当使用 javascript 控制
dom 去改变样式的时候,只能使用 link 标签,因为 @import 不是 dom 可以控制的 .
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: "C面试题集锦pdf"是一本包含了一系列与C语言相关的面试题的PDF文件集合。面试题集锦通常包含了不同难度和类型的问题,旨在帮助求职者准备并提升他们在C语言面试中的竞争力。 这本PDF文件对于正在寻求C语言相关职位的求职者来说可能非常有用。使用这本面试题集锦,求职者可以在面试前评估和发展自己的C语言技能,并了解他们在这个领域的优势和不足。这些问题涵盖了C语言的各个方面,包括基本语法、数据类型、指针、数组、字符串、函数、结构体、文件处理等。 解答这些问题,求职者需要对C语言的基本概念、语法和常见问题有深入的理解。这本面试题集锦可以帮助求职者巩固他们在C语言方面的知识和技能,提高他们的编码和解决问题的能力。 此外,这个面试题集锦也适用于想要测试自己在C语言方面知识的学生、程序员或其他对C语言感兴趣的人。无论是自学还是参与编程竞赛,这个PDF文件都可以作为一个很好的练习和自测资源。 总之,"C面试题集锦pdf"是一个有助于求职者准备C语言面试的资源。它涵盖了C语言的各个方面,提供了丰富的问题和答案,对于想要提高他们的C语言知识和技能的人们来说是一个非常有价值的资源。 ### 回答2: "C面试题集锦 PDF" 是一本汇集了不同公司常见的C语言面试题的PDF文档。对于寻求C语言开发职位的求职者来说,这本面试题集锦是一个非常有用的资源。 该面试题集锦通常包含了C语言的基础知识和常见的面试问题。它可以帮助求职者准备面试,了解可能会被问到的问题,并提供答案示例。这些问题可能涉及概念(如指针、数据类型等)、语法、算法和数据结构等方面。 这本面试题集锦通常被分为不同的章节或主题。每个主题都会列出一系列相关的问题。对于每个问题,通常会提供一个解答和解释。这样的设计有助于求职者理解和掌握C语言的基本知识,并在面试中能够准确地回答问题。此外,该面试题集锦还可能包含一些示例代码,供求职者参考。 求职者可以通过阅读和练习这本面试题集锦,提前熟悉和理解可能出现的面试问题。他们可以针对每个问题尝试编写自己的答案,并确保对关键概念和算法有深入的理解。这样,在实际面试中,他们就能够更加自信地回答问题,并展示自己的技能和知识。 综上所述,"C面试题集锦PDF" 对于想要在C语言开发领域找工作的求职者来说,是一个非常有价值的资源。它可以帮助他们准备面试,提升他们的技能水平,并在求职过程中取得成功。 ### 回答3: 《面试题集锦 PDF》是一本收集了各种类型面试题的电子书,旨在帮助求职者更好地准备面试。此书包含了常见的面试题目,涵盖了各个行业和职位。读者可以通过阅读这本书,了解不同类型的面试题目及其答题技巧,提升自己的面试表现。 这本电子书的特点之一是提供了详细的解答和解析。每个面试题目都会给出参考答案,并解释为什么这样的答案是最佳选择。这对于读者来说非常有帮助,可以加深他们对问题的理解,学会如何结合自己的经验和能力给出合适的回答。 《面试题集锦 PDF》还在每个面试题目后提供了一些额外的建议和提示。这些建议包括面试前的准备工作、面试时的表现技巧以及面试后的反思与总结。通过阅读这些额外的建议,读者可以更全面地了解整个面试过程,并针对性地提升自己的能力。 总而言之,《面试题集锦 PDF》是一本非常有价值的求职辅助资料。无论是初次求职还是已经有一定工作经验的人,都可以从中获得宝贵的经验和知识。通过认真阅读并实践其中的内容,读者可以提高自己的面试能力,增加成功通过面试的机会,从而更好地获得理想的工作机会。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兰de宝贝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值