网站软件免费下载,wordpress改商城,互联网投诉中心官网入口,网页游戏排行榜前十名大型网络游戏CSS面试真题 part1 1、说说你对盒子模型的理解2、谈谈你对BFC的理解3、什么是响应式设计#xff1f;响应式设计的基本原理是什么#xff1f;如何做#xff1f;4、元素水平垂直居中的方法有哪些#xff1f;如果元素不定宽高呢#xff1f;5、如何实现两栏布局#xff0c;右… CSS面试真题 part1 1、说说你对盒子模型的理解2、谈谈你对BFC的理解3、什么是响应式设计响应式设计的基本原理是什么如何做4、元素水平垂直居中的方法有哪些如果元素不定宽高呢5、如何实现两栏布局右侧自适应三栏布局中间自适应呢6、css选择器有哪些优先级哪些属性可以继承7、css中有哪些方式可以隐藏页面元素区别8、如何实现单行/多行文本溢出的省略样式9、css如何画一个三角形原理是什么10、如何使用css完成视差滚动效果 1、说说你对盒子模型的理解 
自己回答 盒子模型有标准盒子模型或者叫内容盒子模型和怪异盒子模型或者叫IE盒子模型 标准盒子模型的width是内容宽度。怪异盒子模型的width是内容宽度内边距边框。 css样式设置 box-sizing:content-box (默认值标准盒子)box-sizing:border-box 怪异盒子模型 标准回答 与自己回答差不多 
2、谈谈你对BFC的理解 
自己回答 BFC形成自己独立的一块空间不受别的元素影响。通常用来去浮动 形成BFC可以通过 overflow:hidden; clear:both等 
标准回答 
BFC块级格式化上下文页面上的一块渲染区域并且有一套自己的渲染规则 
内部的盒子会在垂直方向上一个接一个放置对于同一个BFC的俩个相邻的盒子的margin会发生重叠与方向无关每个元素的左外边距与包含块的左边界相接触(从左到右)即使浮动元素也是如此BFC的区域不会与float的元素区域重看计算BFC的高度时浮动子元素也参与计算BFC就是页面上的一个隔离的独立容器容器里面的子元素不会影响到外面的元素反之亦然 
BFC目的是形成一个相对于外界完全独立的空间让内部的子元素不会影响到外部的元素 
触发条件 
包括但不限于 
根元素即HTML元素浮动元素float值为left、rightoverflow值不为 visible为 auto、scroll、hiddendisplay的值为 inline-block、inltable-cell、table-caption、table、inline-table、flex、inline-flex、grid、inline-gridposition的值为 absolute 或 fixed 
应用场景 1、防止margin重叠 2、清除内部浮动 3、自适应多栏布局 
3、什么是响应式设计响应式设计的基本原理是什么如何做 
自己回答 响应式设计就是根据屏幕的大小呈现不用的样式效果 基本原理获取屏幕宽度根据宽度进行不同的样式设置或者效果展示 常用的响应式设计有媒体查询、百分比设置、rem设置、vw、flex盒子 
标准回答 响应式网站设计是一种网络页面设计布局页面的设计与开发应当根据用户行为以及设备环境系统平台、屏幕尺寸、屏幕定向等进行相应的响应和调整 
响应式网站常见特点 
同时适配PC平板手机等标签导航在接近手持终端设备时改变为经典的抽屉式导航网站的布局会根据视口来调整模块的大小和位置  实现方式 响应式设计的基本原理是通过媒体查询检测不同的设备屏幕尺寸做处理为了处理移动端页面头部必须有meta声明viewport meta nameviewport contentwidthdevice-width, initial-scale1, maximum
-scale1, user-scalableno”widthdevice-width是自适应手机屏幕的尺寸宽度maximum-scale是缩放比例的最大值initial-scale是缩放的初始化user-scalable是用户的可以缩放的操作 
实现响应式布局的方式有如下 
媒体查询百分比vw/vhrem 
总结: 响应式布局优点可以看到 
面对不同分辨率设备灵活性强能够快捷解决多设备显示适应问题 
缺点 
仅适用布局、信息、框架并不复杂的部门类型网站兼容各种设备工作量大、效率低下代码累赘会出现隐藏无用的元素加载时间加长其实这是一种折中性质的设计解决方案多方面因素影响而达不到最佳效果一定程度上改变了网站原有的布局结构会出现用户混淆的情况 
4、元素水平垂直居中的方法有哪些如果元素不定宽高呢 
自己回答 单行文本水平垂直居中line-heightheighttext-align:center; 块级元素水平垂直居中 flex实现 父块 display:flex;justify-content:center;align-item:center; margin实现 子块margin:xxpx auto; margin实现 子块margin:50% auto; tansform:translateY(50%) 父块position:relative;子块leftcrlc50% - xxpx,topcrlc50% - xxpx 父块position:relative;子块left50%, top50%;tansform:translateY(50%) grid布局 table布局 
标准回答 居中是一个非常基础又很重要的应用场景一般分成居中元素的宽高已知和未知两个大类 
实现方式 
利用定位margin:auto支持不定宽高利用定位margin:负值利用定位transform支持不定宽高table布局flex布局支持不定宽高grid布局支持不定宽高 
根据元素标签的性质可以分为 
内联元素居中布局块级元素居中布局 
内联元素居中布局 
水平居中 
行内元素可设置text-align:centerflex布局设置父元素display:flex;justify-content:center 
垂直居中 
单行文本height  line-height多行文本dispaly:table-cell;vertical-align:middle 
块级元素居中布局 
水平居中 
定宽margin:0 auto;绝对定位  left:50%  margin:负自身一半 
垂直居中 
positionabsolute 设置left、top、margin-left、margin-top定高display:table-celltransform:translate(x,y)flex不定高不定宽grid不定高不定宽兼容性相对比较差 
5、如何实现两栏布局右侧自适应三栏布局中间自适应呢 
自己回答 双飞翼布局圣杯布局flex布局。 
标准回答 两栏布局 往往是以一个定宽栏和一个自适应的栏并排展示存在 
实现思路 
使用float左浮左边栏右边模块使用margin-left 撑出内容块做内容展示为父级元素添加BFC,防止下方元素飞到上方内容 style.box{overflow: hidden; BFC}.left {float: left;width: 200px;background-color: gray;height: 400px;}.right {margin-left: 210px;background-color: lightgray;height: 200px;}
/style
div classboxdiv classleft /divdiv classright /div
/div还有一种更简单的使用采用flex布局 
style.box{overflow: hidden; BFC}.left {float: left;width: 200px;background-color: gray;height: 400px;}.right {margin-left: 210px;background-color: lightgray;height: 200px;}
/style
div classboxdiv classleft /divdiv classright /div
/div三栏布局 实现三栏布局中间自适应的布局方式有 
两边使用float中间使用margin两边使用absolute中间使用margin两边使用 float 和负 margindisplay:table 实现flex 实现grid 网格布局 
6、css选择器有哪些优先级哪些属性可以继承 
自己回答 id选择器class选择器标签选择器元素选择器后代选择器属性选择器 内联样式!importantcss样式文件 可以继承的属性font-sizecolorbackground-colorline-heightfont-width 
标准回答 
关于css 属性选择器常用的有: 
id选择器(#box)选择id为box的元素类选择器(.one)选择类名为one的所有元素标签选择器(div)选择标签为div的所有元素后代选择器(#box div)选择id为box元素内部所有的div元素子选择器(.oneone_1)选择父元素为.one的所有.one_1的元素相邻同胞选择器(.one.two)选择紧接在.one之后的所有.two元素群组选择器(div,p)选择div、p的所有元素 
还有一些使用频率相对没那么多的选择器: 
伪类选择器 
:link选择未被访问的链接
:visited选取已被访问的链接
:active选择活动链接
:hover鼠标指针浮动在上面的元素
:focus :选择具有焦点的
:first-child:父元素的首个子元素伪元素选择器 
:first-letter:用于选取指定选择器的首字母
:first-line :选取指定选择器的首行
:before :选择器在被选元素的内容前面插入内容:
after :选择器在被选元素的内容后面插入内容属性选择器 
[attribute] 选择带有attribute属性的元素
[attributevalue] 选择所有使用attributevalue的元素
[attribute~value] 选择attribute属性包含value的元素
[attributelvalue] 选择attribute属性以value开头的元素css3新增的选择器有如下 
层次选择器p~ul选择前面有p元素的每个ul元素伪类选择器 
:first-of-type 表示一组同级元素中其类型的第一个元素
:last-of-type 表示一组同级元素中其类型的最后一个元素
:only-of-type 表示没有同类型兄弟元素的元素
:only-child 表示没有任何兄弟的元素
:nth-child(n)根据元素在一组同级中的位置匹配元素
:nth-last-of-type(n)匹配给定类型的元素基于它们在一组兄弟元素中的位置从未尾开始计数
:last-child 表示一组兄弟元素中的最后一个元素
:root 设置HTML文档
:empty 指定空的元素
:enabled 选择可用元素
:disabled 选择被禁用元素
:checked 选择选中的元素
:not(selector)选择与selector 不匹配的所有元素属性选择器 [attribute*value]:选择attribute属性值包含value的所有元素[attribute^value]:选择attribute属性开头为value的所有元素[attribute$value]:选择attribute属性结尾为value的所有元素优先级 内联ID选择器类选择器标签选择器!important最高 继承属性 字体系列属性font、font-size、font-family等 文本系列属性text-algin、line-height、color、letter-spacing等 元素可见性visibility 表格布局属性caption-side、border-collapse等 列表属性list-style-type、list-style 引用quotes 光标属性:cursor 
7、css中有哪些方式可以隐藏页面元素区别 
自己回答 opacity0元素还在只是不可见 dispalynone元素消失不见 
标准回答 
dispaly:none元素完全消失不占据空间visibility:hidden; 元素隐藏DOM还在不能响应点击事件opacity:0; 元素隐藏DOM还在可以响应点击事件设置height、width模型属性为0元素不占据空间position:absolute将元素移出可视区域元素不可见clip-path通过裁剪的形式元素不可见占据页面空间不能响应点击事件 
最常用的还是 dispaly:none和 visibility:hidden;  
8、如何实现单行/多行文本溢出的省略样式 
自己回答 单行 text-overfloweclipse overflow:hidden; 多行 text-overfloweclipse overflow:hidden; text-xxx3 标准回答 
单行 
text-overfloweclipse overflow:hidden; white-space:nowrap; 
多行 
基于高度截断基于行数截断 
基于高度截断 
伪元素定位 
position:relative: 为伪元素绝对定位overflow:hidden:文本溢出限定的宽度就隐藏内容position:absolute: 给省略号绝对定位line-height:20px: 结合元素高度高度固定的情况下设定行高控制显示行数height:40px: 设定当前元素高度::after {} :设置省略号样式 style.demo {position: relative;line-height: 20px;height: 40px;overflow: hidden;}.demo::after {content: ...;position: absolute;bottom: 0;right: 0;padding: 0 20px 0 10px;}
/style
bodydiv classdemo这是一段很长的文本/div
/body实现原理通过伪元素绝对定位到行尾并遮住文字再通过 overflow:hidden隐藏多余文字 这种实现具有以下优点 
兼容性好对各大主流浏览器有好的支持响应式截断根据不同宽度做出调整 
一般文本存在英文的时候可以设置 word-break:break-all 使一个单词能够在换行时进行拆分 
基于行数截断 
纯css实现也非常简单核心的css代码如下 
-webkit-line-clamp2用来限制在一个块元素显示的文本的行数为了实现该效果它需要组合其他的webkit属性display: -webkit-box; 和1结合使用将对象作为弹性伸缩盒子模型显示-webkit-box-orient: vertical;和1结合使用设置或检索伸缩盒对象的子元素的排列方式overflow: hidden; 文本溢出限定的宽度就隐藏内容text-overflow: ellipsis;多行文本的情况下用省略号”…“隐藏溢出范围的文本 
stylep {width: 400px;border-radius: 1px solid red;-webkit-line-clamp: 2;display: -webkit-box;-webkit-box-orient: vertical;overflow: hidden;text-overflow: ellipsis;}
/style
p这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本这是一些文本
/p 可以看到上述使用了webkit的css属性扩展所以兼容浏览器范围是pc端的webkit内核的浏览器由于移动端大多数是使用 webkit所以移动端常用该形式 需要注意的是如果文本为一段很长的英文或者数字则需要添加 word-wrap: break-word 属性还能通过使用 javascript 实现配合 css 
9、css如何画一个三角形原理是什么 
自己回答 画边框利用透明度 标准回答 盒子模型在默认情况下是一个矩形 
style.border {width: 50px;height: 50px;border: 2px solid;border-color: #96ceb4 #ffeead #d9534f #ffad60;}
/style
div classborder/div效果如下  将border设置 50pxwidth和height设成0效果如下  此时得到4个不同颜色的正方形如果需要下方三角形设置上边框为0上左右边框颜色透明即 
.border {width: 0;height: 0;border-style:solid;border-width: 0 50px 50px;border-color: transparent transparent #d9534f;
}10、如何使用css完成视差滚动效果 
看这篇解析 
视差滚动是一种效果能够使不同层次的元素以不同的速度进行滚动从而产生了视觉上的深度感和动态效果。可以通过两种方式来实现background-attachment和transform:translate3D 
background-attachment决定背景图像的位置是在视口内固定或者随着包含它的区块滚动。 它的属性值的含义如下  对父元素css_demo设置overflow: scroll当元素内容超出页面时滚动。子元素word随着页面滚动显示对子元素bg设置 background-attachment: fixed使其在当前视口固定。 
templatediv classcss_demodiv classword视差滚动/divdiv classbg bg1/divdiv classword二/divdiv classbg bg2/divdiv classword三/divdiv classbg bg3/divdiv classword四/divdiv classbg bg4/divdiv classword五/divdiv classbg bg5/divdiv classword六/divdiv classbg bg6/divdiv classword七/divdiv classbg bg7/divdiv classword八/divdiv classbg bg8/divdiv classword九/divdiv classbg bg9/div/div
/template
style langscss scoped
.css_demo {width: 100%;height: 100%;overflow: scroll;.bg {background-position: center center;background-size: cover;background-attachment: fixed;.bg1 {background-image: url(/src/assets/img/1.jpeg);}.bg2 {background-image: url(/src/assets/img/2.webp);}.bg3 {background-image: url(/src/assets/img/3.webp);}.bg4 {background-image: url(/src/assets/img/4.webp);}.bg5 {background-image: url(/src/assets/img/5.webp);}.bg6 {background-image: url(/src/assets/img/6.webp);}.bg7 {background-image: url(/src/assets/img/7.webp);}.bg8 {background-image: url(/src/assets/img/8.webp);}.bg9 {background-image: url(/src/assets/img/9.webp);}}
}
div {height: 100%;width: 100%;background: rgba(0, 0, 0, 0.1);color: #fff;line-height: 100vh;text-align: center;font-size: 20vh;
}
/style2、transform:translate3D 
涉及到的CSS属性如下 
transform 可以对元素进行变换(2d/3d)包括平移 translate、旋转 rotate、缩放 scale等perspective指定了观察者与 z0 平面的距离使具有三维位置变换的元素产生透视效果。z0 的三维元素比正常大而 z0 时则比正常小大小程度由该属性的值决定。元素涉及 3d 变换时perspective 可以让我们眼睛看到 3d 立体效果有空间感。transform-style设置元素的子元素是位于 3D 空间中还是平面中。 
通过设置transform-style和 perspective使该容器的子元素处在3D空间中然后设置 transform: translateZ使物体在滚动的时候在Y轴移动位移不同产生视觉差。 
templatediv classtransform_containerdiv classcontainerdiv classone一一一一/divdiv classtwo二二二二/divdiv classthree三三三三三/div/div/div
/template
style scoped langscss
.transform_container {perspective: 1px;transform-style: preserve-3d;height: 100%;overflow-y: scroll;overflow-x: hidden;
}
.container {transform-style: preserve-3d;height: 150%;.one {font-weight: 600;transform: translateZ(-1px);position: absolute;top: 20%;left: 20%;}.two {font-weight: 600;transform: translateZ(-2px);position: absolute;top: 20%;left: 35%;}.three {font-weight: 600;transform: translateZ(-3px);position: absolute;top: 20%;left: 50%;}
}
/style 文章转载自: http://www.morning.zpqlf.cn.gov.cn.zpqlf.cn http://www.morning.rmltt.cn.gov.cn.rmltt.cn http://www.morning.qwmdx.cn.gov.cn.qwmdx.cn http://www.morning.qllcm.cn.gov.cn.qllcm.cn http://www.morning.smkxm.cn.gov.cn.smkxm.cn http://www.morning.gfjgq.cn.gov.cn.gfjgq.cn http://www.morning.hqjtp.cn.gov.cn.hqjtp.cn http://www.morning.pcxgj.cn.gov.cn.pcxgj.cn http://www.morning.ffmx.cn.gov.cn.ffmx.cn http://www.morning.tfkqc.cn.gov.cn.tfkqc.cn http://www.morning.srgnd.cn.gov.cn.srgnd.cn http://www.morning.gwmny.cn.gov.cn.gwmny.cn http://www.morning.kdldx.cn.gov.cn.kdldx.cn http://www.morning.jjwt.cn.gov.cn.jjwt.cn http://www.morning.bkxnp.cn.gov.cn.bkxnp.cn http://www.morning.fllfc.cn.gov.cn.fllfc.cn http://www.morning.bpmfr.cn.gov.cn.bpmfr.cn http://www.morning.bhrbr.cn.gov.cn.bhrbr.cn http://www.morning.wnkbf.cn.gov.cn.wnkbf.cn http://www.morning.zpfr.cn.gov.cn.zpfr.cn http://www.morning.klyyd.cn.gov.cn.klyyd.cn http://www.morning.xdlwm.cn.gov.cn.xdlwm.cn http://www.morning.sknbb.cn.gov.cn.sknbb.cn http://www.morning.qklff.cn.gov.cn.qklff.cn http://www.morning.tmtrl.cn.gov.cn.tmtrl.cn http://www.morning.webpapua.com.gov.cn.webpapua.com http://www.morning.pqhgn.cn.gov.cn.pqhgn.cn http://www.morning.llfwg.cn.gov.cn.llfwg.cn http://www.morning.jtdrz.cn.gov.cn.jtdrz.cn http://www.morning.fglzk.cn.gov.cn.fglzk.cn http://www.morning.hbqfh.cn.gov.cn.hbqfh.cn http://www.morning.bxfy.cn.gov.cn.bxfy.cn http://www.morning.xlmpj.cn.gov.cn.xlmpj.cn http://www.morning.rwqj.cn.gov.cn.rwqj.cn http://www.morning.wspyb.cn.gov.cn.wspyb.cn http://www.morning.yfrbn.cn.gov.cn.yfrbn.cn http://www.morning.gsrh.cn.gov.cn.gsrh.cn http://www.morning.wnjsp.cn.gov.cn.wnjsp.cn http://www.morning.mytmx.cn.gov.cn.mytmx.cn http://www.morning.rkyw.cn.gov.cn.rkyw.cn http://www.morning.yzfrh.cn.gov.cn.yzfrh.cn http://www.morning.vaqmq.cn.gov.cn.vaqmq.cn http://www.morning.bpmdz.cn.gov.cn.bpmdz.cn http://www.morning.pwwjs.cn.gov.cn.pwwjs.cn http://www.morning.zbmcz.cn.gov.cn.zbmcz.cn http://www.morning.ndtzy.cn.gov.cn.ndtzy.cn http://www.morning.yckwt.cn.gov.cn.yckwt.cn http://www.morning.guangda11.cn.gov.cn.guangda11.cn http://www.morning.sjbty.cn.gov.cn.sjbty.cn http://www.morning.srtw.cn.gov.cn.srtw.cn http://www.morning.ypzr.cn.gov.cn.ypzr.cn http://www.morning.tdttz.cn.gov.cn.tdttz.cn http://www.morning.xsrnr.cn.gov.cn.xsrnr.cn http://www.morning.monstercide.com.gov.cn.monstercide.com http://www.morning.yxzfl.cn.gov.cn.yxzfl.cn http://www.morning.qdzqf.cn.gov.cn.qdzqf.cn http://www.morning.kjcfz.cn.gov.cn.kjcfz.cn http://www.morning.lxjxl.cn.gov.cn.lxjxl.cn http://www.morning.fmjzl.cn.gov.cn.fmjzl.cn http://www.morning.zqzzn.cn.gov.cn.zqzzn.cn http://www.morning.c7630.cn.gov.cn.c7630.cn http://www.morning.bdtpd.cn.gov.cn.bdtpd.cn http://www.morning.mfzyn.cn.gov.cn.mfzyn.cn http://www.morning.nrydm.cn.gov.cn.nrydm.cn http://www.morning.swlwf.cn.gov.cn.swlwf.cn http://www.morning.lfjmp.cn.gov.cn.lfjmp.cn http://www.morning.rytps.cn.gov.cn.rytps.cn http://www.morning.bfmrq.cn.gov.cn.bfmrq.cn http://www.morning.ghryk.cn.gov.cn.ghryk.cn http://www.morning.rbffj.cn.gov.cn.rbffj.cn http://www.morning.mkygc.cn.gov.cn.mkygc.cn http://www.morning.wkhfg.cn.gov.cn.wkhfg.cn http://www.morning.pqkyx.cn.gov.cn.pqkyx.cn http://www.morning.bpmnh.cn.gov.cn.bpmnh.cn http://www.morning.jcypk.cn.gov.cn.jcypk.cn http://www.morning.wqrk.cn.gov.cn.wqrk.cn http://www.morning.mpbgy.cn.gov.cn.mpbgy.cn http://www.morning.oioini.com.gov.cn.oioini.com http://www.morning.lonlie.com.gov.cn.lonlie.com http://www.morning.mdmc.cn.gov.cn.mdmc.cn