- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
CSS3高频面试题及实战答案
一、基础核心类
CSS3新增了哪些核心特性?请举例说明用途
答案:核心新增特性及用途如下:
选择器:如nth-child(2n)(选中偶数元素)、:not(.active)(排除指定类元素),简化DOM元素定位,减少JS依赖;
盒模型:box-sizing:border-box,让元素宽高包含边框和内边距,解决布局计算繁琐问题;
边框与背景:border-radius(圆角)、box-shadow(阴影)、background-size:cover(背景自适应),无需图片实现美化效果;
动画:transition(过渡动画)、animation(关键帧动画),实现元素状态变化的平滑效果;
弹性布局:flex,快速实现响应式布局,解决垂直居中、自适应排列等经典问题;
媒体查询:@media,根据屏幕尺寸切换样式,适配移动端和PC端。
box-sizing的两个值有什么区别?实际开发中常用哪个?
答案:
content-box(默认值):元素宽高=内容区宽度/高度,边框和内边距会向外扩展,导致元素实际占用空间变大;
border-box:元素宽高=内容区+边框+内边距,边框和内边距不会超出设定的宽高,布局更可控;
实际开发中优先使用border-box,尤其在表单、卡片布局中,能避免因内边距/边框导致的布局错乱。
二、布局相关类
Flex布局中,flex:1代表什么意思?flex属性的三个值分别对应什么?
答案:
flex:1是简写形式,等价于flex:110%,表示:
元素会自动分配剩余空间,占满父容器的可用宽度/高度;
允许缩小(flex-shrink:1),当空间不足时会缩小;
初始宽度为0%(flex-basis:0%),不占用默认空间;
flex属性的三个值依次是:flex-grow(放大比例)、flex-shrink(缩小比例)、flex-basis(初始尺寸)。
Grid布局和Flex布局的核心区别是什么?分别适用什么场景?
答案:
核心区别:Flex是一维布局(只能沿行或列排列),Grid是二维布局(同时控制行和列);
适用场景:
Flex:适合组件内部的元素排列(如导航栏、按钮组、卡片内容居中)、简单的响应式布局(如一行多列自适应);
Grid:适合整体页面布局(如头部、侧边栏、内容区、底部的网格划分)、复杂的多列多行布局(如不规则卡片网格)。
如何实现元素的水平垂直居中?至少说出3种方法
答案:
Flex布局法(最常用):父元素设置display:flex;justify-content:center;align-items:center;,无需知道子元素尺寸;
定位+transform法:子元素设置position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);,父元素需设position:relative;,适合子元素尺寸不固定的情况;
Grid布局法:父元素设置display:grid;place-items:center;,简洁高效,兼容现代浏览器;
表格法:父元素设display:table;,子元素设display:table-cell;vertical-align:middle;text-align:center;,兼容旧浏览器。
三、动画与过渡类
transition和animation的区别是什么?分别怎么使用?
答案:
区别:
transition:过渡动画,需要触发条件(如hover、click、状态变化),只能实现“从A到B”的线性变化,无法定义中间关键帧;
animation:关键帧动画,无需触发条件(可自动执行),可通过@keyframes定义多个关键帧,实现复杂动画(如循环、暂停、反向);
使用示例:
transition:div{transition:all0.3sease;}div:hover{transform:scale(1.1);}(hover时放大1.1倍,过渡0.3秒);
animation:@keyframesfadeIn{0%{opacity:0;}100%{opacity:1;}}div{animation:fadeIn1seaseforwards;}(页面加载时淡入,持续1秒)。
transform的常用属性有哪些?translate和position:relative的left/top有什么区别?
原创力文档


文档评论(0)