欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

前端校招面试题目合集-day09

程序员文章站 2022-03-11 16:08:31
如何实现图片在某个容器中居中的?参考答案参考回答:父元素固定宽高,利用定位及设置子元素margin值为自身的一半。父元素固定宽高,子元素设置position: absolute,margin:auto平均分配margincss3属性transform。子元素设置position: absolute; left: 50%; top: 50%;transform: translate(-50%,-50%);即可。将父元素设置成display: table, 子元素设置为单元格 displ...

如何实现图片在某个容器中居中的?

参考答案

参考回答:

父元素固定宽高,利用定位及设置子元素margin值为自身的一半。

父元素固定宽高,子元素设置position: absolute,margin:auto平均分配margin

css3属性transform。子元素设置position: absolute; left: 50%; top: 50%;transform: translate(-50%,-50%);即可。

将父元素设置成display: table, 子元素设置为单元格 display: table-cell。

弹性布局display: flex。设置align-items: center; justify-content: center

 

如何实现元素的垂直居中

参考答案

参考回答:

法一:父元素display:flex,align-items:center;

法二:元素绝对定位,top:50%,margin-top:-(高度/2)

法三:高度不确定用transform:translateY(-50%)

法四:父元素table布局,子元素设置vertical-align:center;

 

隐藏页面中某个元素的方法

参考答案

参考回答:

display:none; visibility:hidden; opacity: 0; position移到外部,z-index涂层遮盖等等

 

三栏布局的实现方式,尽可能多写,浮动布局时,三个div的生成顺序有没有影响

参考答案

参考回答:

三列布局又分为两种,两列定宽一列自适应,以及两侧定宽中间自适应

两列定宽一列自适应:

1、使用float+margin:

给div设置float:left,left的div添加属性margin-right:left和center的间隔px,right的div添加属性margin-left:left和center的宽度之和加上间隔

2、使用float+overflow:

给div设置float:left,再给right的div设置overflow:hidden。这样子两个盒子浮动,另一个盒子触发bfc达到自适应

3、使用position:

父级div设置position:relative,三个子级div设置position:absolute,这个要计算好盒子的宽度和间隔去设置位置,兼容性比较好,

4、使用table实现:

父级div设置display:table,设置border-spacing:10px//设置间距,取值随意,子级div设置display:table-cell,这种方法兼容性好,适用于高度宽度未知的情况,但是margin失效,设计间隔比较麻烦,

5、flex实现:

parent的div设置display:flex;left和center的div设置margin-right;然后right 的div设置flex:1;这样子right自适应,但是flex的兼容性不好

6、grid实现:

parent的div设置display:grid,设置grid-template-columns属性,固定第一列第二列宽度,第三列auto,

对于两侧定宽中间自适应的布局,对于这种布局需要把center放在前面,可以采用双飞翼布局:圣杯布局,来实现,也可以使用上述方法中的grid,table,flex,position实现

 

什么是BFC

参考答案

参考回答:

BFC也就是常说的块格式化上下文,这是一个独立的渲染区域,规定了内部如何布局,并且这个区域的子元素不会影响到外面的元素,其中比较重要的布局规则有内部box垂直放置,计算BFC的高度的时候,浮动元素也参与计算,触发BFC的规则有根元素,浮动元素,position为absolute或fixed的元素,display为inline-block,table-cell,table-caption,flex,inline-flex,overflow不为visible的元素

 

有一个width300,height300,怎么实现在屏幕上垂直水平居中

参考答案

参考回答:

对于行内块级元素,

1、父级元素设置text-alig:center,然后设置line-height和vertical-align使其垂直居中,最后设置font-size:0消除近似居中的bug

2、父级元素设置display:table-cell,vertical-align:middle达到水平垂直居中

3、采用绝对定位,原理是子绝父相,父元素设置position:relative,子元素设置position:absolute,然后通过transform或margin组合使用达到垂直居中效果,设置top:50%,left:50%,transform:translate(-50%,-50%)

4、绝对居中,原理是当top,bottom为0时,margin-top&bottom设置auto的话会无限延伸沾满空间并平分,当left,right为0时,margin-left&right设置auto会无限延伸占满空间并平分,

5、采用flex,父元素设置display:flex,子元素设置margin:auto

6、视窗居中,vh为视口单位,50vh即是视口高度的50/100,设置margin:50vh auto 0,transform:translate(-50%)

 

display:table和本身的table有什么区别

参考答案

参考回答:

Display:table和本身table是相对应的,区别在于,display:table的css声明能够让一个html元素和它的子节点像table元素一样,使用基于表格的css布局,是我们能够轻松定义一个单元格的边界,背景等样式,而不会产生因为使用了table那样的制表标签导致的语义化问题。

之所以现在逐渐淘汰了table系表格元素,是因为用div+css编写出来的文件比用table边写出来的文件小,而且table必须在页面完全加载后才显示,div则是逐行显示,table的嵌套性太多,没有div简洁

 

position属性的值有哪些及其区别

参考答案

参考回答:

Position属性把元素放置在一个静态的,相对的,绝对的,固定的位置中,

Static:位置设置为static的元素,他始终处于页面流给予的位置,static元素会忽略任何top,buttom,left,right声明

Relative:位置设置为relative的元素,可将其移至相对于其正常位置的地方,因此left:20会将元素移至元素正常位置左边20个像素的位置

Absolute:此元素可定位于相对包含他的元素的指定坐标,此元素可通过left,top等属性规定

Fixed:位置被设为fiexd的元素,可定为与相对浏览器窗口的指定坐标,可以通过left,top,right属性来定位

 

z-index的定位方法

参考答案

参考回答:

z-index属性设置元素的堆叠顺序,拥有更好堆叠顺序的元素会处于较低顺序元素之前,z-index可以为负,且z-index只能在定位元素上奏效,该属性设置一个定位元素沿z轴的位置,如果为正数,离用户越近,为负数,离用户越远,它的属性值有auto,默认,堆叠顺序与父元素相等,number,inherit,从父元素继承z-index属性的值

 

line-height和height的区别

参考答案

参考回答:

line-height一般是指布局里面一段文字上下行之间的高度,是针对字体来设置的,height一般是指容器的整体高度,

 

设置一个元素的背景颜色,背景颜色会填充哪些区域?

参考答案

参考回答:

background-color设置的背景颜色会填充元素的content、padding、border区域,

 

inline-block、inline和block的区别;为什么img是inline还可以设置宽高

参考答案

参考回答:

Block是块级元素,其前后都会有换行符,能设置宽度,高度,margin/padding水平垂直方向都有效。

Inline:设置width和height无效,margin在竖直方向上无效,padding在水平方向垂直方向都有效,前后无换行符

Inline-block:能设置宽度高度,margin/padding水平垂直方向 都有效,前后无换行符

本文地址:https://blog.csdn.net/qq_45065517/article/details/107324203