2021 CSS3 면접 질문

coldplay.xixi
풀어 주다: 2021-01-04 11:42:55
앞으로
4230명이 탐색했습니다.

2021 CSS3 면접 질문1. Box 모델 r
·标准盒模型 border, padding, content, margin
·IE盒模型 border, padding, content
·通过 box-sizing属性改变元素的盒模型
로그인 후 복사

특별 추천 :

2021 CSS 면접 질문 요약(최신)

2.css 룬 선택

R
·id选择器(#myId)·类选择器(.myClassName)·标签选择器(p, h1, p)·后代选择器(h1 p)·相邻后代选择器(子)选择器(ul > li)·兄弟选择器(li~a)·相邻兄弟选择器(li+a)·属性选择器(a[rel="external"])·伪类选择器(a:hover, li:nth-child)·伪元素选择器(::before, ::after)·通配符选择器(*)
로그인 후 복사
E

3.: before와 double의 차이점은 무엇인가요? :after?의 콜론과 단일 콜론 이 두 의사 요소의 기능은 무엇입니까?

·在 CSS3 中 : 表示伪类, :: 表示伪元素·想让插入的内容出现在其他内容前,使用::befroe。否则,使用::after
로그인 후 복사

4. CSS에서 상속할 수 있는 속성은 무엇인가요?

·每一个属性在定义中都给出了这个属性是否具有继承性,一个具有继承性的属性会在没有指定值的时候,会使用父元素的同属性的值
来作为自己的值。
·一般具有继承性的属性有,字体相关的属性,font-size和font-weight等。
·文本相关的属性,color和text-align等。
·表格的一些布局属性、列表属性如list-style等。
·还有光标属性cursor、元素可见性visibility。
·当一个属性不是继承属性的时候,我们也可以通过将它的值设置为inherit来使它从父元素那获取同名的属性值来继承。
로그인 후 복사

5. p를 가운데 맞추는 방법

- 가로 가운데 맞춤 1: p의 너비를 설정한 다음 margin:0 auto; 속성을 추가합니다.

p{
  width: 200px;
  margin: 0 auto;}
로그인 후 복사
- 가로 가운데 맞춤 2: text-align:center를 사용하여 달성합니다.
.container{
  background: rgba(0, 0, 0, .5);
  text-align: center:
  font-size: 0;}.box{
  display: inline-block;
  width: 500px;
  height: 400px;
  background-color: pink;}
로그인 후 복사

- 절대 위치의 p를 중앙에 배치

p{
  positionn: absolute;
  width: 300px;
  height: 300px;
  margin: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: pink; /* 方便看效果 */}
로그인 후 복사

- 수평 및 수직 중앙에 1

/* 确定容器的宽高,宽500高300 */p{
  position: absolute;
  width:500px;
  height: 300px;
  top: 50%;
  left: 50%;
  margin: -150px 0 0 -250px;
  background-color: pink;}
로그인 후 복사

- 수평 및 수직 중앙에 2

/* 未知容器宽高,利用 transform 属性 */p{
  position: absolute;
  width: 500px;
  height: 300px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: pink;}
로그인 후 복사

- 수평 및 수직 중앙에 3

/* 利用 flex 布局实际使用时应考虑兼容性 */.container{
  display: flex;
  align-items: center; /* 垂直居中 */
  justify-content: center; /* 水平居中 */}.container p{
  width: 100px;
  height: 100px;
  background-color: pink;}
로그인 후 복사

6 CSS3의 새로운 기능은 무엇입니까?

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

7. 설명 Flexbox(유연한 상자 레이아웃 모델)는 어떻습니까? 그리고 적용 가능한 시나리오는 무엇입니까?

·任何一个容器都可以指定为 flex 布局。行内元素也可使用 flex 布局。
·一下6个属性设置在容器上
  flex-direction  定义主轴的方向
  flex-wrap  定义“如果一条轴线排不下,如何换行”
 flex-flow  上述2个属性的简写
  justify-content  定义项目在主轴上对齐方式
  align-items  定义项目在交叉轴上如何对齐
  align-content  定义多根轴线的对齐方式

·flex 布局是CSS3新增的一种布局方式,
我们可以通过将一个元素的display属性设置为flex 从而使他成为一个flex容器,
他对我所有子元素都会称谓他的项目。
·一个容器默认有两条轴,一个是水平的主轴,一个是与主轴垂直的交叉轴。
我们可以使用flex-direction来指定主轴的方向。
我们可以使用justify-content来指定元素在主轴上的排列方式,
使用align-items来指定元素在交叉轴上的排列方式。
还可以使用flex-wrap来规定当一行排列不下时的换行方式。
로그인 후 복사

8. 순수 CSS로 삼각형을 만드시겠습니까?

/* 
  采用的是相邻边框链接处的均分原理  将元素的宽高设为0,只设置 border ,  将任意三条边隐藏掉(颜色设为 transparent ),剩下的就是一个三角形 */#demo{
  width: 0;
  height: 0;
  border-width: 20px;
  border-style: solid;
  border-color: transparent transparent red transparent;}
로그인 후 복사

9. "PIN"이라는 단어로 화면을 채우는 레이아웃을 디자인하는 방법은 무엇인가요?

·上面的 p 宽100%
·下面的两个 p 分别宽50%
·然后用 float 或者 inline 使其不换行
로그인 후 복사

10. 브라우저 호환성은 무엇인가요? *****

① 浏览器默认的 margin 和 padding 不同
解决:加一个全局 *{ margin: 0; padding: 0; }来统一
② 谷歌中文界面下默认会将小于12px 的文本强制按照12px显示
解决:使用-webkit-transform:scale(.75);收缩的是整个span盒子大小,这时候,必须将span准换成块元素。
③ 超链接访问过后hover样式就不会出现了,被点击访问过的超链接样式不再具有hover 和active 了
解决:改变css 属性的排列顺序L-V-H-A
로그인 후 복사

11. 너비: 자동과 너비: 100%

·width: 100% 会使元素box的宽度等于父元素的contentbox的宽度
·width: auto 会时元素撑满整个父元素,margin, border, padding, content 区域会自动分配水平空间
로그인 후 복사

12. base64 인코딩 사용의 장점과 단점

·base64编码是一种图片处理格式,通过特定的算法将图片编码成一长串字符串,
在页面上显示时可用该字符串来代替图片的url属性
·使用base64的优点:
① 减少一个图片的 HTTP 请求
·使用base64的缺点:
① 根据base64的编码原理,编码后的大小会比源文件大小大1/3,如果把大图片编码到html/css中,
不仅会造成文件体积增加,影响文件的加载速度,还会增加浏览器对html或css文件解析渲染的时间。
② 使用base64无法直接缓存,要缓存只能缓存包含base64的文件,比如HTML 或CSS,
这相比于直接缓存图片的效果要差很多。
③ ie8以前的浏览器不支持
一般一些网站的小图标可以使用base64图片引入
로그인 후 복사

13. 플로트를 지우는 방법?

·清除浮动是为了清除使用浮动元素产生的影响。浮动的元素,高度会塌陷,而高度的塌陷使我们页面后面的布局不能正常显示。① 额外标签法(在最后一个浮动标签后,新加一个标签,给其设置clear: both;)(不推荐)优点:通俗易懂,方便缺点:添加无意义标签,语义化差② 父级添加 overflow 属性(父元素添加 overflow: hidden)(不推荐)优点:代码简洁缺点:内容增多的时候容易造成不会自动换行,导致内容被隐藏掉,无法显示要溢出的元素③ 使用 after 伪元素清除浮动 (推荐使用).clearfix::after{
  /* 伪元素是行内元素,正常浏览器清除浮动方法 */
  content: "";
  dispaly: block;
  height: 0;
  clear: both;
  visibility: hiden;}.clearfix{
  /* *ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行 */
  *zoom: 1; }优点:符合闭合浮动思想,结构语义化正确缺点:IE6-7不支持伪元素:after,使用zoom:1触发hasLayout④ 使用before 和 after 双伪元素清除浮动.clearfix::after, .clearfix::before{
  content: "";
  display: table;}.clearfix::after{
  clear: both;}.clearfix{
  *zoom: 1;}
로그인 후 복사
14. CSS 최적화, 성능을 향상시키는 방법은 무엇인가요?

·加载性能:
① CSS 压缩:将写好的CSS 进行打包压缩,可以减少很多的体积。
② CSS单一样式:当需要下边距和左边距的时候,很多时候选择:margin: top 0 bottom 0;
但margin-top: top;margin-bottom: bottom;执行的效率更高。
·选择器性能:
① 关键选择器。选择器的最后面的部分为关键选择器(即用来匹配目标元素的部分)。
로그인 후 복사

관련 튜토리얼 권장 사항: CSS 비디오 튜토리얼

위 내용은 2021 CSS3 면접 질문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:zhihu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿