前端校招面试题目合集-day09
如何实现图片在某个容器中居中的?
参考答案
参考回答:
父元素固定宽高,利用定位及设置子元素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
上一篇: 网酒网登陆新三板 从James Bond到大IP现象级
下一篇: 生态力驱动酒业渠道关系加速变革