148道-CSS-与-JavaScript-基础面试题

background-color: pink;
}

  • 让绝对定位的 div 居中

div {
position: absolute;
width: 300px;
height: 300px;
margin: auto;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-color: pink; /方便看效果/
}

  • 水平垂直居中一

/确定容器的宽高宽500高300的层设置层的外边距/
div{
position: absolute;/绝对定位/
width: 500px;
height: 300px;
top: 50%;
left: 50%;
margin: -150px00-250px;/外边距为自身宽高的一半/
background-color: pink;/方便看效果/
}

  • 水平垂直居中二

/未知容器的宽高,利用transform属性/
div {
position: absolute; /相对定位或绝对定位均可/
width: 500px;
height: 300px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: pink; /方便看效果/
}

  • 水平垂直居中三

/利用flex布局实际使用时应考虑兼容性/
.container {
display: flex;
align-items: center; /垂直居中/
justify-content: center; /水平居中/
}
.containerdiv {
width: 100px;
height: 100px;
background-color: pink; /方便看效果/
}

  • 水平垂直居中四

/利用text-align:center和vertical-align:middle属性/
.container {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0, 0, 0, 0.5);
text-align: center;
font-size: 0;
white-space: nowrap;
overflow: auto;
}

.container::after {
content: ‘’;
display: inline-block;
height: 100%;
vertical-align: middle;
}

.box {
display: inline-block;
width: 500px;
height: 400px;
background-color: pink;
white-space: normal;
vertical-align: middle;
}

10. display 有哪些值?说明他们的作用。

  • block 块类型,默认宽度为父元素宽度,可设置宽高,换行显示。
  • none 元素不显示,并从文档流中移除。
  • inline 行内元素类型。默认宽度为内容宽度,不可设置宽高,同行显示。
  • inline-block 默认宽度为内容宽度,可以设置宽高,同行显示。
  • list-item 像块类型元素一样显示,并添加样式列表标记。
  • table 此元素会作为块级表格来显示。
  • inherit 规定应该从父元素继承display属性的值。

11. position 的值 relative 和 absolute 定位原点是?

相关知识点:

  • absolute
    生成绝对定位的元素,相对于值不为static的第一个父元素的padding box进行定位,也可以理解为离自己这一级元素最近的一级position设置为absolute或者relative的父元素的padding box的左上角为原点的。
  • fixed(老IE不支持)
    生成绝对定位的元素,相对于浏览器窗口进行定位。
  • relative
    生成相对定位的元素,相对于其元素本身所在正常位置进行定位。
  • static
    默认值。没有定位,元素出现在正常的流中(忽略top,bottom,left,right,z-index声明)。
  • inherit
    规定从父元素继承position属性的值。

12. CSS3 有哪些新特性?(根据项目回答)

  • 新增各种CSS选择器 (:not(.input):所有class不是“input”的节点)
  • 圆角 (border-radius:8px)
  • 多列布局 (multi-column layout)
  • 阴影和反射 (Shadow\Reflect)
  • 文字特效 (text-shadow)
  • 文字渲染 (Text-decoration)
  • 线性渐变 (gradient)
  • 旋转 (transform)
  • 缩放,定位,倾斜,动画,多背景

13. 请解释一下 CSS3 的 Flex box(弹性盒布局模型),以及适用场景?

相关知识点:
Flex是FlexibleBox的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。

任何一个容器都可以指定为Flex布局。行内元素也可以使用Flex布局。注意,设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。

采用Flex布局的元素,称为Flex容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称"项目"。

容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis),项目默认沿主轴排列。

以下6个属性设置在容器上:

  • flex-direction属性决定主轴的方向(即项目的排列方向)。
  • flex-wrap属性定义,如果一条轴线排不下,如何换行。
  • flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
  • justify-content属性定义了项目在主轴上的对齐方式。
  • align-items属性定义项目在交叉轴上如何对齐。
  • align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。

以下6个属性设置在项目上:

  • order属性 定义项目的排列顺序。数值越小,排列越靠前,默认为0。
  • flex-grow属性 定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
  • flex-shrink属性 定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
  • flex-basis属性 定义了在分配多余空间之前,项目占据的主轴空间。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。
  • flex属性 是flex-grow,flex-shrink和flex-basis的简写,默认值为0 1 auto。
  • align-self属性 允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items 属性,如果没有父元素,则等同于stretch。

14. 用纯 CSS 创建一个三角形的原理是什么?

采用的是相邻边框连接处的均分原理。将元素的宽高设为0,只设置 border,把任意三条边隐藏掉(颜色设为transparent),剩下的就是一个三角形。

#demo {
width: 0;
height: 0;
border-width: 20px;
border-style: solid;
border-color: transparent transparent red transparent;
}

篇幅有限,只有题目和部分答案,需要资料可以加入裙【953352883】领取100道CSS面试题,JavaScript基础面试题文档(包含题目和答案)

  1. 一个满屏品字布局如何设计?
  2. CSS 多列等高如何实现?
  3. 经常遇到的浏览器的兼容性有哪些?原因,解决方法是什么,常用 hack 的技巧?
  4. li 与 li 之间有看不见的空白间隔是什么原因引起的?有什么解决办法?
  5. 为什么要初始化 CSS 样式?
  6. 什么是包含块,对于包含块的理解?
  7. CSS 里的 visibility 属性有个 collapse 属性值是干嘛用的?在不同浏览器下以后什么区别?
  8. width:auto 和 width:100%的区别
  9. 绝对定位元素与非绝对定位元素的百分比计算的区别
  10. 简单介绍使用图片 base64 编码的优点和缺点。
  11. ‘dsplay’、'position’和’float’的相互关系?
  12. margin 重叠问题的理解。
  13. 对 BFC 规范(块级格式化上下文:block formatting context)的理解?
  14. IFC 是什么?
  15. 请解释一下为什么需要清除浮动?清除浮动的方式
  16. 使用 clear 属性清除浮动的原理?
  17. zoom:1 的清除浮动原理?
  18. 移动端的布局用过媒体查询吗?
  19. 使用 CSS 预处理器吗?喜欢哪个?
  20. CSS 优化、提高性能的方法有哪些?
  21. 浏览器是怎样解析 CSS 选择器的?
  22. 在网页中应该使用奇数还是偶数的字体?为什么呢?
  23. margin 和 padding 分别适合什么场景使用?
  24. 抽离样式模块怎么写,说出思路,有无实践经验?
  25. 简单说一下 css3 的 all 属性。
  26. 为什么不建议使用统配符初始化 css 样式。
  27. absolute 的 containingblock(包含块)计算方式跟正常流有什么不同?
  28. 对于 hasLayout 的理解?
  29. 元素竖向的百分比设定是相对于容器的高度吗?
  30. 全屏滚动的原理是什么?用到了 CSS 的哪些属性?
  31. 什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的 IE?
  32. 视差滚动效果,如何给每页做不同的动画?
  33. 如何修改 chrome 记住密码后自动填充表单的黄色背景?
  34. 怎么让 Chrome 支持小于 12px 的文字?
  35. 让页面里的字体变清晰,变细用 CSS 怎么做?
  36. font-style 属性中 italic 和 oblique 的区别?
  37. 设备像素、css 像素、设备独立像素、dpr、ppi 之间的区别?
  38. layout viewport、visual viewport 和 ideal viewport 的区别?
  39. position:fixed; 在 android 下无效怎么处理?
  40. 如果需要手动写动画,你认为最小时间间隔是多久,为什么?
  41. 如何让去除 inline-block 元素间间距?
  42. 有一个高度自适应的 div,里面有两个 div,一个高度 100px,希望另一个填满剩下的高度。
  43. png、jpg、gif 这些图片格式解释一下,分别什么时候用。有没有了解过webp?
  44. 浏览器如何判断是否支持 webp 格式图片
  45. 什么是 Cookie 隔离?
  46. style 标签写在 body 后与 body 前有什么区别?

  1. 什么是 CSS 预处理器/后处理器?
  2. 阐述一下 CSSSprites
  3. 使用 rem 布局的优缺点?
  4. 画一条 0.5px 的线
  5. transition 和 animation 的区别
  6. 什么是首选最小宽度?
  7. 为什么 height:100%会无效?
  8. min-width/max-width 和 min-height/max-height 属性间的覆盖规则?
  9. 内联盒模型基本概念
  10. 什么是替换元素?
  11. 替换元素的计算规则?
  12. content 与替换元素的关系?
  13. margin:auto 的填充规则?
  14. margin 无效的情形
  15. border 的特殊性?
  16. 什么是基线和 x-height?
  17. line-height 的特殊性?
  18. vertical-align 的特殊性?
  19. overflow 的特殊性?
  20. 无依赖绝对定位是什么?
  21. absolute 与 overflow 的关系?
  22. clip 裁剪是什么?
  23. relative 的特殊性?
  24. 什么是层叠上下文?
  25. 什么是层叠水平?
  26. 元素的层叠顺序?
  27. 层叠准则?
  28. font-weight 的特殊性?
  29. text-indent 的特殊性?
  30. letter-spacing 与字符间距?
  31. word-spacing 与单词间距?
  32. white-space 与换行和空格的控制?
  33. 隐藏元素的 background-image 到底加不加载?
  34. 如何实现单行/多行文本溢出的省略(…)?
  35. 常见的元素隐藏方式?
  36. css 实现上下固定中间自适应布局?
  37. css 两栏布局的实现?
  38. css 三栏布局的实现?
  39. 实现一个宽高自适应的正方形
  40. 实现一个三角形

JavaScript 基础面试题

  1. 介绍JavaScript的基本数据类型
  2. 说说写JavaScript的基本规范?
  3. jQuery使用建议
  4. Ajax使用
  5. JavaScript有几种类型的值?你能画一下他们的内存图吗?
  6. 栈和堆的区别?
  7. Javascript实现继承的几种方式
  8. Javascript创建对象的几种方式?
  9. Javascript作用链域
  10. 谈谈this的理解
  11. eval是做什么的?
  12. 什么是window对象? 什么是document对象?
  13. null,undefined的区别?
  14. [“1”, “2”, “3”].map(parseInt) 答案是多少?
  15. 关于事件,IE与火狐的事件机制有什么区别? 如何阻止冒泡?
  16. 什么是闭包(closure),为什么要用它?
  17. javascript 代码中的"use strict";是什么意思 ? 使用它区别是什么?
  18. 如何判断一个对象是否属于某个类?
  19. new操作符具体干了什么呢?
  20. Javascript中,执行时对象查找时,永远不会去查找原型的函数?
  21. 对JSON的了解?
  22. JS延迟加载的方式有哪些?
  23. 同步和异步的区别?
  24. 什么是跨域问题 ,如何解决跨域问题?
  25. 页面编码和被请求的资源编码如果不一致如何处理?
  26. 模块化开发怎么做?
  27. AMD、CMD规范区别?
  28. requireJS的核心原理是什么?(如何动态加载的?如何避免多次加载的?如何缓存的?)
  29. call和apply
  30. documen.write和 innerHTML的区别
  31. 回流与重绘
  32. DOM操作
  33. 数组对象有哪些原生方法,列举一下
  34. 那些操作会造成内存泄漏
  35. 什么是Cookie 隔离?
  36. 响应事件
  37. flash和js通过什么类如何交互?
  38. Flash与Ajax各自的优缺点?
  39. 有效的javascript变量定义规则
  40. XML与JSON的区别?
  41. HTML与XML的区别?
  42. 渐进增强与优雅降级
  43. Web Worker和Web Socket?
  44. JS垃圾回收机制?
  45. web应用从服务器主动推送data到客户端的方式?
  46. 如何删除一个cookie?
  47. attribute与property的区别?
    自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。

资料领取方式:点击这里免费领取前端全套学习资料

css源码pdf

JavaScript知识点
学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。

资料领取方式:点击这里免费领取前端全套学习资料

[外链图片转存中…(img-XJRZy4dA-1713427152292)]

[外链图片转存中…(img-MKgEpFXM-1713427152293)]

  • 25
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值